From 874120119aec9245afd68dadb6cf2f1710077a94 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 2 Sep 2019 09:38:19 +0000 Subject: [PATCH 001/111] new SDK config changes via api-contract @ 2019-09-02 09:38 --- .../public/pelion_dm_public_openapi.yaml | 65 ++++++++++++++----- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 75c7a24c9..8b2e65496 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7205,9 +7205,6 @@ paths: and get discarded before the device regains the connectivity. - See also /v2/endpoints/{device-id}/{resourcePath}. - - You can write [Notification Rules](../connecting/resource-change-webapp.html#notification-rules) for a @@ -7563,8 +7560,9 @@ paths: x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/endpoints/{device-id}/{resourcePath}: delete: - description: 'A request to delete a resource path must be handled by both Device - Management Client and Device Management + deprecated: true + description: '(DEPRECATED) A request to delete a resource path must be handled + by both Device Management Client and Device Management Connect. @@ -7628,13 +7626,22 @@ paths: description: 'Cannot accept the request at the moment: the queue is full.' 502: description: TCP or TLS connection to endpoint cannot be established. - summary: Delete a resource path. + summary: (DEPRECATED) Delete a resource path. tags: - Resources + x-deprecation: + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + The /v2/device-requests/{device-id} endpoint lets you use your own async-id, + and simplifies integration by returning cached values as events through + the event notification channel. + end_of_life_at: 2020-05-017T00:00:00+00:00 + issued_at: '2019-05-17T15:23:00+00:00' + links: [] x-origin: /home/circleci/project/device-server/public/swagger.yaml get: - description: 'Requests the resource value either from the device or cache. If - the value is not in the cache, the request goes all the + deprecated: true + description: '(DEPRECATED) Requests the resource value either from the device + or cache. If the value is not in the cache, the request goes all the way to the device. When the response is available, an `AsyncIDResponse` JSON object is received in the notification channel. @@ -7727,9 +7734,17 @@ paths: description: 'Cannot accept the request at the moment: the queue is full.' 502: description: TCP or TLS connection to endpoint cannot be established. - summary: Read from a resource. + summary: (DEPRECATED) Read from a resource. tags: - Resources + x-deprecation: + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + The /v2/device-requests/{device-id} endpoint lets you use your own async-id, + and simplifies integration by returning cached values as events through + the event notification channel. + end_of_life_at: 2020-05-017T00:00:00+00:00 + issued_at: '2019-05-17T15:23:00+00:00' + links: [] x-origin: /home/circleci/project/device-server/public/swagger.yaml post: consumes: @@ -7745,7 +7760,8 @@ paths: - application/vnd.oma.lwm2m+opaq - application/vnd.oma.lwm2m+tlv - application/vnd.oma.lwm2m+json - description: '[Execute a function](../connecting/handle-resource-webapp.html#the-execute-operation) + deprecated: true + description: '(DEPRECATED) [Execute a function](../connecting/handle-resource-webapp.html#the-execute-operation) on an existing resource and create a new Object instance on the device. The resource path does not have to exist; you can set it with the call. The maximum length of the resource path is 255 characters. @@ -7828,9 +7844,18 @@ paths: description: 'Cannot accept the request at the moment: the queue is full.' 502: description: TCP or TLS connection to endpoint cannot be established. - summary: Execute a function on a Resource or create new Object instance. + summary: (DEPRECATED) Execute a function on a Resource or create new Object + instance. tags: - Resources + x-deprecation: + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + The /v2/device-requests/{device-id} enables you to use your own async-id + and simplifies the integration by returning also the cached values as events + via the event notification channel. + end_of_life_at: 2020-05-017T00:00:00+00:00 + issued_at: '2019-05-17T15:23:00+00:00' + links: [] x-origin: /home/circleci/project/device-server/public/swagger.yaml put: consumes: @@ -7846,8 +7871,10 @@ paths: - application/vnd.oma.lwm2m+opaq - application/vnd.oma.lwm2m+tlv - application/vnd.oma.lwm2m+json - description: 'With this API, you can [write a new value to existing Resources](../connecting/handle-resource-webapp.html) - or use the **write** attribute to set [notification rules](../connecting/resource-change-webapp.html#notification-rules) + deprecated: true + description: '(DEPRECATED) With this API, you can [write a new value to existing + Resources](../connecting/handle-resource-webapp.html) or use the **write** + attribute to set [notification rules](../connecting/resource-change-webapp.html#notification-rules) for the Resources. The notification rules only work on the device client side and may not be supported by all clients. @@ -7940,10 +7967,18 @@ paths: description: 'Cannot accept the request at the moment: the queue is full.' 502: description: TCP or TLS connection to endpoint cannot be established. - summary: Write to a Resource or use write-attributes (notification rules) for - a Resource. + summary: (DEPRECATED) Write to a Resource or use write-attributes (notification + rules) for a Resource. tags: - Resources + x-deprecation: + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + The /v2/device-requests/{device-id} endpoint lets you use your own async-id, + and simplifies integration by returning cached values as events through + the event notification channel. + end_of_life_at: 2020-05-017T00:00:00+00:00 + issued_at: '2019-05-17T15:23:00+00:00' + links: [] x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/notification/callback: delete: From dc6fff5cdabe9bfc102d9471ef0b2e6465cf8839 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 2 Sep 2019 10:22:06 +0000 Subject: [PATCH 002/111] new SDK config changes via api-contract @ 2019-09-02 10:22 --- .../public/sdk_foundation_definition.json | 20662 +++++++++++----- .../public/sdk_foundation_definition.yaml | 15596 ++++++++---- 2 files changed, 26272 insertions(+), 9986 deletions(-) diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 368328a77..6f8c50d2c 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -16,7 +16,9 @@ "subtenant_api_key", "account", "policy_group", - "subtenant_policy_group" + "subtenant_policy_group", + "identity_provider", + "subtenant_identity_provider" ], "enums": [ "policy_inherited_type_enum", @@ -33,7 +35,13 @@ "account_mfa_status_enum", "account_order_enum", "policy_group_order_enum", - "subtenant_policy_group_order_enum" + "subtenant_policy_group_order_enum", + "identity_provider_status_enum", + "identity_provider_order_enum", + "identity_provider_algorithm_enum", + "subtenant_identity_provider_status_enum", + "subtenant_identity_provider_order_enum", + "subtenant_identity_provider_algorithm_enum" ], "_key": "Accounts" }, @@ -467,6 +475,47 @@ "group_id": "Device_Update", "_key": "firmware_manifest_order_enum" }, + { + "entity_name": "identity_provider", + "field_name": "algorithm", + "enum_name": "identity_provider_algorithm_enum", + "values": [ + "EC224", + "EC256", + "EC384", + "EC521", + "ECDSA224", + "ECDSA256", + "ECDSA384", + "ECDSA521", + "RSA2048", + "RSA3072" + ], + "group_id": "Accounts", + "_key": "identity_provider_algorithm_enum" + }, + { + "entity_name": "identity_provider", + "field_name": "order", + "enum_name": "identity_provider_order_enum", + "values": [ + "ASC", + "DESC" + ], + "group_id": "Accounts", + "_key": "identity_provider_order_enum" + }, + { + "entity_name": "identity_provider", + "field_name": "status", + "enum_name": "identity_provider_status_enum", + "values": [ + "ACTIVE", + "SUSPENDED" + ], + "group_id": "Accounts", + "_key": "identity_provider_status_enum" + }, { "entity_name": "light_theme_color", "field_name": "reference", @@ -654,6 +703,47 @@ "group_id": "Branding", "_key": "subtenant_dark_theme_image_reference_enum" }, + { + "entity_name": "subtenant_identity_provider", + "field_name": "algorithm", + "enum_name": "subtenant_identity_provider_algorithm_enum", + "values": [ + "EC224", + "EC256", + "EC384", + "EC521", + "ECDSA224", + "ECDSA256", + "ECDSA384", + "ECDSA521", + "RSA2048", + "RSA3072" + ], + "group_id": "Accounts", + "_key": "subtenant_identity_provider_algorithm_enum" + }, + { + "entity_name": "subtenant_identity_provider", + "field_name": "order", + "enum_name": "subtenant_identity_provider_order_enum", + "values": [ + "ASC", + "DESC" + ], + "group_id": "Accounts", + "_key": "subtenant_identity_provider_order_enum" + }, + { + "entity_name": "subtenant_identity_provider", + "field_name": "status", + "enum_name": "subtenant_identity_provider_status_enum", + "values": [ + "ACTIVE", + "SUSPENDED" + ], + "group_id": "Accounts", + "_key": "subtenant_identity_provider_status_enum" + }, { "entity_name": "subtenant_light_theme_color", "field_name": "reference", @@ -43269,56 +43359,509 @@ }, { "swagger_models": [ - "BrandingColor", - "BrandingColorList" + "CertificateGenerationReq", + "IdentityProviderCreationReq", + "IdentityProviderInfo", + "IdentityProviderList", + "IdentityProviderUpdateReq" ], - "primary_key_field": "reference", + "primary_key_field": "id", "methods": [ { - "description": "Resets the branding color to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Create a new identity provider.", "field_renames": [], "fields": [ { - "is_primary_key": true, - "_override": true, "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "in": "query", + "name": "discovery", + "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", + "type": "boolean", + "allowEmptyValue": true, + "entity_fieldname": "discovery", + "api_fieldname": "discovery", + "external_param": true, + "parameter_fieldname": "discovery", + "required": false, + "_key": "discovery" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "name": "oidc_attributes", + "in": "body", + "schema_param": true, + "entity_fieldname": "oidc_attributes", + "api_fieldname": "oidc_attributes", + "external_param": true, + "parameter_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" + "ACTIVE", + "SUSPENDED" ], - "name": "reference", - "in": "path", - "description": "The name of the branding color.", - "required": true, - "enum_reference": "light_theme_color_reference_enum", - "_key": "reference" + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" } ], - "method": "delete", - "mode": "delete", + "method": "post", + "mode": "create", "responses": [ { - "description": "Deleted successfully.", - "_key": "204" + "description": "New entity created.", + "headers": [ + { + "type": "string", + "description": "/v3/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + }, + { + "type": "string", + "description": "/v3/identity-providers/{identity_provider_id}", + "_key": "Location" + } + ], + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_identity_provider" + } + }, + "_key": "201" }, { - "description": "Authentication failure.", + "description": "Error in input data, for example, name is too long.", "schema": { "type": "object", "required": [ @@ -43388,10 +43931,10 @@ } ] }, - "_key": "401" + "_key": "400" }, { - "description": "Forbidden.", + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -43461,10 +44004,10 @@ } ] }, - "_key": "403" + "_key": "401" }, { - "description": "Color not found.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -43534,16 +44077,16 @@ } ] }, - "_key": "404" + "_key": "403" } ], - "path": "/v3/branding-colors/light/{reference}", - "summary": "Reset branding color to default.", - "return_type": "void", + "path": "/v3/identity-providers", + "summary": "Create a new identity provider.", + "return_type": "identity_provider", "return_info": { - "self": false, - "custom": true, - "type": "void" + "self": true, + "custom": false, + "type": "identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -43551,178 +44094,122 @@ "object", "etag", "type", - "filter" + "filter", + "id", + "created_at", + "updated_at", + "account_id", + "is_default" ], - "group_id": "Branding", - "operation_id": "resetLightColor", - "spec": { - "return_type": "void" + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" }, + "operation_id": "createIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "delete" + "_key": "create" }, { - "description": "Retrieve the light theme branding colors.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an identity provider by ID.", "field_renames": [], "fields": [ { - "is_primary_key": true, - "_override": true, + "name": "identity_provider_id", + "in": "path", + "description": "The ID of the identity provider to delete.", + "required": true, "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", - "_key": "reference" + "entity_fieldname": "id", + "api_fieldname": "identity_provider_id", + "external_param": false, + "parameter_fieldname": "identity_provider_id", + "_key": "id" } ], - "method": "get", - "mode": "list", + "method": "delete", + "mode": "delete", "responses": [ { - "description": "Successful operation.", + "description": "Deleted successfully.", + "_key": "204" + }, + { + "description": "Authentication failure.", "schema": { "type": "object", "required": [ - "data", - "has_more", - "limit", + "code", + "message", "object", - "total_count" + "request_id", + "type" ], "properties": [ { - "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "_key": "after" + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" }, { "type": "array", - "description": "A list of entities.", + "description": "Request fields which failed validation.", "items": { "type": "object", + "required": [ + "name", + "message" + ], "properties": [ { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "_key": "color" - }, - { - "type": "string", - "description": "Entity name: always 'branding_color'", - "readOnly": true, - "enum": [ - "branding_color" - ], - "_key": "object" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "_key": "reference" + "description": "Message describing the error condition.", + "_key": "message" }, { "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "_key": "updated_at" + "description": "Name of the field which caused the error.", + "_key": "name" } - ], - "foreign_key": { - "group": "Branding", - "entity": "dark_theme_color" - } + ] }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" - }, - { - "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" + "_key": "fields" }, { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return, or equal to `total_count`.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "_key": "limit" + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" }, { "type": "string", - "description": "Entity name: always `list`.", + "description": "Entity name, always `error`.", "enum": [ - "list" + "error" ], - "api_fieldname": "object", - "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "The order of the records to return based on creation time. Available values: ASC, DESC; by default ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "_key": "order" + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" }, { - "type": "integer", - "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" } - ], - "pagination": true, - "foreign_key": { - "group": "Branding", - "entity": "light_theme_color" - } + ] }, - "_key": "200" + "_key": "401" }, { - "description": "Authentication failure.", + "description": "Forbidden, or identity provider is in use.", "schema": { "type": "object", "required": [ @@ -43792,10 +44279,10 @@ } ] }, - "_key": "401" + "_key": "403" }, { - "description": "Forbidden.", + "description": "Identity provider not found.", "schema": { "type": "object", "required": [ @@ -43865,16 +44352,16 @@ } ] }, - "_key": "403" + "_key": "404" } ], - "path": "/v3/branding-colors/light", - "summary": "Get light theme branding colors.", - "return_type": "paginated_response(light_theme_color)", + "path": "/v3/identity-providers/{identity_provider_id}", + "summary": "Delete an identity provider by ID.", + "return_type": "identity_provider", "return_info": { "self": true, "custom": false, - "type": "light_theme_color" + "type": "identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -43882,147 +44369,218 @@ "object", "etag", "type", - "filter", - "limit", - "after", - "order", - "total_count", - "has_more", - "data" + "filter" ], - "foreign_key_priority": "self", - "group_id": "Branding", - "operation_id": "getLightColors", - "pagination": true, - "foreign_key": { - "group": "Branding", - "entity": "light_theme_color" + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" }, + "operation_id": "deleteIdentityProvider", + "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "list" + "_key": "delete" }, { - "description": "Retrieve the requested light theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a service provider certificate.", "field_renames": [], "fields": [ { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, - "enum_reference": "light_theme_color_reference_enum", - "_key": "reference" + "_key": "id" } ], - "method": "get", - "mode": "read", + "method": "post", + "mode": "delete_service_provider_certificate", "responses": [ { "description": "Successful operation.", + "headers": [ + { + "type": "string", + "description": "/v3/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + } + ], "schema": { "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], "properties": [ { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "_key": "color" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { "type": "string", - "description": "Entity name: always 'branding_color'", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", "enum": [ - "branding_color" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", - "name": "object", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", - "required": false, "_key": "object" }, { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" + "ACTIVE", + "SUSPENDED" ], + "api_fieldname": "status", + "entity_fieldname": "status", + "_key": "status" + }, + { "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "dark_theme_color_reference_enum", - "_key": "reference" + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "_key": "type" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, "_key": "updated_at" } ], "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_color" + "group": "Accounts", + "entity": "subtenant_identity_provider" } }, "_key": "200" @@ -44174,7 +44732,7 @@ "_key": "403" }, { - "description": "Color not found.", + "description": "Identity provider not found.", "schema": { "type": "object", "required": [ @@ -44247,13 +44805,13 @@ "_key": "404" } ], - "path": "/v3/branding-colors/light/{reference}", - "summary": "Get light theme branding color.", - "return_type": "light_theme_color", + "path": "/v3/identity-providers/{identity_provider_id}/delete-sp-certificate", + "summary": "Delete the service provider certificate.", + "return_type": "identity_provider", "return_info": { "self": true, "custom": false, - "type": "light_theme_color" + "type": "identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -44262,168 +44820,271 @@ "etag", "type", "filter", - "color", - "updated_at" + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "account_id", + "is_default" ], - "group_id": "Branding", - "operation_id": "getLightColor", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "deleteSpCertificate", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "delete_service_provider_certificate" }, { - "description": "Update light theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "description": "Generate a new service provider certificate.", "field_renames": [], "fields": [ { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", + "description": "The algorithm and its key size used for generating the certificate. Defaults to RSA2048.", + "enum": [ + "RSA2048", + "RSA3072", + "EC224", + "EC256", + "EC384", + "EC521", + "ECDSA224", + "ECDSA256", + "ECDSA384", + "ECDSA521" + ], + "name": "algorithm", "in": "body", + "schema_param": true, + "entity_fieldname": "algorithm", + "api_fieldname": "algorithm", + "external_param": true, + "parameter_fieldname": "algorithm", "required": false, - "_key": "color" + "enum_reference": "identity_provider_algorithm_enum", + "_key": "algorithm" }, { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, - "enum_reference": "light_theme_color_reference_enum", - "_key": "reference" + "_key": "id" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", + "type": "integer", + "format": "int32", + "description": "Validity for the certificate in days.", + "name": "validity", "in": "body", + "schema_param": true, + "entity_fieldname": "validity", + "api_fieldname": "validity", + "external_param": true, + "parameter_fieldname": "validity", "required": false, - "_key": "updated_at" + "_key": "validity" } ], - "method": "put", - "mode": "update", + "method": "post", + "mode": "generate_service_provider_certificate", "responses": [ { - "description": "Color has been set successfully.", + "description": "Successful operation.", + "headers": [ + { + "type": "string", + "description": "/v3/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + } + ], "schema": { "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], "properties": [ { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "_key": "color" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { "type": "string", - "description": "Entity name: always 'branding_color'", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", "enum": [ - "branding_color" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", - "name": "object", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", - "required": false, "_key": "object" }, { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" + "ACTIVE", + "SUSPENDED" ], + "api_fieldname": "status", + "entity_fieldname": "status", + "_key": "status" + }, + { "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "dark_theme_color_reference_enum", - "_key": "reference" + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "_key": "type" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, "_key": "updated_at" } ], "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_color" + "group": "Accounts", + "entity": "subtenant_identity_provider" } }, "_key": "200" }, { - "description": "Error in input data format.", + "description": "Error in input data, for example, invalid certificate validity value.", "schema": { "type": "object", "required": [ @@ -44642,7 +45303,7 @@ "_key": "403" }, { - "description": "Color not found.", + "description": "Identity provider not found.", "schema": { "type": "object", "required": [ @@ -44715,13 +45376,13 @@ "_key": "404" } ], - "path": "/v3/branding-colors/light/{reference}", - "summary": "Updates light theme branding color.", - "return_type": "light_theme_color", + "path": "/v3/identity-providers/{identity_provider_id}/generate-sp-certificate", + "summary": "Generate a new service provider certificate.", + "return_type": "identity_provider", "return_info": { "self": true, "custom": false, - "type": "light_theme_color" + "type": "identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -44729,232 +45390,328 @@ "object", "etag", "type", - "filter" - ], - "group_id": "Branding", - "operation_id": "setLightColor", - "additional_operations": [ - { - "operation_id": "bulkSetLightColors", - "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." - } + "filter", + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "account_id", + "is_default" ], + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "generateSpCertificate", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "update" - } - ], - "fields": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "readOnly": false, - "_key": "color" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", - "required": false, - "enum_reference": "light_theme_color_reference_enum", - "readOnly": false, - "_key": "reference" + "_key": "generate_service_provider_certificate" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "User interface configuration - colors" - ], - "group_id": "Branding", - "_key": "light_theme_color" - }, - { - "swagger_models": [ - "BrandingImage", - "BrandingImageList" - ], - "primary_key_field": "reference", - "methods": [ - { - "description": "Revert an account branding image to light theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve identity providers in an array.", "field_renames": [], "fields": [ { - "is_primary_key": true, - "_override": true, "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" + "ASC", + "DESC" ], - "name": "reference", - "in": "path", - "description": "Name of the branding images (icon or picture).", - "required": true, - "enum_reference": "light_theme_image_reference_enum", - "_key": "reference" + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "identity_provider_order_enum", + "_key": "order" } ], - "method": "post", - "mode": "delete", + "method": "get", + "mode": "list", "responses": [ { - "description": "Image reverted successfully.", - "_key": "204" - }, - { - "description": "Authentication failure.", + "description": "Successful operation.", "schema": { "type": "object", "required": [ - "code", - "message", + "data", + "has_more", + "limit", "object", - "request_id", - "type" + "total_count" ], "properties": [ { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "_key": "after" }, { "type": "array", - "description": "Request fields which failed validation.", + "description": "A list of entities.", "items": { "type": "object", "required": [ + "etag", + "id", "name", - "message" + "object", + "type" ], "properties": [ { "type": "string", - "description": "Message describing the error condition.", - "_key": "message" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" }, { "type": "string", - "description": "Name of the field which caused the error.", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" } - ] + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } }, - "_key": "fields" + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" }, { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return , or equal to `total_count`.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "_key": "limit" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always `list`.", "enum": [ - "error" + "list" ], + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, + "description": "The order of the records to return based on creation time. Available values: ASC, DESC; by default ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "_key": "order" + }, { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" } - ] + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } }, - "_key": "401" + "_key": "200" }, { - "description": "Forbidden.", + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -45024,10 +45781,10 @@ } ] }, - "_key": "403" + "_key": "401" }, { - "description": "Unknown image reference.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -45097,16 +45854,16 @@ } ] }, - "_key": "404" + "_key": "403" } ], - "path": "/v3/branding-images/light/{reference}/clear", - "summary": "Revert an image to light theme default.", - "return_type": "light_theme_image", + "path": "/v3/identity-providers", + "summary": "Get all identity providers.", + "return_type": "paginated_response(identity_provider)", "return_info": { "self": true, "custom": false, - "type": "light_theme_image" + "type": "identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -45114,191 +45871,219 @@ "object", "etag", "type", - "filter" + "filter", + "total_count", + "has_more", + "data" ], - "group_id": "Branding", - "operation_id": "clearLightImage", - "pagination": false, + "foreign_key_priority": "self", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "getAllIdentityProviders", + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + }, "request_content_type": "application/json", "request_body": "json", - "_key": "delete" + "_key": "list" }, { - "description": "Retrieve the metadata of all light theme branding images.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve by ID.", "field_renames": [], "fields": [ { - "is_primary_key": true, - "_override": true, "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", - "_key": "reference" + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" } ], "method": "get", - "mode": "list", + "mode": "read", "responses": [ { "description": "Successful operation.", "schema": { "type": "object", "required": [ - "data", - "has_more", - "limit", + "etag", + "id", + "name", "object", - "total_count" + "type" ], "properties": [ { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "_key": "after" + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { - "type": "array", - "description": "A list of entities.", - "items": { - "type": "object", - "properties": [ - { - "type": "string", - "description": "Entity name: always 'branding_image'", - "readOnly": true, - "enum": [ - "branding_image" - ], - "_key": "object" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "_key": "static_uri" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "dark_theme_image" - } - }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" }, { "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" }, { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return, or equal to `total_count`.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "_key": "limit" + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" }, { "type": "string", - "description": "Entity name: always `list`.", + "description": "Entity name: always 'identity-provider'", "enum": [ - "list" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "_key": "saml2_attributes" + }, { "type": "string", - "description": "The order of the records to return based on creation time. Available values: ASC, DESC; by default ASC.", + "description": "Status of the identity provider.", "enum": [ - "ASC", - "DESC" + "ACTIVE", + "SUSPENDED" ], - "api_fieldname": "order", - "entity_fieldname": "order", - "_key": "order" + "api_fieldname": "status", + "entity_fieldname": "status", + "_key": "status" }, { - "type": "integer", - "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" } ], - "pagination": true, "foreign_key": { - "group": "Branding", - "entity": "light_theme_image" + "group": "Accounts", + "entity": "subtenant_identity_provider" } }, "_key": "200" @@ -45448,346 +46233,9 @@ ] }, "_key": "403" - } - ], - "path": "/v3/branding-images/light", - "summary": "Get metadata of all light theme images.", - "return_type": "paginated_response(light_theme_image)", - "return_info": { - "self": true, - "custom": false, - "type": "light_theme_image" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "limit", - "after", - "order", - "total_count", - "has_more", - "data" - ], - "foreign_key_priority": "self", - "group_id": "Branding", - "operation_id": "getAllLightImageData", - "pagination": true, - "foreign_key": { - "group": "Branding", - "entity": "light_theme_image" - }, - "request_content_type": "application/json", - "request_body": "json", - "_key": "list" - }, - { - "description": "Retrieve metadata for one account light theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", - "field_renames": [], - "fields": [ - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "light_theme_image_reference_enum", - "_key": "reference" - } - ], - "method": "get", - "mode": "read", - "responses": [ - { - "description": "Successful operation.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "description": "Entity name: always 'branding_image'", - "readOnly": true, - "enum": [ - "branding_image" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "dark_theme_image_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_image" - } - }, - "_key": "200" }, { - "description": "Authentication failure.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "401" - }, - { - "description": "Forbidden.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "403" - }, - { - "description": "Unknown image reference.", + "description": "Identity provider not found.", "schema": { "type": "object", "required": [ @@ -45860,13 +46308,13 @@ "_key": "404" } ], - "path": "/v3/branding-images/light/{reference}", - "summary": "Get metadata of a light theme image.", - "return_type": "light_theme_image", + "path": "/v3/identity-providers/{identity_provider_id}", + "summary": "Get identity provider by ID.", + "return_type": "identity_provider", "return_info": { "self": true, "custom": false, - "type": "light_theme_image" + "type": "identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -45875,198 +46323,231 @@ "etag", "type", "filter", - "static_uri", - "updated_at" + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "account_id", + "is_default" ], - "group_id": "Branding", - "operation_id": "getLightImageData", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "getIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", "_key": "read" }, { - "description": "Upload a new account branding image as form data in the light theme in PNG or JPEG format.", + "description": "Refreshes an OIDC IdP's signing keys.", "field_renames": [], "fields": [ { - "in": "stream", - "name": "image", - "description": "The image in PNG or JPEG format as multipart form data.", - "required": true, - "type": "file", - "entity_fieldname": "image", - "api_fieldname": "image", - "external_param": true, - "parameter_fieldname": "image", - "_key": "image" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, - "enum_reference": "light_theme_image_reference_enum", - "_key": "reference" + "_key": "id" } ], "method": "post", - "mode": "update", + "mode": "refresh_tokens", "responses": [ { - "description": "Image uploaded successfully.", + "description": "Successful operation.", "headers": [ { "type": "string", - "description": "Location of the image metadata.", + "description": "/v3/identity-providers/{identity_provider_id}", "_key": "Content-Location" - }, - { - "type": "string", - "description": "Location of the image binary.", - "_key": "Location" } ], "schema": { "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], "properties": [ { "type": "string", - "description": "Entity name: always 'branding_image'", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", "enum": [ - "branding_image" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "_key": "saml2_attributes" + }, + { "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "dark_theme_image_reference_enum", - "_key": "reference" + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "_key": "status" }, { "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "_key": "type" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", "_key": "updated_at" } ], "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_image" + "group": "Accounts", + "entity": "subtenant_identity_provider" } }, - "_key": "201" + "_key": "200" }, { - "description": "Error in input data format, for example, image is too large.", + "description": "Not an OIDC IdP or JWKS URI is unspecified.", "schema": { "type": "object", "required": [ @@ -46285,7 +46766,7 @@ "_key": "403" }, { - "description": "Unknown image reference.", + "description": "Identity provider not found.", "schema": { "type": "object", "required": [ @@ -46358,13 +46839,13 @@ "_key": "404" } ], - "path": "/v3/branding-images/light/{reference}/upload-multipart", - "summary": "Upload a light theme image.", - "return_type": "light_theme_image", + "path": "/v3/identity-providers/{identity_provider_id}/refresh-jwks", + "summary": "Refreshes the OIDC signing keys.", + "return_type": "identity_provider", "return_info": { "self": true, "custom": false, - "type": "light_theme_image" + "type": "identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -46373,638 +46854,520 @@ "etag", "type", "filter", - "static_uri", - "updated_at" - ], - "group_id": "Branding", - "operation_id": "uploadLightImageMultipart", - "additional_operations": [ - { - "operation_id": "uploadLightImage", - "notes": "The multipart request is more generic and better supported by SDKs." - } + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "account_id", + "is_default" ], + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "refreshJwks", "pagination": false, - "request_content_type": "multipart/form-data", - "request_body": "file", - "_key": "update" - } - ], - "fields": [ - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", - "required": false, - "enum_reference": "light_theme_image_reference_enum", - "readOnly": false, - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "required": false, - "_key": "static_uri" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "User interface configuration - images" - ], - "group_id": "Branding", - "_key": "light_theme_image" - }, - { - "swagger_models": [ - "LoginHistory" - ], - "primary_key_field": null, - "methods": [], - "fields": [ - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T17:52:07Z", - "description": "UTC time RFC3339 for this login attempt.", - "api_fieldname": "date", - "readOnly": true, - "required": false, - "_key": "date" + "request_content_type": "application/json", + "request_body": "json", + "_key": "refresh_tokens" }, { - "type": "string", - "example": "127.0.0.1", - "description": "IP address of the client.", - "api_fieldname": "ip_address", - "readOnly": true, - "required": false, - "_key": "ip_address" - }, - { - "type": "boolean", - "example": true, - "description": "Flag indicating whether login attempt was successful or not.", - "api_fieldname": "success", - "readOnly": true, - "required": false, - "_key": "success" - }, - { - "type": "string", - "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", - "description": "User Agent header from the login request.", - "api_fieldname": "user_agent", - "readOnly": true, - "required": false, - "_key": "user_agent" - } - ], - "field_renames": [], - "tags": [], - "group_id": "Accounts", - "_key": "login_history" - }, - { - "swagger_models": [ - "LoginProfile" - ], - "primary_key_field": "id", - "methods": [], - "fields": [ - { - "type": "string", - "description": "ID of the identity provider.", - "readOnly": false, - "_override": true, - "api_fieldname": "id", - "required": false, - "_key": "id" - }, - { - "type": "string", - "readOnly": false, - "description": "Name of the identity provider.", - "_override": true, - "api_fieldname": "name", - "required": false, - "_key": "name" - } - ], - "field_renames": [], - "tags": [], - "group_id": "Accounts", - "_key": "login_profile" - }, - { - "swagger_models": [ - "ParentAccountInfo" - ], - "primary_key_field": "id", - "methods": [], - "fields": [ - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "example": "info@arm.com", - "description": "The email address of the admin user who is the contact person of the parent account.", - "api_fieldname": "admin_email", - "readOnly": true, - "required": false, - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "example": "J. Doe", - "description": "The name of the admin user who is the contact person of the parent account.", - "api_fieldname": "admin_name", - "readOnly": true, - "required": false, - "_key": "admin_name" - }, - { - "type": "string", - "example": "01619571dad80242ac12000600000000", - "description": "The ID of the parent account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "readOnly": true, - "required": false, - "_key": "id" - } - ], - "field_renames": [], - "tags": [], - "group_id": "Accounts", - "_key": "parent_account" - }, - { - "swagger_models": [ - "PasswordPolicy" - ], - "primary_key_field": null, - "methods": [], - "fields": [ - { - "type": "integer", - "minimum": 8, - "maximum": 512, - "example": "8", - "description": "Minimum length for the password.", - "api_fieldname": "minimum_length", - "readOnly": true, - "required": false, - "_key": "minimum_length" - } - ], - "field_renames": [], - "tags": [], - "group_id": "Accounts", - "_key": "password_policy" - }, - { - "swagger_models": [ - "FeaturePolicy" - ], - "primary_key_field": null, - "methods": [], - "fields": [ - { - "type": "string", - "example": "GET", - "description": "Comma-separated list of actions, empty string represents all actions.", - "api_fieldname": "action", - "readOnly": true, - "required": false, - "_key": "action" - }, - { - "type": "boolean", - "example": true, - "description": "True or false controlling whether an action is allowed or not.", - "api_fieldname": "allow", - "readOnly": true, - "required": false, - "_key": "allow" - }, - { - "type": "string", - "example": "update-campaigns", - "description": "Feature name corresponding to this policy.", - "api_fieldname": "feature", - "readOnly": true, - "required": false, - "_key": "feature" - }, - { - "type": "boolean", - "example": false, - "description": "Flag indicating whether this feature is inherited or overwritten specifically.", - "readOnly": true, - "api_fieldname": "inherited", - "required": false, - "_key": "inherited" - }, - { - "type": "string", - "example": "016ada3ec2d46665bf66e32e00000000", - "description": "An ID indicating where this policy is inherited from.", - "pattern": "[a-f0-9]{32}", - "readOnly": true, - "api_fieldname": "inherited_from", - "required": false, - "_key": "inherited_from" - }, - { - "type": "string", - "example": "account", - "description": "Indicates the type of entity this policy is inherited from.", - "readOnly": true, - "enum": [ - "account", - "template", - "tier_template" - ], - "api_fieldname": "inherited_type", - "required": false, - "enum_reference": "policy_inherited_type_enum", - "_key": "inherited_type" - }, - { - "type": "string", - "example": "/v3/update-campaign", - "description": "Resource that is protected by this policy.", - "api_fieldname": "resource", - "readOnly": true, - "required": false, - "_key": "resource" - } - ], - "field_renames": [], - "tags": [], - "group_id": "Accounts", - "_key": "policy" - }, - { - "swagger_models": [ - "ApiKeyInfoRespList", - "GroupSummary", - "GroupSummaryList", - "UserInfoRespList" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "Manage policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Update an existing identity provider.", "field_renames": [], "fields": [ { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", "required": false, + "_key": "description" + }, + { + "in": "query", + "name": "discovery", + "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", + "type": "boolean", + "allowEmptyValue": true, + "entity_fieldname": "discovery", + "api_fieldname": "discovery", "external_param": true, - "parameter_fieldname": "after", - "_key": "after" + "parameter_fieldname": "discovery", + "required": false, + "_key": "discovery" }, { - "name": "group_id", - "in": "path", - "description": "The ID of the group.", - "required": true, "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", "entity_fieldname": "id", - "api_fieldname": "group_id", - "external_param": false, - "parameter_fieldname": "group_id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, "_key": "id" }, { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", - "external_param": true, - "parameter_fieldname": "include", - "_key": "include" + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" }, { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", + "type": "object", "required": false, - "default": 50, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "name": "oidc_attributes", + "in": "body", + "schema_param": true, + "entity_fieldname": "oidc_attributes", + "api_fieldname": "oidc_attributes", "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" + "parameter_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Status of the identity provider.", "enum": [ - "ASC", - "DESC" + "ACTIVE", + "SUSPENDED" ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "policy_group_order_enum", - "_key": "order" + "enum_reference": "identity_provider_status_enum", + "_key": "status" } ], - "method": "get", - "mode": "api_keys", + "method": "put", + "mode": "update", "responses": [ { "description": "Successful operation.", "schema": { "type": "object", "required": [ - "data", - "has_more", - "limit", + "etag", + "id", + "name", "object", - "total_count" + "type" ], "properties": [ { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { - "type": "array", - "description": "A list of entities.", - "items": { - "type": "object", - "required": [ - "etag", - "id", - "key", - "name", - "object" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "_key": "created_at" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "_key": "creation_time" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "_key": "last_login_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always 'api-key'", - "enum": [ - "api-key" - ], - "_key": "object" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "_key": "status" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - } - ], - "description": "Represents an API key in Device Management.", - "foreign_key": { - "group": "Accounts", - "entity": "api_key" - } - }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" }, { "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" }, { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" }, { "type": "string", - "description": "Entity name: always `list`.", + "description": "Entity name: always 'identity-provider'", "enum": [ - "list" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "_key": "saml2_attributes" + }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Status of the identity provider.", "enum": [ - "ASC", - "DESC" + "ACTIVE", + "SUSPENDED" ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "account_order_enum", - "_key": "order" + "api_fieldname": "status", + "entity_fieldname": "status", + "_key": "status" }, { - "type": "integer", - "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" } ], - "pagination": true, "foreign_key": { "group": "Accounts", - "entity": "api_key" + "entity": "subtenant_identity_provider" } }, "_key": "200" }, { - "description": "Authentication failure.", + "description": "Error in input data, for example, missing name.", "schema": { "type": "object", "required": [ @@ -47074,10 +47437,10 @@ } ] }, - "_key": "401" + "_key": "400" }, { - "description": "Forbidden.", + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -47147,10 +47510,10 @@ } ] }, - "_key": "403" + "_key": "401" }, { - "description": "A group with that ID does not exist.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -47220,294 +47583,10 @@ } ] }, - "_key": "404" - } - ], - "path": "/v3/policy-groups/{group_id}/api-keys", - "summary": "Get the API keys of a group.", - "return_type": "paginated_response(api_key)", - "return_info": { - "self": false, - "custom": false, - "type": "api_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "total_count", - "has_more", - "data" - ], - "group_id": "Accounts", - "parameter_map": { - "group_id": "id" - }, - "operation_id": "getApiKeysOfGroup", - "foreign_key": { - "entity": "api_key" - }, - "pagination": true, - "request_content_type": "application/json", - "request_body": "json", - "_key": "api_keys" - }, - { - "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", - "field_renames": [], - "fields": [ - { - "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, - "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", - "external_param": true, - "parameter_fieldname": "include", - "_key": "include" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "policy_group_order_enum", - "_key": "order" - } - ], - "method": "get", - "mode": "list", - "responses": [ - { - "description": "Successful operation.", - "schema": { - "type": "object", - "required": [ - "data", - "has_more", - "limit", - "object", - "total_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "type": "array", - "description": "A list of entities.", - "items": { - "type": "object", - "required": [ - "account_id", - "apikey_count", - "etag", - "id", - "name", - "object", - "user_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "_key": "created_at" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always `group`.", - "enum": [ - "group" - ], - "_key": "object" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "_key": "user_count" - } - ], - "description": "This object contains basic information about groups.", - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - } - }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" - }, - { - "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Entity name: always `list`.", - "enum": [ - "list" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "subtenant_api_key_order_enum", - "_key": "order" - }, - { - "type": "integer", - "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" - } - ], - "pagination": true, - "foreign_key": { - "group": "Accounts", - "entity": "policy_group" - } - }, - "_key": "200" + "_key": "403" }, { - "description": "Authentication failure.", + "description": "Identity provider not found.", "schema": { "type": "object", "required": [ @@ -47577,244 +47656,233 @@ } ] }, - "_key": "401" - }, - { - "description": "Forbidden.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "403" + "_key": "404" } ], - "path": "/v3/policy-groups", - "summary": "Get all group information.", - "return_type": "paginated_response(policy_group)", + "path": "/v3/identity-providers/{identity_provider_id}", + "summary": "Update an existing identity provider.", + "return_type": "identity_provider", "return_info": { "self": true, "custom": false, - "type": "policy_group" - }, - "x_filter": { - "name": [ - "eq" - ] + "type": "identity_provider" }, + "x_filter": {}, "x_deprecation": null, "drop_fields": [ "object", "etag", "type", "filter", - "total_count", - "has_more", - "data", - "name__eq" + "created_at", + "updated_at", + "account_id", + "is_default" ], - "foreign_key_priority": "self", "group_id": "Accounts", "parameter_map": { - "group_id": "id" - }, - "operation_id": "getAllGroups", - "pagination": true, - "foreign_key": { - "group": "Accounts", - "entity": "policy_group" + "identity_provider_id": "id" }, + "operation_id": "updateIdentityProvider", + "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "list" + "_key": "update" + } + ], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "readOnly": true, + "required": false, + "_key": "account_id" }, { - "description": "Retrieve general information about a group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "readOnly": false, + "required": false, + "_key": "description" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "readOnly": false, + "required": true, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "required": false, + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "readOnly": false, + "required": true, + "_key": "name" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "readOnly": false, + "required": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "readOnly": false, + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "readOnly": true, + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Account - identity providers" + ], + "group_id": "Accounts", + "_key": "identity_provider" + }, + { + "swagger_models": [ + "BrandingColor", + "BrandingColorList" + ], + "primary_key_field": "reference", + "methods": [ + { + "description": "Resets the branding color to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { + "is_primary_key": true, + "_override": true, "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "group_id", + "api_fieldname": "reference", + "entity_fieldname": "reference", + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "name": "reference", "in": "path", + "description": "The name of the branding color.", "required": true, - "_key": "id" + "enum_reference": "light_theme_color_reference_enum", + "_key": "reference" } ], - "method": "get", - "mode": "read", + "method": "delete", + "mode": "delete", "responses": [ { - "description": "Successful operation.", - "schema": { - "type": "object", - "required": [ - "account_id", - "apikey_count", - "etag", - "id", - "name", - "object", - "user_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "api_fieldname": "apikey_count", - "entity_fieldname": "apikey_count", - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always `group`.", - "enum": [ - "group" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "api_fieldname": "user_count", - "entity_fieldname": "user_count", - "_key": "user_count" - } - ], - "description": "This object contains basic information about groups.", - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - } - }, - "_key": "200" + "description": "Deleted successfully.", + "_key": "204" }, { "description": "Authentication failure.", @@ -47963,7 +48031,7 @@ "_key": "403" }, { - "description": "A group with that ID does not exist.", + "description": "Color not found.", "schema": { "type": "object", "required": [ @@ -48036,13 +48104,13 @@ "_key": "404" } ], - "path": "/v3/policy-groups/{group_id}", - "summary": "Get group information.", - "return_type": "policy_group", + "path": "/v3/branding-colors/light/{reference}", + "summary": "Reset branding color to default.", + "return_type": "void", "return_info": { - "self": true, - "custom": false, - "type": "policy_group" + "self": false, + "custom": true, + "type": "void" }, "x_filter": {}, "x_deprecation": null, @@ -48050,102 +48118,33 @@ "object", "etag", "type", - "filter", - "created_at", - "updated_at", - "account_id", - "name", - "user_count", - "apikey_count" + "filter" ], - "group_id": "Accounts", - "parameter_map": { - "group_id": "id" + "group_id": "Branding", + "operation_id": "resetLightColor", + "spec": { + "return_type": "void" }, - "operation_id": "getGroupSummary", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "delete" }, { - "description": "Retrieve users of a group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the light theme branding colors.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { + "is_primary_key": true, + "_override": true, "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "name": "group_id", - "in": "path", - "description": "The ID of the group.", - "required": true, - "type": "string", - "entity_fieldname": "id", - "api_fieldname": "group_id", - "external_param": false, - "parameter_fieldname": "group_id", - "_key": "id" - }, - { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, - "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", - "external_param": true, - "parameter_fieldname": "include", - "_key": "include" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "policy_group_order_enum", - "_key": "order" + "api_fieldname": "reference", + "entity_fieldname": "reference", + "_key": "reference" } ], "method": "get", - "mode": "users", + "mode": "list", "responses": [ { "description": "Successful operation.", @@ -48166,11 +48165,6 @@ "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", "_key": "after" }, { @@ -48178,372 +48172,60 @@ "description": "A list of entities.", "items": { "type": "object", - "required": [ - "account_id", - "email", - "etag", - "id", - "object", - "status" - ], "properties": [ { "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "array", - "description": "List of active user sessions.", - "items": { - "type": "object", - "required": [ - "account_id", - "ip_address", - "login_time", - "object", - "reference_token", - "user_agent" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The UUID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "example": "127.0.0.1", - "description": "IP address of the client.", - "api_fieldname": "ip_address", - "entity_fieldname": "ip_address", - "_key": "ip_address" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T17:52:07Z", - "description": "The login time of the user.", - "api_fieldname": "login_time", - "entity_fieldname": "login_time", - "_key": "login_time" - }, - { - "type": "string", - "description": "Entity name: always 'user-session'", - "enum": [ - "user-session" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "example": "rt_CI6+5hS8p9DrCmkRyS6u4doUdiXr71dX7MqD+g0327hYQthEkYTxMMnCwHyf1rDdk", - "description": "The reference token.", - "api_fieldname": "reference_token", - "entity_fieldname": "reference_token", - "_key": "reference_token" - }, - { - "type": "string", - "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", - "description": "User Agent header from the login request.", - "api_fieldname": "user_agent", - "entity_fieldname": "user_agent", - "_key": "user_agent" - } - ], - "description": "Represents an active user session.", - "foreign_key": { - "group": "Accounts", - "entity": "active_session" - } - }, - "_key": "active_sessions" - }, - { - "type": "string", - "example": "110 Fulbourn Rd, Cambridge, United Kingdom", - "description": "Address.", - "x-nullable": true, - "_key": "address" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "_key": "created_at" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "A timestamp of the user creation in the storage, in milliseconds.", - "_key": "creation_time" - }, - { - "type": "object", - "x-nullable": true, - "description": "User's account-specific custom properties. The value is a string.", - "additionalProperties": { - "type": "string" - }, - "_key": "custom_fields" - }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "example": "user@arm.com", - "description": "The email address.", - "_key": "email" - }, - { - "type": "boolean", - "example": true, - "description": "A flag indicating whether the user's email address has been verified or not.", - "_key": "email_verified" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "string", - "maxLength": 100, - "example": "User Doe", - "x-nullable": true, - "description": "The full name of the user.", - "_key": "full_name" - }, - { - "type": "array", - "description": "A list of IDs of the groups this user belongs to.", - "items": { - "type": "string" - }, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the user.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "boolean", - "example": true, - "description": "A flag indicating that the user has accepted General Terms and Conditions.", - "_key": "is_gtc_accepted" - }, - { - "type": "boolean", - "example": true, - "description": "A flag indicating that the user has consented to receive marketing information.", - "_key": "is_marketing_accepted" - }, - { - "type": "boolean", - "example": true, - "description": "A flag indicating whether two-factor authentication (TOTP) has been enabled.", - "_key": "is_totp_enabled" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "A timestamp of the latest login of the user, in milliseconds.", - "_key": "last_login_time" - }, - { - "type": "array", - "maxItems": 5, - "description": "Timestamps, succeedings, IP addresses and user agent information of the last five logins of the user, with timestamps in RFC3339 format.", - "items": { - "type": "object", - "required": [ - "date", - "ip_address", - "success", - "user_agent" - ], - "properties": [ - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T17:52:07Z", - "description": "UTC time RFC3339 for this login attempt.", - "api_fieldname": "date", - "entity_fieldname": "date", - "_key": "date" - }, - { - "type": "string", - "example": "127.0.0.1", - "description": "IP address of the client.", - "api_fieldname": "ip_address", - "entity_fieldname": "ip_address", - "_key": "ip_address" - }, - { - "type": "boolean", - "example": true, - "description": "Flag indicating whether login attempt was successful or not.", - "api_fieldname": "success", - "entity_fieldname": "success", - "_key": "success" - }, - { - "type": "string", - "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", - "description": "User Agent header from the login request.", - "api_fieldname": "user_agent", - "entity_fieldname": "user_agent", - "_key": "user_agent" - } - ], - "description": "Represents an entry in login history.", - "foreign_key": { - "group": "Accounts", - "entity": "login_history" - } - }, - "_key": "login_history" - }, - { - "type": "array", - "description": "A list of login profiles for the user. Specified as the identity providers the user is associated with.", - "x-nullable": true, - "items": { - "type": "object", - "required": [ - "id" - ], - "properties": [ - { - "type": "string", - "description": "ID of the identity provider.", - "readOnly": false, - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "readOnly": false, - "description": "Name of the identity provider.", - "_override": true, - "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" - }, - { - "type": "string", - "description": "Identity provider type.", - "readOnly": true, - "enum": [ - "NATIVE", - "MBED", - "SAML2", - "OIDC" - ], - "api_fieldname": "type", - "entity_fieldname": "type", - "_key": "type" - } - ], - "description": "Represents a user login profile in Device Management.", - "foreign_key": { - "group": "Accounts", - "entity": "login_profile" - } - }, - "_key": "login_profiles" + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "_key": "color" }, { "type": "string", - "description": "Entity name: always `user`.", + "description": "Entity name: always 'branding_color'", + "readOnly": true, "enum": [ - "user" + "branding_color" ], "_key": "object" }, { - "type": "string", - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password when creating a new user. It will be generated when not present in the request.", - "x-nullable": true, - "_key": "password" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "A timestamp of the latest change of the user password, in milliseconds.", - "_key": "password_changed_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "+44 (1223) 400 400", - "description": "Phone number.", - "x-nullable": true, - "_key": "phone_number" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the user. ENROLLING state indicates that the user is in the middle of the enrollment process. INVITED means that the user has not accepted the invitation request. RESET means that the password must be changed immediately. INACTIVE users are locked out and not permitted to use the system.", "enum": [ - "ENROLLING", - "INVITED", - "ACTIVE", - "RESET", - "INACTIVE" + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" ], - "_key": "status" - }, - { - "type": "array", - "x-nullable": true, - "description": "A list of scratch codes for the two-factor authentication. Visible only when 2FA is requested to be enabled or the codes regenerated.", - "items": { - "type": "string" - }, - "_key": "totp_scratch_codes" + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "_key": "reference" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", + "description": "Last update time in UTC.", + "readOnly": true, "_key": "updated_at" - }, - { - "pattern": "[\\w\\-,._@+=]{4,30}", - "type": "string", - "example": "admin", - "description": "A username.", - "x-nullable": true, - "_key": "username" } ], - "description": "Represents a user in Device Management.", "foreign_key": { - "group": "Accounts", - "entity": "user" + "group": "Branding", + "entity": "dark_theme_color" } }, "api_fieldname": "data", @@ -48562,15 +48244,9 @@ "type": "integer", "format": "int32", "example": 50, - "description": "The number of results to return (2-1000). Default 50.", + "description": "The number of results to return, or equal to `total_count`.", "api_fieldname": "limit", "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", "_key": "limit" }, { @@ -48585,20 +48261,13 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "The order of the records to return based on creation time. Available values: ASC, DESC; by default ASC.", "enum": [ "ASC", "DESC" ], "api_fieldname": "order", "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "account_order_enum", "_key": "order" }, { @@ -48613,87 +48282,9333 @@ ], "pagination": true, "foreign_key": { - "group": "Accounts", - "entity": "user" + "group": "Branding", + "entity": "light_theme_color" } }, "_key": "200" }, { - "description": "Authentication failure.", + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + } + ], + "path": "/v3/branding-colors/light", + "summary": "Get light theme branding colors.", + "return_type": "paginated_response(light_theme_color)", + "return_info": { + "self": true, + "custom": false, + "type": "light_theme_color" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "limit", + "after", + "order", + "total_count", + "has_more", + "data" + ], + "foreign_key_priority": "self", + "group_id": "Branding", + "operation_id": "getLightColors", + "pagination": true, + "foreign_key": { + "group": "Branding", + "entity": "light_theme_color" + }, + "request_content_type": "application/json", + "request_body": "json", + "_key": "list" + }, + { + "description": "Retrieve the requested light theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_color_reference_enum", + "_key": "reference" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, + { + "type": "string", + "description": "Entity name: always 'branding_color'", + "readOnly": true, + "enum": [ + "branding_color" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "name": "object", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", + "required": false, + "_key": "object" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "dark_theme_color_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_color" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Color not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/branding-colors/light/{reference}", + "summary": "Get light theme branding color.", + "return_type": "light_theme_color", + "return_info": { + "self": true, + "custom": false, + "type": "light_theme_color" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "color", + "updated_at" + ], + "group_id": "Branding", + "operation_id": "getLightColor", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Update light theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_color_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "method": "put", + "mode": "update", + "responses": [ + { + "description": "Color has been set successfully.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, + { + "type": "string", + "description": "Entity name: always 'branding_color'", + "readOnly": true, + "enum": [ + "branding_color" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "name": "object", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", + "required": false, + "_key": "object" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "dark_theme_color_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_color" + } + }, + "_key": "200" + }, + { + "description": "Error in input data format.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Color not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/branding-colors/light/{reference}", + "summary": "Updates light theme branding color.", + "return_type": "light_theme_color", + "return_info": { + "self": true, + "custom": false, + "type": "light_theme_color" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "setLightColor", + "additional_operations": [ + { + "operation_id": "bulkSetLightColors", + "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." + } + ], + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "update" + } + ], + "fields": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "readOnly": false, + "_key": "color" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", + "required": false, + "enum_reference": "light_theme_color_reference_enum", + "readOnly": false, + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "User interface configuration - colors" + ], + "group_id": "Branding", + "_key": "light_theme_color" + }, + { + "swagger_models": [ + "BrandingImage", + "BrandingImageList" + ], + "primary_key_field": "reference", + "methods": [ + { + "description": "Revert an account branding image to light theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "is_primary_key": true, + "_override": true, + "type": "string", + "api_fieldname": "reference", + "entity_fieldname": "reference", + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "name": "reference", + "in": "path", + "description": "Name of the branding images (icon or picture).", + "required": true, + "enum_reference": "light_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "post", + "mode": "delete", + "responses": [ + { + "description": "Image reverted successfully.", + "_key": "204" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Unknown image reference.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/branding-images/light/{reference}/clear", + "summary": "Revert an image to light theme default.", + "return_type": "light_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "light_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "clearLightImage", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve the metadata of all light theme branding images.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "is_primary_key": true, + "_override": true, + "type": "string", + "api_fieldname": "reference", + "entity_fieldname": "reference", + "_key": "reference" + } + ], + "method": "get", + "mode": "list", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "data", + "has_more", + "limit", + "object", + "total_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "_key": "after" + }, + { + "type": "array", + "description": "A list of entities.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "dark_theme_image" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return, or equal to `total_count`.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Entity name: always `list`.", + "enum": [ + "list" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "The order of the records to return based on creation time. Available values: ASC, DESC; by default ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "_key": "order" + }, + { + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" + } + ], + "pagination": true, + "foreign_key": { + "group": "Branding", + "entity": "light_theme_image" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + } + ], + "path": "/v3/branding-images/light", + "summary": "Get metadata of all light theme images.", + "return_type": "paginated_response(light_theme_image)", + "return_info": { + "self": true, + "custom": false, + "type": "light_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "limit", + "after", + "order", + "total_count", + "has_more", + "data" + ], + "foreign_key_priority": "self", + "group_id": "Branding", + "operation_id": "getAllLightImageData", + "pagination": true, + "foreign_key": { + "group": "Branding", + "entity": "light_theme_image" + }, + "request_content_type": "application/json", + "request_body": "json", + "_key": "list" + }, + { + "description": "Retrieve metadata for one account light theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "dark_theme_image_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_image" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Unknown image reference.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/branding-images/light/{reference}", + "summary": "Get metadata of a light theme image.", + "return_type": "light_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "light_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "static_uri", + "updated_at" + ], + "group_id": "Branding", + "operation_id": "getLightImageData", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Upload a new account branding image as form data in the light theme in PNG or JPEG format.", + "field_renames": [], + "fields": [ + { + "in": "stream", + "name": "image", + "description": "The image in PNG or JPEG format as multipart form data.", + "required": true, + "type": "file", + "entity_fieldname": "image", + "api_fieldname": "image", + "external_param": true, + "parameter_fieldname": "image", + "_key": "image" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "post", + "mode": "update", + "responses": [ + { + "description": "Image uploaded successfully.", + "headers": [ + { + "type": "string", + "description": "Location of the image metadata.", + "_key": "Content-Location" + }, + { + "type": "string", + "description": "Location of the image binary.", + "_key": "Location" + } + ], + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "dark_theme_image_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_image" + } + }, + "_key": "201" + }, + { + "description": "Error in input data format, for example, image is too large.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Unknown image reference.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/branding-images/light/{reference}/upload-multipart", + "summary": "Upload a light theme image.", + "return_type": "light_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "light_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "static_uri", + "updated_at" + ], + "group_id": "Branding", + "operation_id": "uploadLightImageMultipart", + "additional_operations": [ + { + "operation_id": "uploadLightImage", + "notes": "The multipart request is more generic and better supported by SDKs." + } + ], + "pagination": false, + "request_content_type": "multipart/form-data", + "request_body": "file", + "_key": "update" + } + ], + "fields": [ + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", + "required": false, + "enum_reference": "light_theme_image_reference_enum", + "readOnly": false, + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "required": false, + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "User interface configuration - images" + ], + "group_id": "Branding", + "_key": "light_theme_image" + }, + { + "swagger_models": [ + "LoginHistory" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T17:52:07Z", + "description": "UTC time RFC3339 for this login attempt.", + "api_fieldname": "date", + "readOnly": true, + "required": false, + "_key": "date" + }, + { + "type": "string", + "example": "127.0.0.1", + "description": "IP address of the client.", + "api_fieldname": "ip_address", + "readOnly": true, + "required": false, + "_key": "ip_address" + }, + { + "type": "boolean", + "example": true, + "description": "Flag indicating whether login attempt was successful or not.", + "api_fieldname": "success", + "readOnly": true, + "required": false, + "_key": "success" + }, + { + "type": "string", + "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", + "description": "User Agent header from the login request.", + "api_fieldname": "user_agent", + "readOnly": true, + "required": false, + "_key": "user_agent" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "login_history" + }, + { + "swagger_models": [ + "LoginProfile" + ], + "primary_key_field": "id", + "methods": [], + "fields": [ + { + "type": "string", + "description": "ID of the identity provider.", + "readOnly": false, + "_override": true, + "api_fieldname": "id", + "required": false, + "_key": "id" + }, + { + "type": "string", + "readOnly": false, + "description": "Name of the identity provider.", + "_override": true, + "api_fieldname": "name", + "required": false, + "_key": "name" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "login_profile" + }, + { + "swagger_models": [ + "ParentAccountInfo" + ], + "primary_key_field": "id", + "methods": [], + "fields": [ + { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string", + "example": "info@arm.com", + "description": "The email address of the admin user who is the contact person of the parent account.", + "api_fieldname": "admin_email", + "readOnly": true, + "required": false, + "_key": "admin_email" + }, + { + "type": "string", + "maxLength": 100, + "example": "J. Doe", + "description": "The name of the admin user who is the contact person of the parent account.", + "api_fieldname": "admin_name", + "readOnly": true, + "required": false, + "_key": "admin_name" + }, + { + "type": "string", + "example": "01619571dad80242ac12000600000000", + "description": "The ID of the parent account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "readOnly": true, + "required": false, + "_key": "id" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "parent_account" + }, + { + "swagger_models": [ + "PasswordPolicy" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "integer", + "minimum": 8, + "maximum": 512, + "example": "8", + "description": "Minimum length for the password.", + "api_fieldname": "minimum_length", + "readOnly": true, + "required": false, + "_key": "minimum_length" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "password_policy" + }, + { + "swagger_models": [ + "FeaturePolicy" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "string", + "example": "GET", + "description": "Comma-separated list of actions, empty string represents all actions.", + "api_fieldname": "action", + "readOnly": true, + "required": false, + "_key": "action" + }, + { + "type": "boolean", + "example": true, + "description": "True or false controlling whether an action is allowed or not.", + "api_fieldname": "allow", + "readOnly": true, + "required": false, + "_key": "allow" + }, + { + "type": "string", + "example": "update-campaigns", + "description": "Feature name corresponding to this policy.", + "api_fieldname": "feature", + "readOnly": true, + "required": false, + "_key": "feature" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether this feature is inherited or overwritten specifically.", + "readOnly": true, + "api_fieldname": "inherited", + "required": false, + "_key": "inherited" + }, + { + "type": "string", + "example": "016ada3ec2d46665bf66e32e00000000", + "description": "An ID indicating where this policy is inherited from.", + "pattern": "[a-f0-9]{32}", + "readOnly": true, + "api_fieldname": "inherited_from", + "required": false, + "_key": "inherited_from" + }, + { + "type": "string", + "example": "account", + "description": "Indicates the type of entity this policy is inherited from.", + "readOnly": true, + "enum": [ + "account", + "template", + "tier_template" + ], + "api_fieldname": "inherited_type", + "required": false, + "enum_reference": "policy_inherited_type_enum", + "_key": "inherited_type" + }, + { + "type": "string", + "example": "/v3/update-campaign", + "description": "Resource that is protected by this policy.", + "api_fieldname": "resource", + "readOnly": true, + "required": false, + "_key": "resource" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "policy" + }, + { + "swagger_models": [ + "ApiKeyInfoRespList", + "GroupSummary", + "GroupSummaryList", + "UserInfoRespList" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Manage policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "group_id", + "in": "path", + "description": "The ID of the group.", + "required": true, + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "group_id", + "external_param": false, + "parameter_fieldname": "group_id", + "_key": "id" + }, + { + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "policy_group_order_enum", + "_key": "order" + } + ], + "method": "get", + "mode": "api_keys", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "data", + "has_more", + "limit", + "object", + "total_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "type": "array", + "description": "A list of entities.", + "items": { + "type": "object", + "required": [ + "etag", + "id", + "key", + "name", + "object" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "_key": "creation_time" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'api-key'", + "enum": [ + "api-key" + ], + "_key": "object" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "Represents an API key in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Entity name: always `list`.", + "enum": [ + "list" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "account_order_enum", + "_key": "order" + }, + { + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" + } + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "A group with that ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/policy-groups/{group_id}/api-keys", + "summary": "Get the API keys of a group.", + "return_type": "paginated_response(api_key)", + "return_info": { + "self": false, + "custom": false, + "type": "api_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "total_count", + "has_more", + "data" + ], + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "getApiKeysOfGroup", + "foreign_key": { + "entity": "api_key" + }, + "pagination": true, + "request_content_type": "application/json", + "request_body": "json", + "_key": "api_keys" + }, + { + "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "policy_group_order_enum", + "_key": "order" + } + ], + "method": "get", + "mode": "list", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "data", + "has_more", + "limit", + "object", + "total_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "type": "array", + "description": "A list of entities.", + "items": { + "type": "object", + "required": [ + "account_id", + "apikey_count", + "etag", + "id", + "name", + "object", + "user_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" + }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "_key": "apikey_count" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", + "enum": [ + "group" + ], + "_key": "object" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "_key": "user_count" + } + ], + "description": "This object contains basic information about groups.", + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Entity name: always `list`.", + "enum": [ + "list" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "subtenant_api_key_order_enum", + "_key": "order" + }, + { + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" + } + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "policy_group" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + } + ], + "path": "/v3/policy-groups", + "summary": "Get all group information.", + "return_type": "paginated_response(policy_group)", + "return_info": { + "self": true, + "custom": false, + "type": "policy_group" + }, + "x_filter": { + "name": [ + "eq" + ] + }, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "total_count", + "has_more", + "data", + "name__eq" + ], + "foreign_key_priority": "self", + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "getAllGroups", + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "policy_group" + }, + "request_content_type": "application/json", + "request_body": "json", + "_key": "list" + }, + { + "description": "Retrieve general information about a group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "group_id", + "in": "path", + "required": true, + "_key": "id" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "account_id", + "apikey_count", + "etag", + "id", + "name", + "object", + "user_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "entity_fieldname": "apikey_count", + "_key": "apikey_count" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", + "enum": [ + "group" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "entity_fieldname": "user_count", + "_key": "user_count" + } + ], + "description": "This object contains basic information about groups.", + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "A group with that ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/policy-groups/{group_id}", + "summary": "Get group information.", + "return_type": "policy_group", + "return_info": { + "self": true, + "custom": false, + "type": "policy_group" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at", + "updated_at", + "account_id", + "name", + "user_count", + "apikey_count" + ], + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "getGroupSummary", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Retrieve users of a group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "group_id", + "in": "path", + "description": "The ID of the group.", + "required": true, + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "group_id", + "external_param": false, + "parameter_fieldname": "group_id", + "_key": "id" + }, + { + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "policy_group_order_enum", + "_key": "order" + } + ], + "method": "get", + "mode": "users", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "data", + "has_more", + "limit", + "object", + "total_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "type": "array", + "description": "A list of entities.", + "items": { + "type": "object", + "required": [ + "account_id", + "email", + "etag", + "id", + "object", + "status" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" + }, + { + "type": "array", + "description": "List of active user sessions.", + "items": { + "type": "object", + "required": [ + "account_id", + "ip_address", + "login_time", + "object", + "reference_token", + "user_agent" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The UUID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "example": "127.0.0.1", + "description": "IP address of the client.", + "api_fieldname": "ip_address", + "entity_fieldname": "ip_address", + "_key": "ip_address" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T17:52:07Z", + "description": "The login time of the user.", + "api_fieldname": "login_time", + "entity_fieldname": "login_time", + "_key": "login_time" + }, + { + "type": "string", + "description": "Entity name: always 'user-session'", + "enum": [ + "user-session" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "example": "rt_CI6+5hS8p9DrCmkRyS6u4doUdiXr71dX7MqD+g0327hYQthEkYTxMMnCwHyf1rDdk", + "description": "The reference token.", + "api_fieldname": "reference_token", + "entity_fieldname": "reference_token", + "_key": "reference_token" + }, + { + "type": "string", + "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", + "description": "User Agent header from the login request.", + "api_fieldname": "user_agent", + "entity_fieldname": "user_agent", + "_key": "user_agent" + } + ], + "description": "Represents an active user session.", + "foreign_key": { + "group": "Accounts", + "entity": "active_session" + } + }, + "_key": "active_sessions" + }, + { + "type": "string", + "example": "110 Fulbourn Rd, Cambridge, United Kingdom", + "description": "Address.", + "x-nullable": true, + "_key": "address" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "A timestamp of the user creation in the storage, in milliseconds.", + "_key": "creation_time" + }, + { + "type": "object", + "x-nullable": true, + "description": "User's account-specific custom properties. The value is a string.", + "additionalProperties": { + "type": "string" + }, + "_key": "custom_fields" + }, + { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string", + "example": "user@arm.com", + "description": "The email address.", + "_key": "email" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating whether the user's email address has been verified or not.", + "_key": "email_verified" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "maxLength": 100, + "example": "User Doe", + "x-nullable": true, + "description": "The full name of the user.", + "_key": "full_name" + }, + { + "type": "array", + "description": "A list of IDs of the groups this user belongs to.", + "items": { + "type": "string" + }, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The ID of the user.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating that the user has accepted General Terms and Conditions.", + "_key": "is_gtc_accepted" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating that the user has consented to receive marketing information.", + "_key": "is_marketing_accepted" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating whether two-factor authentication (TOTP) has been enabled.", + "_key": "is_totp_enabled" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "A timestamp of the latest login of the user, in milliseconds.", + "_key": "last_login_time" + }, + { + "type": "array", + "maxItems": 5, + "description": "Timestamps, succeedings, IP addresses and user agent information of the last five logins of the user, with timestamps in RFC3339 format.", + "items": { + "type": "object", + "required": [ + "date", + "ip_address", + "success", + "user_agent" + ], + "properties": [ + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T17:52:07Z", + "description": "UTC time RFC3339 for this login attempt.", + "api_fieldname": "date", + "entity_fieldname": "date", + "_key": "date" + }, + { + "type": "string", + "example": "127.0.0.1", + "description": "IP address of the client.", + "api_fieldname": "ip_address", + "entity_fieldname": "ip_address", + "_key": "ip_address" + }, + { + "type": "boolean", + "example": true, + "description": "Flag indicating whether login attempt was successful or not.", + "api_fieldname": "success", + "entity_fieldname": "success", + "_key": "success" + }, + { + "type": "string", + "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", + "description": "User Agent header from the login request.", + "api_fieldname": "user_agent", + "entity_fieldname": "user_agent", + "_key": "user_agent" + } + ], + "description": "Represents an entry in login history.", + "foreign_key": { + "group": "Accounts", + "entity": "login_history" + } + }, + "_key": "login_history" + }, + { + "type": "array", + "description": "A list of login profiles for the user. Specified as the identity providers the user is associated with.", + "x-nullable": true, + "items": { + "type": "object", + "required": [ + "id" + ], + "properties": [ + { + "type": "string", + "description": "ID of the identity provider.", + "readOnly": false, + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "readOnly": false, + "description": "Name of the identity provider.", + "_override": true, + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Identity provider type.", + "readOnly": true, + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "_key": "type" + } + ], + "description": "Represents a user login profile in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "login_profile" + } + }, + "_key": "login_profiles" + }, + { + "type": "string", + "description": "Entity name: always `user`.", + "enum": [ + "user" + ], + "_key": "object" + }, + { + "type": "string", + "example": "PZf9eEUH43DAPE9ULINFeuj", + "description": "The password when creating a new user. It will be generated when not present in the request.", + "x-nullable": true, + "_key": "password" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "A timestamp of the latest change of the user password, in milliseconds.", + "_key": "password_changed_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "+44 (1223) 400 400", + "description": "Phone number.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the user. ENROLLING state indicates that the user is in the middle of the enrollment process. INVITED means that the user has not accepted the invitation request. RESET means that the password must be changed immediately. INACTIVE users are locked out and not permitted to use the system.", + "enum": [ + "ENROLLING", + "INVITED", + "ACTIVE", + "RESET", + "INACTIVE" + ], + "_key": "status" + }, + { + "type": "array", + "x-nullable": true, + "description": "A list of scratch codes for the two-factor authentication. Visible only when 2FA is requested to be enabled or the codes regenerated.", + "items": { + "type": "string" + }, + "_key": "totp_scratch_codes" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + }, + { + "pattern": "[\\w\\-,._@+=]{4,30}", + "type": "string", + "example": "admin", + "description": "A username.", + "x-nullable": true, + "_key": "username" + } + ], + "description": "Represents a user in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "user" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Entity name: always `list`.", + "enum": [ + "list" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "account_order_enum", + "_key": "order" + }, + { + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" + } + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "user" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "A group with that ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/policy-groups/{group_id}/users", + "summary": "Get users of a group.", + "return_type": "paginated_response(user)", + "return_info": { + "self": false, + "custom": false, + "type": "user" + }, + "x_filter": { + "status": [ + "eq", + "in", + "nin" + ] + }, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "total_count", + "has_more", + "data", + "status__eq", + "status__in", + "status__nin" + ], + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "getUsersOfGroup", + "foreign_key": { + "entity": "user" + }, + "pagination": true, + "request_content_type": "application/json", + "request_body": "json", + "_key": "users" + } + ], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "readOnly": true, + "required": false, + "_key": "account_id" + }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "readOnly": true, + "required": false, + "_key": "apikey_count" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "readOnly": false, + "required": true, + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "readOnly": true, + "required": false, + "_key": "name" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "readOnly": true, + "required": false, + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "readOnly": true, + "required": false, + "_key": "user_count" + } + ], + "field_renames": [], + "tags": [ + "Account - policy groups" + ], + "group_id": "Accounts", + "_key": "policy_group" + }, + { + "swagger_models": [ + "ListOfPreSharedKeysWithoutSecret", + "PreSharedKey", + "PreSharedKeyWithoutSecret" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Upload a PSK for an endpoint to allow it to bootstrap. The existing key cannot be overwritten, but needs\nto be deleted first in the case of re-setting a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```", + "field_renames": [], + "fields": [ + { + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "type": "string", + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "pattern": "^[ -~]{16,64}$", + "example": "my-endpoint-0001", + "name": "endpoint_name", + "in": "body", + "schema_param": true, + "_key": "id" + }, + { + "type": "string", + "pattern": "^(0[xX])?[0-9a-fA-F]{32,64}$", + "description": "The secret of the PSK in hexadecimal. It is not case sensitive; 4a is same as 4A, and it is allowed with or without 0x in the beginning. The minimum length of the secret is 128 bits and maximum 256 bits.", + "example": "4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "name": "secret_hex", + "in": "body", + "schema_param": true, + "entity_fieldname": "secret_hex", + "api_fieldname": "secret_hex", + "external_param": true, + "parameter_fieldname": "secret_hex", + "required": true, + "_key": "secret_hex" + } + ], + "method": "post", + "mode": "create", + "responses": [ + { + "description": "Successfully created.", + "_key": "201" + }, + { + "description": "Bad request. Contains comma-separated errors INVALID_ENDPOINT_NAME, INVALID_SECRET_HEX, and MALFORMED_JSON_CONTENT.", + "schema": { + "type": "string" + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "_key": "401" + }, + { + "description": "Forbidden. You need to read and accept the PSK license in Device Management Portal.", + "_key": "403" + }, + { + "description": "Conflict. The PSK for the endpoint already exists and cannot be overwritten. Contains error KEY_ALREADY_EXISTS_FOR_ENDPOINT.", + "schema": { + "type": "string" + }, + "_key": "409" + } + ], + "path": "/v2/device-shared-keys", + "summary": "Upload a PSK to Pelion Device Management.", + "return_type": "pre_shared_key", + "return_info": { + "self": true, + "custom": false, + "type": "pre_shared_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Security", + "parameter_map": { + "endpoint_name": "id" + }, + "operation_id": "uploadPreSharedKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "create" + }, + { + "description": "Remove a PSK.\n\n**Example:**\n\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [ + { + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "type": "string", + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "name": "endpoint_name", + "in": "path", + "required": true, + "_key": "id" + } + ], + "method": "delete", + "mode": "delete", + "responses": [ + { + "description": "Successfully deleted. Responds even if the endpoint does not have an associated PSK.", + "_key": "204" + }, + { + "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", + "schema": { + "type": "string" + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "_key": "401" + } + ], + "path": "/v2/device-shared-keys/{endpoint_name}", + "summary": "Remove a PSK.", + "return_type": "pre_shared_key", + "return_info": { + "self": true, + "custom": false, + "type": "pre_shared_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Security", + "parameter_map": { + "endpoint_name": "id" + }, + "operation_id": "deletePreSharedKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve pre-shared keys (PSKs) with pagination. Default page size of 50 entries.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "description": "An offset token for fetching a specific page. Provided by the server.", + "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "type": "string", + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "integer", + "description": "The number of entries per page.", + "example": 50, + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + } + ], + "method": "get", + "mode": "list", + "responses": [ + { + "description": "List of PSKs.", + "schema": { + "type": "object", + "required": [ + "object", + "limit", + "order", + "has_more", + "data" + ], + "properties": [ + { + "type": "string", + "description": "An offset token for current page.", + "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", + "api_fieldname": "after", + "entity_fieldname": "after", + "_key": "after" + }, + { + "type": "string", + "description": "An offset token for fetching the next page. Note that exactly the same limit needs to be used on the request for fetching subsequent pages.", + "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810005", + "api_fieldname": "continuation_marker", + "entity_fieldname": "continuation_marker", + "_key": "continuation_marker" + }, + { + "type": "array", + "description": "Array of the PSK entries. The array is empty if there are no PSKs.", + "minLength": 0, + "items": { + "type": "object", + "required": [ + "endpoint_name" + ], + "properties": [ + { + "type": "string", + "format": "date-time", + "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", + "example": "2017-07-21T17:32:28.012Z", + "_key": "created_at" + }, + { + "type": "string", + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "_key": "endpoint_name" + } + ], + "foreign_key": { + "group": "Security", + "entity": "pre_shared_key" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, + { + "type": "boolean", + "description": "More results are available.", + "example": true, + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "description": "The value of limit query parameter from the request, or default if not specified.", + "example": 50, + "api_fieldname": "limit", + "entity_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "The type of this API object is a \"list\".", + "example": "list", + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "Record order based on creation time.", + "example": "DESC", + "api_fieldname": "order", + "entity_fieldname": "order", + "_key": "order" + } + ], + "pagination": true, + "foreign_key": { + "group": "Security", + "entity": "pre_shared_key" + } + }, + "_key": "200" + }, + { + "description": "Bad request. Contains the error as a string, either TOKEN_NOT_FOUND or INVALID_LIMIT.", + "_key": "400" + } + ], + "path": "/v2/device-shared-keys", + "summary": "List PSKs.", + "return_type": "paginated_response(pre_shared_key)", + "return_info": { + "self": true, + "custom": false, + "type": "pre_shared_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "order", + "has_more", + "continuation_marker", + "data" + ], + "foreign_key_priority": "self", + "group_id": "Security", + "parameter_map": { + "endpoint_name": "id" + }, + "operation_id": "listPreSharedKeys", + "pagination": true, + "foreign_key": { + "group": "Security", + "entity": "pre_shared_key" + }, + "request_content_type": "application/json", + "request_body": "json", + "_key": "list" + }, + { + "description": "Check if a PSK for an endpoint exists or not. The response does not contain the secret itself.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "name": "endpoint_name", + "in": "path", + "required": true, + "_key": "id" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Pre-shared key for the device (does not contain secret).", + "schema": { + "type": "object", + "required": [ + "endpoint_name" + ], + "properties": [ + { + "type": "string", + "format": "date-time", + "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", + "example": "2017-07-21T17:32:28.012Z", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + } + ], + "foreign_key": { + "group": "Security", + "entity": "pre_shared_key" + } + }, + "_key": "200" + }, + { + "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", + "schema": { + "type": "string" + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "_key": "401" + }, + { + "description": "The PSK does not exist.", + "_key": "404" + } + ], + "path": "/v2/device-shared-keys/{endpoint_name}", + "summary": "Get a PSK.", + "return_type": "pre_shared_key", + "return_info": { + "self": true, + "custom": false, + "type": "pre_shared_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at" + ], + "group_id": "Security", + "parameter_map": { + "endpoint_name": "id" + }, + "operation_id": "getPreSharedKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + } + ], + "fields": [ + { + "type": "string", + "format": "date-time", + "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", + "example": "2017-07-21T17:32:28.012Z", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "type": "string", + "api_fieldname": "endpoint_name", + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "required": false, + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "readOnly": false, + "required": false, + "_key": "id" + } + ], + "field_renames": [], + "tags": [ + "PreSharedKeys" + ], + "group_id": "Security", + "_key": "pre_shared_key" + }, + { + "swagger_models": [ + "ServerCredentialsResponseData" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Return bootstrap server credentials for client to connect to bootstrap server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [], + "method": "get", + "mode": "get_bootstrap", + "responses": [ + { + "description": "Bootstrap server credentials fetched successfully.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "format": "date-time", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "description": "Unique entity ID.", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "description": "Entity name: always `server-credentials`.", + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", + "api_fieldname": "server_certificate", + "entity_fieldname": "server_certificate", + "_key": "server_certificate" + }, + { + "type": "string", + "description": "Server URI that the client connects to.", + "api_fieldname": "server_uri", + "entity_fieldname": "server_uri", + "_key": "server_uri" + } + ], + "foreign_key": { + "group": "Security", + "entity": "server_credentials" + } + }, + "examples": [ + { + "object": "server-credentials", + "id": "015fee4431fd38c98640fbfb00000000", + "etag": "1", + "created_at": "2017-12-11T14:22:20.009Z", + "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", + "server_uri": "coaps://coap.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", + "_key": "Success" + } + ], + "_key": "200" + }, + { + "description": "Bad request.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Invalid access token.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "examples": [ + { + "object": "error", + "code": 401, + "type": "invalid_auth", + "message": "Invalid access token.", + "request_id": "015fee4431fd38c98640fbfb00000000", + "_key": "Authentication Error" + } + ], + "_key": "401" + } + ], + "path": "/v3/server-credentials/bootstrap", + "summary": "Fetch bootstrap server credentials.", + "return_type": "server_credentials", + "return_info": { + "self": true, + "custom": false, + "type": "server_credentials" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "id", + "created_at", + "server_certificate", + "server_uri" + ], + "group_id": "Security", + "operation_id": "getBootstrapServerCredentials", + "additional_operations": [ + { + "operation_id": "getAllServerCredentials", + "notes": "The information returned by this endpoint can be obtained by calling `get_bootstrap`." + } + ], + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "get_bootstrap" + }, + { + "description": "Return LwM2M server credentials for client to connect to LwM2M server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [], + "method": "get", + "mode": "get_lwm2m", + "responses": [ + { + "description": "LwM2M server credentials fetched successfully.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "format": "date-time", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "description": "Unique entity ID.", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "description": "Entity name: always `server-credentials`.", + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", + "api_fieldname": "server_certificate", + "entity_fieldname": "server_certificate", + "_key": "server_certificate" + }, + { + "type": "string", + "description": "Server URI that the client connects to.", + "api_fieldname": "server_uri", + "entity_fieldname": "server_uri", + "_key": "server_uri" + } + ], + "foreign_key": { + "group": "Security", + "entity": "server_credentials" + } + }, + "examples": [ + { + "object": "server-credentials", + "id": "015fee4431fd38c98640fbfb00000000", + "etag": "1", + "created_at": "2017-12-11T14:22:20.009Z", + "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", + "server_uri": "coaps://mds.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", + "_key": "Success" + } + ], + "_key": "200" + }, + { + "description": "Bad request.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Invalid access token.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "examples": [ + { + "object": "error", + "code": 401, + "type": "invalid_auth", + "message": "Invalid access token.", + "request_id": "015fee4431fd38c98640fbfb00000000", + "_key": "Authentication Error" + } + ], + "_key": "401" + } + ], + "path": "/v3/server-credentials/lwm2m", + "summary": "Fetch LwM2M server credentials.", + "return_type": "server_credentials", + "return_info": { + "self": true, + "custom": false, + "type": "server_credentials" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "id", + "created_at", + "server_certificate", + "server_uri" + ], + "group_id": "Security", + "operation_id": "getL2M2MServerCredentials", + "additional_operations": [ + { + "operation_id": "getAllServerCredentials", + "notes": "The information returned by this endpoint can be obtained by calling `get_lwm2m`." + } + ], + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "get_lwm2m" + } + ], + "fields": [ + { + "type": "string", + "format": "date-time", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "string", + "description": "Unique entity ID.", + "api_fieldname": "id", + "readOnly": true, + "required": false, + "_key": "id" + }, + { + "type": "string", + "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", + "api_fieldname": "server_certificate", + "readOnly": true, + "required": false, + "_key": "server_certificate" + }, + { + "type": "string", + "description": "Server URI that the client connects to.", + "api_fieldname": "server_uri", + "readOnly": true, + "required": false, + "_key": "server_uri" + } + ], + "field_renames": [], + "tags": [ + "Service security - server credentials" + ], + "group_id": "Security", + "_key": "server_credentials" + }, + { + "swagger_models": [ + "ApiKeyInfoReq", + "ApiKeyInfoResp", + "ApiKeyUpdateReq", + "GroupSummaryList" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", + "in": "path", + "required": true, + "_key": "account_id" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "_key": "groups" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_api_key_status_enum", + "_key": "status" + } + ], + "method": "post", + "mode": "create", + "responses": [ + { + "description": "New entity created.", + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "key", + "name", + "object" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "api_fieldname": "creation_time", + "entity_fieldname": "creation_time", + "_key": "creation_time" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "api_fieldname": "key", + "entity_fieldname": "key", + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "api_fieldname": "last_login_time", + "entity_fieldname": "last_login_time", + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'api-key'", + "enum": [ + "api-key" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "api_key_status_enum", + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "description": "Represents an API key in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } + }, + "_key": "201" + }, + { + "description": "Error in input data, for example, missing display name.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "An account with the given ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/api-keys", + "summary": "Create a new API key.", + "return_type": "subtenant_api_key", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_api_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "id", + "created_at", + "updated_at", + "key", + "creation_time", + "last_login_time" + ], + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "createAccountApiKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "create" + }, + { + "description": "Delete an API key.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": false, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "name": "apikey_id", + "in": "path", + "description": "The ID of the API key to delete.", + "required": true, + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "apikey_id", + "external_param": false, + "parameter_fieldname": "apikey_id", + "_key": "id" + } + ], + "method": "delete", + "mode": "delete", + "responses": [ + { + "description": "Deleted successfully.", + "_key": "204" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "An account or API key with the specified ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", + "summary": "Delete the API key.", + "return_type": "subtenant_api_key", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_api_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "deleteAccountApiKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve groups associated with the API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": false, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "apikey_id", + "in": "path", + "description": "The ID of the API key.", + "required": true, + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "apikey_id", + "external_param": false, + "parameter_fieldname": "apikey_id", + "_key": "id" + }, + { + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "subtenant_api_key_order_enum", + "_key": "order" + } + ], + "method": "get", + "mode": "policy_groups", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "data", + "has_more", + "limit", + "object", + "total_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "type": "array", + "description": "A list of entities.", + "items": { + "type": "object", + "required": [ + "account_id", + "apikey_count", + "etag", + "id", + "name", + "object", + "user_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" + }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "_key": "apikey_count" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", + "enum": [ + "group" + ], + "_key": "object" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "_key": "user_count" + } + ], + "description": "This object contains basic information about groups.", + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Entity name: always `list`.", + "enum": [ + "list" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "api_key_order_enum", + "_key": "order" + }, + { + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" + } + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "An account or API key with the specified ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}/groups", + "summary": "Get groups associated with the API key.", + "return_type": "paginated_response(subtenant_policy_group)", + "return_info": { + "self": false, + "custom": false, + "type": "subtenant_policy_group" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "total_count", + "has_more", + "data" + ], + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "getGroupsOfAccountApikey", + "foreign_key": { + "entity": "subtenant_policy_group" + }, + "pagination": true, + "request_content_type": "application/json", + "request_body": "json", + "_key": "policy_groups" + }, + { + "description": "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", + "in": "path", + "required": true, + "_key": "account_id" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "key", + "name", + "object" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "api_fieldname": "creation_time", + "entity_fieldname": "creation_time", + "_key": "creation_time" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "api_fieldname": "key", + "entity_fieldname": "key", + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "api_fieldname": "last_login_time", + "entity_fieldname": "last_login_time", + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'api-key'", + "enum": [ + "api-key" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "api_key_status_enum", + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "description": "Represents an API key in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "An account or API key with the specified ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", + "summary": "Get API key details.", + "return_type": "subtenant_api_key", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_api_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at", + "updated_at", + "key", + "name", + "groups", + "owner", + "status", + "creation_time", + "last_login_time" + ], + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "getAccountApiKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Update API key details.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", + "in": "path", + "required": true, + "_key": "account_id" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_api_key_status_enum", + "_key": "status" + } + ], + "method": "put", + "mode": "update", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "key", + "name", + "object" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "api_fieldname": "creation_time", + "entity_fieldname": "creation_time", + "_key": "creation_time" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "api_fieldname": "key", + "entity_fieldname": "key", + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "api_fieldname": "last_login_time", + "entity_fieldname": "last_login_time", + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'api-key'", + "enum": [ + "api-key" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "api_key_status_enum", + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "description": "Represents an API key in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } + }, + "_key": "200" + }, + { + "description": "Error in input data, for example, missing display name.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "An account ID or API key with the specified ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", + "summary": "Update API key details.", + "return_type": "subtenant_api_key", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_api_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at", + "updated_at", + "key", + "creation_time", + "last_login_time" + ], + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "updateAccountApiKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "update" + } + ], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "readOnly": false, + "required": true, + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "api_fieldname": "creation_time", + "readOnly": true, + "required": false, + "_key": "creation_time" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "readOnly": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "readOnly": false, + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "api_fieldname": "key", + "readOnly": true, + "required": false, + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "api_fieldname": "last_login_time", + "readOnly": true, + "required": false, + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "readOnly": false, + "_key": "name" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "readOnly": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_api_key_status_enum", + "readOnly": false, + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "readOnly": true, + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant accounts - API keys" + ], + "group_id": "Accounts", + "_key": "subtenant_api_key" + }, + { + "swagger_models": [ + "BrandingColor" + ], + "primary_key_field": "reference", + "methods": [ + { + "description": "Resets the branding color of a tenant account to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "is_primary_key": true, + "_override": true, + "type": "string", + "api_fieldname": "reference", + "entity_fieldname": "reference", + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "name": "reference", + "in": "path", + "description": "The name of the branding color.", + "required": true, + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" + } + ], + "method": "delete", + "mode": "delete", + "responses": [ + { + "description": "Deleted successfully.", + "_key": "204" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Color or account not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", + "summary": "Reset branding color to default.", + "return_type": "void", + "return_info": { + "self": false, + "custom": true, + "type": "void" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "resetAccountDarkColor", + "spec": { + "return_type": "void" + }, + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve the requested dark theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", "schema": { "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, { "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always 'branding_color'", + "readOnly": true, "enum": [ - "error" + "branding_color" ], + "api_fieldname": "object", + "entity_fieldname": "object", + "name": "object", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", + "required": false, "_key": "object" }, { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_color_reference_enum", + "_key": "reference" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" } - ] + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_color" + } }, - "_key": "401" + "_key": "200" }, { - "description": "Forbidden.", + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -48763,10 +57678,10 @@ } ] }, - "_key": "403" + "_key": "401" }, { - "description": "A group with that ID does not exist.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -48792,529 +57707,133 @@ "required": [ "name", "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "404" - } - ], - "path": "/v3/policy-groups/{group_id}/users", - "summary": "Get users of a group.", - "return_type": "paginated_response(user)", - "return_info": { - "self": false, - "custom": false, - "type": "user" - }, - "x_filter": { - "status": [ - "eq", - "in", - "nin" - ] - }, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "total_count", - "has_more", - "data", - "status__eq", - "status__in", - "status__nin" - ], - "group_id": "Accounts", - "parameter_map": { - "group_id": "id" - }, - "operation_id": "getUsersOfGroup", - "foreign_key": { - "entity": "user" - }, - "pagination": true, - "request_content_type": "application/json", - "request_body": "json", - "_key": "users" - } - ], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "readOnly": true, - "required": false, - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "api_fieldname": "apikey_count", - "readOnly": true, - "required": false, - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "readOnly": false, - "required": true, - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "api_fieldname": "name", - "readOnly": true, - "required": false, - "_key": "name" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "readOnly": true, - "required": false, - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "api_fieldname": "user_count", - "readOnly": true, - "required": false, - "_key": "user_count" - } - ], - "field_renames": [], - "tags": [ - "Account - policy groups" - ], - "group_id": "Accounts", - "_key": "policy_group" - }, - { - "swagger_models": [ - "ListOfPreSharedKeysWithoutSecret", - "PreSharedKey", - "PreSharedKeyWithoutSecret" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "Upload a PSK for an endpoint to allow it to bootstrap. The existing key cannot be overwritten, but needs\nto be deleted first in the case of re-setting a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```", - "field_renames": [], - "fields": [ - { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", - "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "pattern": "^[ -~]{16,64}$", - "example": "my-endpoint-0001", - "name": "endpoint_name", - "in": "body", - "schema_param": true, - "_key": "id" - }, - { - "type": "string", - "pattern": "^(0[xX])?[0-9a-fA-F]{32,64}$", - "description": "The secret of the PSK in hexadecimal. It is not case sensitive; 4a is same as 4A, and it is allowed with or without 0x in the beginning. The minimum length of the secret is 128 bits and maximum 256 bits.", - "example": "4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", - "name": "secret_hex", - "in": "body", - "schema_param": true, - "entity_fieldname": "secret_hex", - "api_fieldname": "secret_hex", - "external_param": true, - "parameter_fieldname": "secret_hex", - "required": true, - "_key": "secret_hex" - } - ], - "method": "post", - "mode": "create", - "responses": [ - { - "description": "Successfully created.", - "_key": "201" - }, - { - "description": "Bad request. Contains comma-separated errors INVALID_ENDPOINT_NAME, INVALID_SECRET_HEX, and MALFORMED_JSON_CONTENT.", - "schema": { - "type": "string" - }, - "_key": "400" - }, - { - "description": "Authentication failure.", - "_key": "401" - }, - { - "description": "Forbidden. You need to read and accept the PSK license in Device Management Portal.", - "_key": "403" - }, - { - "description": "Conflict. The PSK for the endpoint already exists and cannot be overwritten. Contains error KEY_ALREADY_EXISTS_FOR_ENDPOINT.", - "schema": { - "type": "string" - }, - "_key": "409" - } - ], - "path": "/v2/device-shared-keys", - "summary": "Upload a PSK to Pelion Device Management.", - "return_type": "pre_shared_key", - "return_info": { - "self": true, - "custom": false, - "type": "pre_shared_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "uploadPreSharedKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "create" - }, - { - "description": "Remove a PSK.\n\n**Example:**\n\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [ - { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", - "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "name": "endpoint_name", - "in": "path", - "required": true, - "_key": "id" - } - ], - "method": "delete", - "mode": "delete", - "responses": [ - { - "description": "Successfully deleted. Responds even if the endpoint does not have an associated PSK.", - "_key": "204" - }, - { - "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", - "schema": { - "type": "string" - }, - "_key": "400" - }, - { - "description": "Authentication failure.", - "_key": "401" - } - ], - "path": "/v2/device-shared-keys/{endpoint_name}", - "summary": "Remove a PSK.", - "return_type": "pre_shared_key", - "return_info": { - "self": true, - "custom": false, - "type": "pre_shared_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "deletePreSharedKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "delete" - }, - { - "description": "Retrieve pre-shared keys (PSKs) with pagination. Default page size of 50 entries.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [ - { - "type": "string", - "description": "An offset token for fetching a specific page. Provided by the server.", - "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", - "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" }, { - "type": "integer", - "description": "The number of entries per page.", - "example": 50, - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - } - ], - "method": "get", - "mode": "list", - "responses": [ - { - "description": "List of PSKs.", + "description": "Color or account not found.", "schema": { "type": "object", "required": [ + "code", + "message", "object", - "limit", - "order", - "has_more", - "data" + "request_id", + "type" ], "properties": [ { - "type": "string", - "description": "An offset token for current page.", - "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", - "api_fieldname": "after", - "entity_fieldname": "after", - "_key": "after" - }, - { - "type": "string", - "description": "An offset token for fetching the next page. Note that exactly the same limit needs to be used on the request for fetching subsequent pages.", - "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810005", - "api_fieldname": "continuation_marker", - "entity_fieldname": "continuation_marker", - "_key": "continuation_marker" + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" }, { "type": "array", - "description": "Array of the PSK entries. The array is empty if there are no PSKs.", - "minLength": 0, + "description": "Request fields which failed validation.", "items": { "type": "object", "required": [ - "endpoint_name" + "name", + "message" ], "properties": [ { "type": "string", - "format": "date-time", - "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", - "example": "2017-07-21T17:32:28.012Z", - "_key": "created_at" + "description": "Message describing the error condition.", + "_key": "message" }, { "type": "string", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "_key": "endpoint_name" + "description": "Name of the field which caused the error.", + "_key": "name" } - ], - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - } + ] }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" + "_key": "fields" }, { - "type": "boolean", - "description": "More results are available.", - "example": true, - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" }, { - "type": "integer", - "description": "The value of limit query parameter from the request, or default if not specified.", - "example": 50, - "api_fieldname": "limit", - "entity_fieldname": "limit", - "_key": "limit" + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" }, { "type": "string", - "description": "The type of this API object is a \"list\".", - "example": "list", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" }, { "type": "string", - "description": "Record order based on creation time.", - "example": "DESC", - "api_fieldname": "order", - "entity_fieldname": "order", - "_key": "order" + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" } - ], - "pagination": true, - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - } + ] }, - "_key": "200" - }, - { - "description": "Bad request. Contains the error as a string, either TOKEN_NOT_FOUND or INVALID_LIMIT.", - "_key": "400" + "_key": "404" } ], - "path": "/v2/device-shared-keys", - "summary": "List PSKs.", - "return_type": "paginated_response(pre_shared_key)", + "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", + "summary": "Get dark theme branding color.", + "return_type": "subtenant_dark_theme_color", "return_info": { "self": true, "custom": false, - "type": "pre_shared_key" + "type": "subtenant_dark_theme_color" }, "x_filter": {}, "x_deprecation": null, @@ -49323,267 +57842,180 @@ "etag", "type", "filter", - "order", - "has_more", - "continuation_marker", - "data" + "color", + "updated_at" ], - "foreign_key_priority": "self", - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "listPreSharedKeys", - "pagination": true, - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - }, + "group_id": "Branding", + "operation_id": "getAccountDarkColor", + "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "list" + "_key": "read" }, { - "description": "Check if a PSK for an endpoint exists or not. The response does not contain the secret itself.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", + "description": "Update a dark theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", "field_renames": [], "fields": [ { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, "type": "string", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" }, { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "name": "endpoint_name", + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", "in": "path", "required": true, - "_key": "id" - } - ], - "method": "get", - "mode": "read", - "responses": [ - { - "description": "Pre-shared key for the device (does not contain secret).", - "schema": { - "type": "object", - "required": [ - "endpoint_name" - ], - "properties": [ - { - "type": "string", - "format": "date-time", - "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", - "example": "2017-07-21T17:32:28.012Z", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - } - ], - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - } - }, - "_key": "200" - }, - { - "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", - "schema": { - "type": "string" - }, - "_key": "400" - }, - { - "description": "Authentication failure.", - "_key": "401" + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" }, { - "description": "The PSK does not exist.", - "_key": "404" + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" } ], - "path": "/v2/device-shared-keys/{endpoint_name}", - "summary": "Get a PSK.", - "return_type": "pre_shared_key", - "return_info": { - "self": true, - "custom": false, - "type": "pre_shared_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "created_at" - ], - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "getPreSharedKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "read" - } - ], - "fields": [ - { - "type": "string", - "format": "date-time", - "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", - "example": "2017-07-21T17:32:28.012Z", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "required": false, - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", - "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "readOnly": false, - "required": false, - "_key": "id" - } - ], - "field_renames": [], - "tags": [ - "PreSharedKeys" - ], - "group_id": "Security", - "_key": "pre_shared_key" - }, - { - "swagger_models": [ - "ServerCredentialsResponseData" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "Return bootstrap server credentials for client to connect to bootstrap server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [], - "method": "get", - "mode": "get_bootstrap", + "method": "put", + "mode": "update", "responses": [ { - "description": "Bootstrap server credentials fetched successfully.", + "description": "Color has been set successfully.", "schema": { "type": "object", "properties": [ { "type": "string", - "format": "date-time", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "string", - "description": "Unique entity ID.", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" }, { "type": "string", - "description": "Entity name: always `server-credentials`.", + "description": "Entity name: always 'branding_color'", + "readOnly": true, + "enum": [ + "branding_color" + ], "api_fieldname": "object", "entity_fieldname": "object", + "name": "object", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", + "required": false, "_key": "object" }, { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], "type": "string", - "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", - "api_fieldname": "server_certificate", - "entity_fieldname": "server_certificate", - "_key": "server_certificate" + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_color_reference_enum", + "_key": "reference" }, { "type": "string", - "description": "Server URI that the client connects to.", - "api_fieldname": "server_uri", - "entity_fieldname": "server_uri", - "_key": "server_uri" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" } ], "foreign_key": { - "group": "Security", - "entity": "server_credentials" + "group": "Branding", + "entity": "subtenant_light_theme_color" } }, - "examples": [ - { - "object": "server-credentials", - "id": "015fee4431fd38c98640fbfb00000000", - "etag": "1", - "created_at": "2017-12-11T14:22:20.009Z", - "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", - "server_uri": "coaps://coap.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", - "_key": "Success" - } - ], "_key": "200" }, { - "description": "Bad request.", + "description": "Error in input data format.", "schema": { "type": "object", "required": [ @@ -49656,7 +58088,7 @@ "_key": "400" }, { - "description": "Invalid access token.", + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -49726,128 +58158,10 @@ } ] }, - "examples": [ - { - "object": "error", - "code": 401, - "type": "invalid_auth", - "message": "Invalid access token.", - "request_id": "015fee4431fd38c98640fbfb00000000", - "_key": "Authentication Error" - } - ], "_key": "401" - } - ], - "path": "/v3/server-credentials/bootstrap", - "summary": "Fetch bootstrap server credentials.", - "return_type": "server_credentials", - "return_info": { - "self": true, - "custom": false, - "type": "server_credentials" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "id", - "created_at", - "server_certificate", - "server_uri" - ], - "group_id": "Security", - "operation_id": "getBootstrapServerCredentials", - "additional_operations": [ - { - "operation_id": "getAllServerCredentials", - "notes": "The information returned by this endpoint can be obtained by calling `get_bootstrap`." - } - ], - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "get_bootstrap" - }, - { - "description": "Return LwM2M server credentials for client to connect to LwM2M server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [], - "method": "get", - "mode": "get_lwm2m", - "responses": [ - { - "description": "LwM2M server credentials fetched successfully.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "format": "date-time", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "string", - "description": "Unique entity ID.", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "description": "Entity name: always `server-credentials`.", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", - "api_fieldname": "server_certificate", - "entity_fieldname": "server_certificate", - "_key": "server_certificate" - }, - { - "type": "string", - "description": "Server URI that the client connects to.", - "api_fieldname": "server_uri", - "entity_fieldname": "server_uri", - "_key": "server_uri" - } - ], - "foreign_key": { - "group": "Security", - "entity": "server_credentials" - } - }, - "examples": [ - { - "object": "server-credentials", - "id": "015fee4431fd38c98640fbfb00000000", - "etag": "1", - "created_at": "2017-12-11T14:22:20.009Z", - "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", - "server_uri": "coaps://mds.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", - "_key": "Success" - } - ], - "_key": "200" }, { - "description": "Bad request.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -49917,10 +58231,10 @@ } ] }, - "_key": "400" + "_key": "403" }, { - "description": "Invalid access token.", + "description": "Color or account not found.", "schema": { "type": "object", "required": [ @@ -49990,26 +58304,16 @@ } ] }, - "examples": [ - { - "object": "error", - "code": 401, - "type": "invalid_auth", - "message": "Invalid access token.", - "request_id": "015fee4431fd38c98640fbfb00000000", - "_key": "Authentication Error" - } - ], - "_key": "401" + "_key": "404" } ], - "path": "/v3/server-credentials/lwm2m", - "summary": "Fetch LwM2M server credentials.", - "return_type": "server_credentials", + "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", + "summary": "Updates a dark theme branding color.", + "return_type": "subtenant_dark_theme_color", "return_info": { "self": true, "custom": false, - "type": "server_credentials" + "type": "subtenant_dark_theme_color" }, "x_filter": {}, "x_deprecation": null, @@ -50017,309 +58321,170 @@ "object", "etag", "type", - "filter", - "id", - "created_at", - "server_certificate", - "server_uri" + "filter" ], - "group_id": "Security", - "operation_id": "getL2M2MServerCredentials", + "group_id": "Branding", + "operation_id": "setAccountDarkColor", "additional_operations": [ { - "operation_id": "getAllServerCredentials", - "notes": "The information returned by this endpoint can be obtained by calling `get_lwm2m`." + "operation_id": "bulkSetAccountDarkColors", + "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." } ], "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "get_lwm2m" + "_key": "update" } ], "fields": [ { "type": "string", - "format": "date-time", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "string", - "description": "Unique entity ID.", - "api_fieldname": "id", - "readOnly": true, + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", "required": false, - "_key": "id" + "readOnly": false, + "_key": "color" }, { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], "type": "string", - "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", - "api_fieldname": "server_certificate", - "readOnly": true, + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", "required": false, - "_key": "server_certificate" + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "readOnly": false, + "_key": "reference" }, { "type": "string", - "description": "Server URI that the client connects to.", - "api_fieldname": "server_uri", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", "readOnly": true, + "api_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", "required": false, - "_key": "server_uri" + "_key": "updated_at" } ], "field_renames": [], "tags": [ - "Service security - server credentials" + "Tenant user interface configuration - colors" ], - "group_id": "Security", - "_key": "server_credentials" + "group_id": "Branding", + "_key": "subtenant_dark_theme_color" }, { "swagger_models": [ - "ApiKeyInfoReq", - "ApiKeyInfoResp", - "ApiKeyUpdateReq", - "GroupSummaryList" + "BrandingImage" ], - "primary_key_field": "id", + "primary_key_field": "reference", "methods": [ { - "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", + "description": "Revert an account branding image to dark theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, "parameter_fieldname": "account_id", - "in": "path", - "required": true, "_key": "account_id" }, { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "_key": "groups" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "_key": "owner" - }, - { + "is_primary_key": true, + "_override": true, "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", + "api_fieldname": "reference", + "entity_fieldname": "reference", "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "subtenant_api_key_status_enum", - "_key": "status" - } - ], - "method": "post", - "mode": "create", - "responses": [ - { - "description": "New entity created.", - "schema": { - "type": "object", - "required": [ - "etag", - "id", - "key", - "name", - "object" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "api_fieldname": "creation_time", - "entity_fieldname": "creation_time", - "_key": "creation_time" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "_key": "id" - }, - { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "api_fieldname": "key", - "entity_fieldname": "key", - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "api_fieldname": "last_login_time", - "entity_fieldname": "last_login_time", - "_key": "last_login_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always 'api-key'", - "enum": [ - "api-key" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "api_key_status_enum", - "_key": "status" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "description": "Represents an API key in Device Management.", - "foreign_key": { - "group": "Accounts", - "entity": "api_key" - } - }, - "_key": "201" + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "name": "reference", + "in": "path", + "description": "Name of the branding images (icon or picture).", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "post", + "mode": "delete", + "responses": [ + { + "description": "Image reverted successfully.", + "_key": "204" }, { - "description": "Error in input data, for example, missing display name.", + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -50389,10 +58554,10 @@ } ] }, - "_key": "400" + "_key": "401" }, { - "description": "Authentication failure.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -50462,10 +58627,10 @@ } ] }, - "_key": "401" + "_key": "403" }, { - "description": "Forbidden.", + "description": "Unknown image reference, or account not found.", "schema": { "type": "object", "required": [ @@ -50535,10 +58700,202 @@ } ] }, - "_key": "403" + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/clear", + "summary": "Revert an image to dark theme default.", + "return_type": "subtenant_dark_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_dark_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "clearAccountDarkImage", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve metadata of one account dark theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" }, { - "description": "An account with the given ID does not exist.", + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_image_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_image" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -50608,79 +58965,10 @@ } ] }, - "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/api-keys", - "summary": "Create a new API key.", - "return_type": "subtenant_api_key", - "return_info": { - "self": true, - "custom": false, - "type": "subtenant_api_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "id", - "created_at", - "updated_at", - "key", - "creation_time", - "last_login_time" - ], - "group_id": "Accounts", - "parameter_map": { - "apikey_id": "id" - }, - "operation_id": "createAccountApiKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "create" - }, - { - "description": "Delete an API key.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", - "field_renames": [], - "fields": [ - { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, - "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": false, - "parameter_fieldname": "account_id", - "_key": "account_id" - }, - { - "name": "apikey_id", - "in": "path", - "description": "The ID of the API key to delete.", - "required": true, - "type": "string", - "entity_fieldname": "id", - "api_fieldname": "apikey_id", - "external_param": false, - "parameter_fieldname": "apikey_id", - "_key": "id" - } - ], - "method": "delete", - "mode": "delete", - "responses": [ - { - "description": "Deleted successfully.", - "_key": "204" + "_key": "401" }, { - "description": "Authentication failure.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -50750,10 +59038,10 @@ } ] }, - "_key": "401" + "_key": "403" }, { - "description": "Forbidden.", + "description": "Unknown image reference, or account not found.", "schema": { "type": "object", "required": [ @@ -50821,12 +59109,230 @@ "example": "validation_error", "_key": "type" } - ] + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}", + "summary": "Get metadata of a dark theme image.", + "return_type": "subtenant_dark_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_dark_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "static_uri", + "updated_at" + ], + "group_id": "Branding", + "operation_id": "getAccountDarkImageData", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Upload a new account dark theme branding image as form data in PNG or JPEG format.", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "in": "stream", + "name": "image", + "description": "The image in PNG or JPEG format as multipart form data.", + "required": true, + "type": "file", + "entity_fieldname": "image", + "api_fieldname": "image", + "external_param": true, + "parameter_fieldname": "image", + "_key": "image" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "post", + "mode": "update", + "responses": [ + { + "description": "Image uploaded successfully.", + "headers": [ + { + "type": "string", + "description": "Location of the image metadata.", + "_key": "Content-Location" + }, + { + "type": "string", + "description": "Location of the image binary.", + "_key": "Location" + } + ], + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_image_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_image" + } }, - "_key": "403" + "_key": "201" }, { - "description": "An account or API key with the specified ID does not exist.", + "description": "Error in input data format, for example, image is too large.", "schema": { "type": "object", "required": [ @@ -50896,309 +59402,7 @@ } ] }, - "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", - "summary": "Delete the API key.", - "return_type": "subtenant_api_key", - "return_info": { - "self": true, - "custom": false, - "type": "subtenant_api_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Accounts", - "parameter_map": { - "apikey_id": "id" - }, - "operation_id": "deleteAccountApiKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "delete" - }, - { - "description": "Retrieve groups associated with the API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", - "field_renames": [], - "fields": [ - { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, - "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": false, - "parameter_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "name": "apikey_id", - "in": "path", - "description": "The ID of the API key.", - "required": true, - "type": "string", - "entity_fieldname": "id", - "api_fieldname": "apikey_id", - "external_param": false, - "parameter_fieldname": "apikey_id", - "_key": "id" - }, - { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, - "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", - "external_param": true, - "parameter_fieldname": "include", - "_key": "include" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "subtenant_api_key_order_enum", - "_key": "order" - } - ], - "method": "get", - "mode": "policy_groups", - "responses": [ - { - "description": "Successful operation.", - "schema": { - "type": "object", - "required": [ - "data", - "has_more", - "limit", - "object", - "total_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "type": "array", - "description": "A list of entities.", - "items": { - "type": "object", - "required": [ - "account_id", - "apikey_count", - "etag", - "id", - "name", - "object", - "user_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "_key": "created_at" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always `group`.", - "enum": [ - "group" - ], - "_key": "object" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "_key": "user_count" - } - ], - "description": "This object contains basic information about groups.", - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - } - }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" - }, - { - "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Entity name: always `list`.", - "enum": [ - "list" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "api_key_order_enum", - "_key": "order" - }, - { - "type": "integer", - "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" - } - ], - "pagination": true, - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - } - }, - "_key": "200" + "_key": "400" }, { "description": "Authentication failure.", @@ -51347,7 +59551,7 @@ "_key": "403" }, { - "description": "An account or API key with the specified ID does not exist.", + "description": "Unknown image reference.", "schema": { "type": "object", "required": [ @@ -51420,13 +59624,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}/groups", - "summary": "Get groups associated with the API key.", - "return_type": "paginated_response(subtenant_policy_group)", + "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart", + "summary": "Upload a dark theme image.", + "return_type": "subtenant_dark_theme_image", "return_info": { - "self": false, + "self": true, "custom": false, - "type": "subtenant_policy_group" + "type": "subtenant_dark_theme_image" }, "x_filter": {}, "x_deprecation": null, @@ -51435,71 +59639,458 @@ "etag", "type", "filter", - "total_count", - "has_more", - "data" + "static_uri", + "updated_at" ], - "group_id": "Accounts", - "parameter_map": { - "apikey_id": "id" - }, - "operation_id": "getGroupsOfAccountApikey", - "foreign_key": { - "entity": "subtenant_policy_group" - }, - "pagination": true, - "request_content_type": "application/json", - "request_body": "json", - "_key": "policy_groups" + "group_id": "Branding", + "operation_id": "uploadAccountDarkImageMultipart", + "additional_operations": [ + { + "operation_id": "uploadAccountDarkImage", + "notes": "The multipart endpoint is used by the SDKs as it offers the same functionality as the standard upload endpoint." + } + ], + "pagination": false, + "request_content_type": "multipart/form-data", + "request_body": "file", + "_key": "update" + } + ], + "fields": [ + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", + "required": false, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "readOnly": false, + "_key": "reference" }, { - "description": "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "required": false, + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant user interface configuration - images" + ], + "group_id": "Branding", + "_key": "subtenant_dark_theme_image" + }, + { + "swagger_models": [ + "CertificateGenerationReq", + "IdentityProviderCreationReq", + "IdentityProviderInfo", + "IdentityProviderList", + "IdentityProviderUpdateReq" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Create a new identity provider.", "field_renames": [], "fields": [ { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "parameter_fieldname": "account_id", - "in": "path", - "required": true, - "_key": "account_id" + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", + "in": "path", + "required": true, + "_key": "account_id" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "in": "query", + "name": "discovery", + "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", + "type": "boolean", + "allowEmptyValue": true, + "entity_fieldname": "discovery", + "api_fieldname": "discovery", + "external_param": true, + "parameter_fieldname": "discovery", + "required": false, + "_key": "discovery" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "name": "oidc_attributes", + "in": "body", + "schema_param": true, + "entity_fieldname": "oidc_attributes", + "api_fieldname": "oidc_attributes", + "external_param": true, + "parameter_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" }, { "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "_key": "id" + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_identity_provider_status_enum", + "_key": "status" } ], - "method": "get", - "mode": "read", + "method": "post", + "mode": "create", "responses": [ { - "description": "Successful operation.", + "description": "New entity created.", + "headers": [ + { + "type": "string", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + }, + { + "type": "string", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "_key": "Location" + } + ], "schema": { "type": "object", "required": [ "etag", "id", - "key", "name", - "object" + "object", + "type" ], "properties": [ { "type": "string", "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", + "description": "The ID of the account the identity provider belongs to.", "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", "entity_fieldname": "account_id", @@ -51515,13 +60106,15 @@ "_key": "created_at" }, { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "api_fieldname": "creation_time", - "entity_fieldname": "creation_time", - "_key": "creation_time" + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" }, { "type": "string", @@ -51531,53 +60124,30 @@ "entity_fieldname": "etag", "_key": "etag" }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "_key": "groups" - }, { "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", "pattern": "[a-f0-9]{32}", "api_fieldname": "id", "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, "_key": "id" }, { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "api_fieldname": "key", - "entity_fieldname": "key", - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "api_fieldname": "last_login_time", - "entity_fieldname": "last_login_time", - "_key": "last_login_time" + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" }, { "type": "string", "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", + "description": "Name of the identity provider.", "api_fieldname": "name", "entity_fieldname": "name", "parameter_fieldname": "name", @@ -51587,42 +60157,106 @@ }, { "type": "string", - "description": "Entity name: always 'api-key'", + "description": "Entity name: always 'identity-provider'", "enum": [ - "api-key" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", "in": "body", "required": false, - "_key": "owner" + "_key": "saml2_attributes" }, { "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", + "description": "Status of the identity provider.", "enum": [ "ACTIVE", - "INACTIVE" + "SUSPENDED" ], "api_fieldname": "status", "entity_fieldname": "status", "parameter_fieldname": "status", "in": "body", "required": false, - "enum_reference": "api_key_status_enum", + "enum_reference": "identity_provider_status_enum", "_key": "status" }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "name": "type", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "type", + "required": true, + "_key": "type" + }, { "type": "string", "format": "date-time", @@ -51633,16 +60267,15 @@ "_key": "updated_at" } ], - "description": "Represents an API key in Device Management.", "foreign_key": { "group": "Accounts", - "entity": "api_key" + "entity": "identity_provider" } }, - "_key": "200" + "_key": "201" }, { - "description": "Authentication failure.", + "description": "Error in input data, for example, too long name.", "schema": { "type": "object", "required": [ @@ -51712,10 +60345,10 @@ } ] }, - "_key": "401" + "_key": "400" }, { - "description": "Forbidden.", + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -51785,10 +60418,10 @@ } ] }, - "_key": "403" + "_key": "401" }, { - "description": "An account or API key with the specified ID does not exist.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -51801,345 +60434,67 @@ "properties": [ { "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", - "summary": "Get API key details.", - "return_type": "subtenant_api_key", - "return_info": { - "self": true, - "custom": false, - "type": "subtenant_api_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "created_at", - "updated_at", - "key", - "name", - "groups", - "owner", - "status", - "creation_time", - "last_login_time" - ], - "group_id": "Accounts", - "parameter_map": { - "apikey_id": "id" - }, - "operation_id": "getAccountApiKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "read" - }, - { - "description": "Update API key details.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", - "field_renames": [], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "parameter_fieldname": "account_id", - "in": "path", - "required": true, - "_key": "account_id" - }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "subtenant_api_key_status_enum", - "_key": "status" - } - ], - "method": "put", - "mode": "update", - "responses": [ - { - "description": "Successful operation.", - "schema": { - "type": "object", - "required": [ - "etag", - "id", - "key", - "name", - "object" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "api_fieldname": "creation_time", - "entity_fieldname": "creation_time", - "_key": "creation_time" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "_key": "id" - }, - { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "api_fieldname": "key", - "entity_fieldname": "key", - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "api_fieldname": "last_login_time", - "entity_fieldname": "last_login_time", - "_key": "last_login_time" + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" }, { "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" }, { "type": "string", - "description": "Entity name: always 'api-key'", + "description": "Entity name, always `error`.", "enum": [ - "api-key" + "error" ], - "api_fieldname": "object", - "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "api_key_status_enum", - "_key": "status" + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" }, { "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" } - ], - "description": "Represents an API key in Device Management.", - "foreign_key": { - "group": "Accounts", - "entity": "api_key" - } + ] }, - "_key": "200" + "_key": "403" }, { - "description": "Error in input data, for example, missing display name.", + "description": "Account not found.", "schema": { "type": "object", "required": [ @@ -52209,7 +60564,74 @@ } ] }, - "_key": "400" + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/identity-providers", + "summary": "Create a new identity provider.", + "return_type": "subtenant_identity_provider", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_identity_provider" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "id", + "created_at", + "updated_at", + "is_default" + ], + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "createAccountIdentityProvider", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "create" + }, + { + "description": "Delete an identity provider by ID.", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": false, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "name": "identity_provider_id", + "in": "path", + "description": "The ID of the identity provider to delete.", + "required": true, + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "identity_provider_id", + "external_param": false, + "parameter_fieldname": "identity_provider_id", + "_key": "id" + } + ], + "method": "delete", + "mode": "delete", + "responses": [ + { + "description": "Deleted successfully.", + "_key": "204" }, { "description": "Authentication failure.", @@ -52285,7 +60707,7 @@ "_key": "401" }, { - "description": "Forbidden.", + "description": "Forbidden, or identity provider is in use.", "schema": { "type": "object", "required": [ @@ -52358,7 +60780,7 @@ "_key": "403" }, { - "description": "An account ID or API key with the specified ID does not exist.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -52431,13 +60853,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", - "summary": "Update API key details.", - "return_type": "subtenant_api_key", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "summary": "Delete an identity provider by ID.", + "return_type": "subtenant_identity_provider", "return_info": { "self": true, "custom": false, - "type": "subtenant_api_key" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -52445,217 +60867,255 @@ "object", "etag", "type", - "filter", - "created_at", - "updated_at", - "key", - "creation_time", - "last_login_time" + "filter" ], "group_id": "Accounts", "parameter_map": { - "apikey_id": "id" + "identity_provider_id": "id" }, - "operation_id": "updateAccountApiKey", + "operation_id": "deleteAccountIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "update" - } - ], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "readOnly": false, - "required": true, - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "api_fieldname": "creation_time", - "readOnly": true, - "required": false, - "_key": "creation_time" - }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "readOnly": false, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "readOnly": false, - "_key": "id" - }, - { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "api_fieldname": "key", - "readOnly": true, - "required": false, - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "api_fieldname": "last_login_time", - "readOnly": true, - "required": false, - "_key": "last_login_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "readOnly": false, - "_key": "name" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "readOnly": false, - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "subtenant_api_key_status_enum", - "readOnly": false, - "_key": "status" + "_key": "delete" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "readOnly": true, - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant accounts - API keys" - ], - "group_id": "Accounts", - "_key": "subtenant_api_key" - }, - { - "swagger_models": [ - "BrandingColor" - ], - "primary_key_field": "reference", - "methods": [ - { - "description": "Resets the branding color of a tenant account to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a service provider certificate.", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": true, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { - "is_primary_key": true, - "_override": true, "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", - "description": "The name of the branding color.", "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" + "_key": "id" } ], - "method": "delete", - "mode": "delete", + "method": "post", + "mode": "delete_service_provider_certificate", "responses": [ { - "description": "Deleted successfully.", - "_key": "204" + "description": "Successful operation.", + "headers": [ + { + "type": "string", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + } + ], + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "name": "type", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "type", + "required": true, + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } + }, + "_key": "200" }, { "description": "Authentication failure.", @@ -52804,7 +61264,7 @@ "_key": "403" }, { - "description": "Color or account not found.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -52877,13 +61337,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", - "summary": "Reset branding color to default.", - "return_type": "void", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/delete-sp-certificate", + "summary": "Delete the service provider certificate.", + "return_type": "subtenant_identity_provider", "return_info": { - "self": false, - "custom": true, - "type": "void" + "self": true, + "custom": false, + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -52891,155 +61351,376 @@ "object", "etag", "type", - "filter" + "filter", + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "is_default" ], - "group_id": "Branding", - "operation_id": "resetAccountDarkColor", - "spec": { - "return_type": "void" + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" }, + "operation_id": "deleteAccountSpCertificate", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "delete" + "_key": "delete_service_provider_certificate" }, { - "description": "Retrieve the requested dark theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Generate a new service provider certificate.", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": true, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { + "type": "string", + "description": "The algorithm and its key size used for generating the certificate. Defaults to RSA2048.", "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" + "RSA2048", + "RSA3072", + "EC224", + "EC256", + "EC384", + "EC521", + "ECDSA224", + "ECDSA256", + "ECDSA384", + "ECDSA521" ], + "name": "algorithm", + "in": "body", + "schema_param": true, + "entity_fieldname": "algorithm", + "api_fieldname": "algorithm", + "external_param": true, + "parameter_fieldname": "algorithm", + "required": false, + "enum_reference": "subtenant_identity_provider_algorithm_enum", + "_key": "algorithm" + }, + { "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" + "_key": "id" + }, + { + "type": "integer", + "format": "int32", + "description": "Validity for the certificate in days.", + "name": "validity", + "in": "body", + "schema_param": true, + "entity_fieldname": "validity", + "api_fieldname": "validity", + "external_param": true, + "parameter_fieldname": "validity", + "required": false, + "_key": "validity" } ], - "method": "get", - "mode": "read", + "method": "post", + "mode": "generate_service_provider_certificate", "responses": [ { "description": "Successful operation.", + "headers": [ + { + "type": "string", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + } + ], "schema": { "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], "properties": [ { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", "in": "body", "required": false, - "_key": "color" + "_key": "description" }, { "type": "string", - "description": "Entity name: always 'branding_color'", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", "enum": [ - "branding_color" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", - "name": "object", + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", "required": false, - "_key": "object" + "_key": "saml2_attributes" }, { + "type": "string", + "description": "Status of the identity provider.", "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" + "ACTIVE", + "SUSPENDED" ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" + }, + { "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "name": "type", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "type", "required": true, - "enum_reference": "light_theme_color_reference_enum", - "_key": "reference" + "_key": "type" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, "_key": "updated_at" } ], "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_color" + "group": "Accounts", + "entity": "identity_provider" } }, "_key": "200" }, + { + "description": "Error in input data, for example, invalid certificate validity value.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, { "description": "Authentication failure.", "schema": { @@ -53187,7 +61868,7 @@ "_key": "403" }, { - "description": "Color or account not found.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -53260,13 +61941,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", - "summary": "Get dark theme branding color.", - "return_type": "subtenant_dark_theme_color", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/generate-sp-certificate", + "summary": "Generate a new service provider certificate.", + "return_type": "subtenant_identity_provider", "return_info": { "self": true, "custom": false, - "type": "subtenant_dark_theme_color" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -53275,18 +61956,26 @@ "etag", "type", "filter", - "color", - "updated_at" + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "is_default" ], - "group_id": "Branding", - "operation_id": "getAccountDarkColor", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "generateAccountSpCertificate", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "generate_service_provider_certificate" }, { - "description": "Update a dark theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "description": "Retrieve identity providers in an array.", "field_renames": [], "fields": [ { @@ -53297,228 +61986,323 @@ "type": "string", "entity_fieldname": "account_id", "api_fieldname": "account_id", - "external_param": true, + "external_param": false, "parameter_fieldname": "account_id", "_key": "account_id" }, { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", "required": false, - "_key": "color" + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" }, { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "method": "put", - "mode": "update", - "responses": [ - { - "description": "Color has been set successfully.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "_key": "color" - }, - { - "type": "string", - "description": "Entity name: always 'branding_color'", - "readOnly": true, - "enum": [ - "branding_color" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "name": "object", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", - "required": false, - "_key": "object" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "light_theme_color_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_color" - } - }, - "_key": "200" + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" }, { - "description": "Error in input data format.", + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "subtenant_identity_provider_order_enum", + "_key": "order" + } + ], + "method": "get", + "mode": "list", + "responses": [ + { + "description": "Successful operation.", "schema": { "type": "object", "required": [ - "code", - "message", + "data", + "has_more", + "limit", "object", - "request_id", - "type" + "total_count" ], "properties": [ { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" }, { "type": "array", - "description": "Request fields which failed validation.", + "description": "A list of entities.", "items": { "type": "object", "required": [ + "etag", + "id", "name", - "message" + "object", + "type" ], "properties": [ { "type": "string", - "description": "Message describing the error condition.", - "_key": "message" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" }, { "type": "string", - "description": "Name of the field which caused the error.", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" } - ] + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } }, - "_key": "fields" + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" }, { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always `list`.", "enum": [ - "error" + "list" ], + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "identity_provider_order_enum", + "_key": "order" }, { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" } - ] + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_identity_provider" + } }, - "_key": "400" + "_key": "200" }, { "description": "Authentication failure.", @@ -53667,7 +62451,7 @@ "_key": "403" }, { - "description": "Color or account not found.", + "description": "Account not found.", "schema": { "type": "object", "required": [ @@ -53740,13 +62524,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", - "summary": "Updates a dark theme branding color.", - "return_type": "subtenant_dark_theme_color", + "path": "/v3/accounts/{account_id}/identity-providers", + "summary": "Get all identity providers.", + "return_type": "paginated_response(subtenant_identity_provider)", "return_info": { "self": true, "custom": false, - "type": "subtenant_dark_theme_color" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -53754,167 +62538,256 @@ "object", "etag", "type", - "filter" - ], - "group_id": "Branding", - "operation_id": "setAccountDarkColor", - "additional_operations": [ - { - "operation_id": "bulkSetAccountDarkColors", - "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." - } + "filter", + "total_count", + "has_more", + "data" ], - "pagination": false, + "foreign_key_priority": "self", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "getAllAccountIdentityProviders", + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_identity_provider" + }, "request_content_type": "application/json", "request_body": "json", - "_key": "update" - } - ], - "fields": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "readOnly": false, - "_key": "color" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", - "required": false, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "readOnly": false, - "_key": "reference" + "_key": "list" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant user interface configuration - colors" - ], - "group_id": "Branding", - "_key": "subtenant_dark_theme_color" - }, - { - "swagger_models": [ - "BrandingImage" - ], - "primary_key_field": "reference", - "methods": [ - { - "description": "Revert an account branding image to dark theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Manage identity providers of a tenant account.", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": true, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { - "is_primary_key": true, - "_override": true, "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", - "description": "Name of the branding images (icon or picture).", "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" + "_key": "id" } ], - "method": "post", - "mode": "delete", + "method": "get", + "mode": "read", "responses": [ { - "description": "Image reverted successfully.", - "_key": "204" + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "name": "type", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "type", + "required": true, + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } + }, + "_key": "200" }, { "description": "Authentication failure.", @@ -54063,7 +62936,7 @@ "_key": "403" }, { - "description": "Unknown image reference, or account not found.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -54136,13 +63009,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/clear", - "summary": "Revert an image to dark theme default.", - "return_type": "subtenant_dark_theme_image", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "summary": "Retrieve identity provider by ID.", + "return_type": "subtenant_identity_provider", "return_info": { "self": true, "custom": false, - "type": "subtenant_dark_theme_image" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -54150,183 +63023,336 @@ "object", "etag", "type", - "filter" + "filter", + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "is_default" ], - "group_id": "Branding", - "operation_id": "clearAccountDarkImage", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "getAccountIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "delete" + "_key": "read" }, { - "description": "Retrieve metadata of one account dark theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Refreshes an OIDC IdP's signing keys.", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": true, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" + "_key": "id" } ], - "method": "get", - "mode": "read", + "method": "post", + "mode": "refresh_tokens", "responses": [ { "description": "Successful operation.", + "headers": [ + { + "type": "string", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + } + ], "schema": { "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], "properties": [ { "type": "string", - "description": "Entity name: always 'branding_image'", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", "enum": [ - "branding_image" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "light_theme_image_reference_enum", - "_key": "reference" + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" }, { "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "name": "type", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "type", + "required": true, + "_key": "type" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", "_key": "updated_at" } ], "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_image" + "group": "Accounts", + "entity": "identity_provider" } }, "_key": "200" }, + { + "description": "Not an OIDC IdP or JWKS URI is unspecified.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, { "description": "Authentication failure.", "schema": { @@ -54474,7 +63500,7 @@ "_key": "403" }, { - "description": "Unknown image reference, or account not found.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -54547,13 +63573,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}", - "summary": "Get metadata of a dark theme image.", - "return_type": "subtenant_dark_theme_image", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/refresh-jwks", + "summary": "Refreshes the OIDC signing keys.", + "return_type": "subtenant_identity_provider", "return_info": { "self": true, "custom": false, - "type": "subtenant_dark_theme_image" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -54562,210 +63588,553 @@ "etag", "type", "filter", - "static_uri", - "updated_at" + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "is_default" ], - "group_id": "Branding", - "operation_id": "getAccountDarkImageData", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "refreshAccountJwks", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "refresh_tokens" }, { - "description": "Upload a new account dark theme branding image as form data in PNG or JPEG format.", + "description": "Update an existing identity provider.", "field_renames": [], "fields": [ { - "name": "account_id", + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", "in": "path", - "description": "Account ID.", "required": true, + "_key": "account_id" + }, + { "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "in": "query", + "name": "discovery", + "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", + "type": "boolean", + "allowEmptyValue": true, + "entity_fieldname": "discovery", + "api_fieldname": "discovery", + "external_param": true, + "parameter_fieldname": "discovery", + "required": false, + "_key": "discovery" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "name": "oidc_attributes", + "in": "body", + "schema_param": true, + "entity_fieldname": "oidc_attributes", + "api_fieldname": "oidc_attributes", "external_param": true, - "parameter_fieldname": "account_id", - "_key": "account_id" + "parameter_fieldname": "oidc_attributes", + "_key": "oidc_attributes" }, { - "in": "stream", - "name": "image", - "description": "The image in PNG or JPEG format as multipart form data.", - "required": true, - "type": "file", - "entity_fieldname": "image", - "api_fieldname": "image", - "external_param": true, - "parameter_fieldname": "image", - "_key": "image" + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" }, { + "type": "string", + "description": "Status of the identity provider.", "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" + "ACTIVE", + "SUSPENDED" ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_identity_provider_status_enum", + "_key": "status" } ], - "method": "post", + "method": "put", "mode": "update", "responses": [ { - "description": "Image uploaded successfully.", - "headers": [ - { - "type": "string", - "description": "Location of the image metadata.", - "_key": "Content-Location" - }, - { - "type": "string", - "description": "Location of the image binary.", - "_key": "Location" - } - ], + "description": "Successful operation.", "schema": { "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], "properties": [ { "type": "string", - "description": "Entity name: always 'branding_image'", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", "enum": [ - "branding_image" + "identity-provider" ], "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "light_theme_image_reference_enum", - "_key": "reference" + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" }, { "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "name": "type", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "type", + "required": true, + "_key": "type" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", "_key": "updated_at" } ], "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_image" + "group": "Accounts", + "entity": "identity_provider" } }, - "_key": "201" + "_key": "200" }, { - "description": "Error in input data format, for example, image is too large.", + "description": "Error in input data, for example, missing name.", "schema": { "type": "object", "required": [ @@ -54984,7 +64353,7 @@ "_key": "403" }, { - "description": "Unknown image reference.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -55057,13 +64426,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart", - "summary": "Upload a dark theme image.", - "return_type": "subtenant_dark_theme_image", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "summary": "Update an existing identity provider.", + "return_type": "subtenant_identity_provider", "return_info": { "self": true, "custom": false, - "type": "subtenant_dark_theme_image" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -55072,103 +64441,174 @@ "etag", "type", "filter", - "static_uri", - "updated_at" - ], - "group_id": "Branding", - "operation_id": "uploadAccountDarkImageMultipart", - "additional_operations": [ - { - "operation_id": "uploadAccountDarkImage", - "notes": "The multipart endpoint is used by the SDKs as it offers the same functionality as the standard upload endpoint." - } + "created_at", + "updated_at", + "is_default" ], + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "updateAccountIdentityProvider", "pagination": false, - "request_content_type": "multipart/form-data", - "request_body": "file", + "request_content_type": "application/json", + "request_body": "json", "_key": "update" } ], "fields": [ { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "readOnly": false, + "required": true, + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", "required": false, - "enum_reference": "subtenant_dark_theme_image_reference_enum", "readOnly": false, - "_key": "reference" + "_key": "description" }, { "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "readOnly": false, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, - "api_fieldname": "static_uri", + "api_fieldname": "is_default", "required": false, - "_key": "static_uri" + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "readOnly": false, + "_key": "name" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "readOnly": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_identity_provider_status_enum", + "readOnly": false, + "_key": "status" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", + "readOnly": true, "required": false, "_key": "updated_at" } ], "field_renames": [], "tags": [ - "Tenant user interface configuration - images" + "Tenant accounts - identity providers" ], - "group_id": "Branding", - "_key": "subtenant_dark_theme_image" + "group_id": "Accounts", + "_key": "subtenant_identity_provider" }, { "swagger_models": [ diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 47b3a1872..243b941f3 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33033,196 +33033,533 @@ entities: - FirmwareManifest - FirmwareManifestPage tags: [] -- _key: light_theme_color +- _key: identity_provider field_renames: [] fields: - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - example: '#f3f93e' - in: body - parameter_fieldname: color + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: true + required: false + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + readOnly: true + required: false + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + maxLength: 500 readOnly: false required: false type: string - x-nullable: true - - _key: reference - _override: true - api_fieldname: reference - description: Color name. + - _key: id + api_fieldname: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: false + required: true + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity provider. + readOnly: true + required: false + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + maxLength: 100 + readOnly: false + required: true + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this empty + to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider in PEM + format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + readOnly: false + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. enum: - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: light_theme_color_reference_enum - in: path - is_primary_key: true - name: reference + - ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum readOnly: false required: false type: string - _key: updated_at api_fieldname: updated_at - description: Last update time in UTC. + description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' format: date-time - in: body - parameter_fieldname: updated_at readOnly: true required: false type: string - group_id: Branding + group_id: Accounts methods: - - _key: delete - description: 'Resets the branding color to its light theme default. - - - **Example:** - - ``` - - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: create + description: Create a new identity provider. drop_fields: - object - etag - type - filter + - id + - created_at + - updated_at + - account_id + - is_default field_renames: [] fields: - - _key: reference - _override: true - api_fieldname: reference - description: The name of the branding color. - entity_fieldname: reference - enum: &id004 - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: light_theme_color_reference_enum - in: path - is_primary_key: true - name: reference + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: discovery + allowEmptyValue: true + api_fieldname: discovery + description: 'Indicates that the OpenID Connect endpoints and keys should be + set using the OpenID Connect Discovery mechanism. The following parameters + are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint + * revocation_endpoint * jwks_uri * keys' + entity_fieldname: discovery + external_param: true + in: query + name: discovery + parameter_fieldname: discovery + required: false + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name required: true type: string - group_id: Branding - method: delete - mode: delete - operation_id: resetLightColor - pagination: false - path: /v3/branding-colors/light/{reference} - request_body: json - request_content_type: application/json - responses: - - _key: '204' - description: Deleted successfully. - - _key: '401' - description: Authentication failure. - schema: + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + external_param: true + in: body + name: oidc_attributes + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error + - _key: email + description: Custom claim name for 'email'. + example: email_address type: string - - _key: object - description: Entity name, always `error`. - enum: - - error + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. type: string - required: - - code - - message - - object - - request_id - - type - type: object - - _key: '403' - description: Forbidden. - schema: - properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error + x-nullable: true + - _key: name + description: Custom claim name for 'name'. type: string - - _key: object + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java + SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign ID + tokens. PEM-encoded. + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity provider's + API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication request. + When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the POST + mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in the + JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + schema_param: true + type: object + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider in + PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: &id004 + - ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum + in: body + parameter_fieldname: status + required: false + type: string + group_id: Accounts + method: post + mode: create + operation_id: createIdentityProvider + pagination: false + parameter_map: + identity_provider_id: id + path: /v3/identity-providers + request_body: json + request_content_type: application/json + responses: + - _key: '201' + description: New entity created. + headers: + - _key: Content-Location + description: /v3/identity-providers/{identity_provider_id} + type: string + - _key: Location + description: /v3/identity-providers/{identity_provider_id} + type: string + schema: + foreign_key: + entity: subtenant_identity_provider + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + maxLength: 500 + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + maxLength: 100 + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - name + - object + - type + type: object + - _key: '400' + description: Error in input data, for example, name is too long. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object description: Entity name, always `error`. enum: - error @@ -33242,8 +33579,56 @@ entities: - request_id - type type: object - - _key: '404' - description: Color not found. + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. schema: properties: - _key: code @@ -33291,170 +33676,95 @@ entities: - type type: object return_info: - custom: true - self: false - type: void - return_type: void - spec: - return_type: void - summary: Reset branding color to default. + custom: false + self: true + type: identity_provider + return_type: identity_provider + summary: Create a new identity provider. x_deprecation: null x_filter: {} - - _key: list - description: 'Retrieve the light theme branding colors. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \ - - -H ''Authorization: Bearer '' - - ```' + - _key: delete + description: Delete an identity provider by ID. drop_fields: - object - etag - type - filter - - limit - - after - - order - - total_count - - has_more - - data field_renames: [] fields: - - _key: reference - _override: true - api_fieldname: reference - entity_fieldname: reference - is_primary_key: true + - _key: id + api_fieldname: identity_provider_id + description: The ID of the identity provider to delete. + entity_fieldname: id + external_param: false + in: path + name: identity_provider_id + parameter_fieldname: identity_provider_id + required: true type: string - foreign_key: - entity: light_theme_color - group: Branding - foreign_key_priority: self - group_id: Branding - method: get - mode: list - operation_id: getLightColors - pagination: true - path: /v3/branding-colors/light + group_id: Accounts + method: delete + mode: delete + operation_id: deleteIdentityProvider + pagination: false + parameter_map: + identity_provider_id: id + path: /v3/identity-providers/{identity_provider_id} request_body: json request_content_type: application/json responses: - - _key: '200' - description: Successful operation. + - _key: '204' + description: Deleted successfully. + - _key: '401' + description: Authentication failure. schema: - foreign_key: - entity: light_theme_color - group: Branding - pagination: true properties: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: data - api_fieldname: data - description: A list of entities. - entity_fieldname: data + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. items: - foreign_key: - entity: dark_theme_color - group: Branding properties: - - _key: color - description: The color given as name (purple) or as a hex code. - example: '#f3f93e' - type: string - x-nullable: true - - _key: object - description: 'Entity name: always ''branding_color''' - enum: - - branding_color - readOnly: true - type: string - - _key: reference - _override: true - description: Color name. - enum: - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - is_primary_key: true + - _key: message + description: Message describing the error condition. type: string - - _key: updated_at - description: Last update time in UTC. - example: '2018-02-14T15:24:14Z' - format: date-time - readOnly: true + - _key: name + description: Name of the field which caused the error. type: string + required: + - name + - message type: object type: array - - _key: has_more - api_fieldname: has_more - description: Flag indicating whether there are more results. - entity_fieldname: has_more - example: false - type: boolean - - _key: limit - api_fieldname: limit - description: The number of results to return, or equal to `total_count`. - entity_fieldname: limit - example: 50 - format: int32 - type: integer + - _key: message + description: A human readable informative explanation + example: Validation error + type: string - _key: object - api_fieldname: object - description: 'Entity name: always `list`.' - entity_fieldname: object + description: Entity name, always `error`. enum: - - list + - error type: string - - _key: order - api_fieldname: order - description: 'The order of the records to return based on creation time. - Available values: ASC, DESC; by default ASC.' - entity_fieldname: order - enum: - - ASC - - DESC + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string - - _key: total_count - api_fieldname: total_count - description: The total number of records, if requested. - entity_fieldname: total_count - example: 20 - format: int32 - type: integer required: - - data - - has_more - - limit + - code + - message - object - - total_count + - request_id + - type type: object - - _key: '401' - description: Authentication failure. + - _key: '403' + description: Forbidden, or identity provider is in use. schema: properties: - _key: code @@ -33501,8 +33811,8 @@ entities: - request_id - type type: object - - _key: '403' - description: Forbidden. + - _key: '404' + description: Identity provider not found. schema: properties: - _key: code @@ -33552,125 +33862,185 @@ entities: return_info: custom: false self: true - type: light_theme_color - return_type: paginated_response(light_theme_color) - summary: Get light theme branding colors. + type: identity_provider + return_type: identity_provider + summary: Delete an identity provider by ID. x_deprecation: null x_filter: {} - - _key: read - description: 'Retrieve the requested light theme branding color. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: delete_service_provider_certificate + description: Delete a service provider certificate. drop_fields: - object - etag - type - filter - - color + - created_at - updated_at + - name + - description + - status + - saml2_attributes + - account_id + - is_default field_renames: [] fields: - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference - enum: *id004 - enum_reference: light_theme_color_reference_enum + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' required: true type: string - group_id: Branding - method: get - mode: read - operation_id: getLightColor + group_id: Accounts + method: post + mode: delete_service_provider_certificate + operation_id: deleteSpCertificate pagination: false - path: /v3/branding-colors/light/{reference} + parameter_map: + identity_provider_id: id + path: /v3/identity-providers/{identity_provider_id}/delete-sp-certificate request_body: json request_content_type: application/json responses: - _key: '200' description: Successful operation. + headers: + - _key: Content-Location + description: /v3/identity-providers/{identity_provider_id} + type: string schema: foreign_key: - entity: subtenant_light_theme_color - group: Branding + entity: subtenant_identity_provider + group: Accounts properties: - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - entity_fieldname: color - example: '#f3f93e' - in: body - parameter_fieldname: color - required: false + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' type: string - x-nullable: true - - _key: object - api_fieldname: object - description: 'Entity name: always ''branding_color''' - entity_fieldname: object - enum: - - branding_color - external_param: true - in: body - name: object - parameter_fieldname: object - readOnly: true - required: false - schema_param: true + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time type: string - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + maxLength: 500 + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + maxLength: 100 + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object enum: - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: dark_theme_color_reference_enum - in: path - is_primary_key: true - name: reference - required: true + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC type: string - _key: updated_at api_fieldname: updated_at - description: Last update time in UTC. + description: Last update UTC time RFC3339. entity_fieldname: updated_at example: '2018-02-14T15:24:14Z' format: date-time - in: body - parameter_fieldname: updated_at - readOnly: true - required: false type: string + required: + - etag + - id + - name + - object + - type type: object - _key: '401' description: Authentication failure. @@ -33769,7 +34139,7 @@ entities: - type type: object - _key: '404' - description: Color not found. + description: Identity provider not found. schema: properties: - _key: code @@ -33819,155 +34189,225 @@ entities: return_info: custom: false self: true - type: light_theme_color - return_type: light_theme_color - summary: Get light theme branding color. + type: identity_provider + return_type: identity_provider + summary: Delete the service provider certificate. x_deprecation: null x_filter: {} - - _key: update - additional_operations: - - notes: Bulk operation is not appriate for SDK's entity model, this functionality - is covered by the update method. - operation_id: bulkSetLightColors - description: 'Update light theme branding color. - - - **Example:** - - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary - \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{ "color": "purple" }'' - - ```' + - _key: generate_service_provider_certificate + description: Generate a new service provider certificate. drop_fields: - object - etag - type - filter + - created_at + - updated_at + - name + - description + - status + - saml2_attributes + - account_id + - is_default field_renames: [] fields: - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - entity_fieldname: color - example: '#f3f93e' + - _key: algorithm + api_fieldname: algorithm + description: The algorithm and its key size used for generating the certificate. + Defaults to RSA2048. + entity_fieldname: algorithm + enum: + - RSA2048 + - RSA3072 + - EC224 + - EC256 + - EC384 + - EC521 + - ECDSA224 + - ECDSA256 + - ECDSA384 + - ECDSA521 + enum_reference: identity_provider_algorithm_enum + external_param: true in: body - parameter_fieldname: color + name: algorithm + parameter_fieldname: algorithm required: false + schema_param: true type: string - x-nullable: true - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference - enum: *id004 - enum_reference: light_theme_color_reference_enum + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' required: true type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update time in UTC. - entity_fieldname: updated_at - example: '2018-02-14T15:24:14Z' - format: date-time + - _key: validity + api_fieldname: validity + description: Validity for the certificate in days. + entity_fieldname: validity + external_param: true + format: int32 in: body - parameter_fieldname: updated_at - readOnly: true + name: validity + parameter_fieldname: validity required: false - type: string - group_id: Branding - method: put - mode: update - operation_id: setLightColor + schema_param: true + type: integer + group_id: Accounts + method: post + mode: generate_service_provider_certificate + operation_id: generateSpCertificate pagination: false - path: /v3/branding-colors/light/{reference} + parameter_map: + identity_provider_id: id + path: /v3/identity-providers/{identity_provider_id}/generate-sp-certificate request_body: json request_content_type: application/json responses: - _key: '200' - description: Color has been set successfully. + description: Successful operation. + headers: + - _key: Content-Location + description: /v3/identity-providers/{identity_provider_id} + type: string schema: foreign_key: - entity: subtenant_light_theme_color - group: Branding + entity: subtenant_identity_provider + group: Accounts properties: - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - entity_fieldname: color - example: '#f3f93e' - in: body - parameter_fieldname: color - required: false + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + maxLength: 500 + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + maxLength: 100 type: string - x-nullable: true - _key: object api_fieldname: object - description: 'Entity name: always ''branding_color''' + description: 'Entity name: always ''identity-provider''' entity_fieldname: object enum: - - branding_color - external_param: true - in: body - name: object - parameter_fieldname: object - readOnly: true - required: false - schema_param: true + - identity-provider type: string - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status enum: - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: dark_theme_color_reference_enum - in: path - is_primary_key: true - name: reference - required: true + - ACTIVE + - SUSPENDED + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC type: string - _key: updated_at api_fieldname: updated_at - description: Last update time in UTC. + description: Last update UTC time RFC3339. entity_fieldname: updated_at example: '2018-02-14T15:24:14Z' format: date-time - in: body - parameter_fieldname: updated_at - readOnly: true - required: false type: string + required: + - etag + - id + - name + - object + - type type: object - _key: '400' - description: Error in input data format. + description: Error in input data, for example, invalid certificate validity + value. schema: properties: - _key: code @@ -34111,7 +34551,7 @@ entities: - type type: object - _key: '404' - description: Color not found. + description: Identity provider not found. schema: properties: - _key: code @@ -34161,174 +34601,266 @@ entities: return_info: custom: false self: true - type: light_theme_color - return_type: light_theme_color - summary: Updates light theme branding color. + type: identity_provider + return_type: identity_provider + summary: Generate a new service provider certificate. x_deprecation: null x_filter: {} - primary_key_field: reference - swagger_models: - - BrandingColor - - BrandingColorList - tags: - - User interface configuration - colors -- _key: light_theme_image - field_renames: [] - fields: - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - enum: - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: light_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - readOnly: false - required: false - type: string - - _key: static_uri - api_fieldname: static_uri - description: The static link to the image. - example: https://static.mbed.com/123456789.jpg - format: uri - readOnly: true - required: false - type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update time in UTC. - example: '2018-02-14T15:24:14Z' - format: date-time - readOnly: true - required: false - type: string - group_id: Branding - methods: - - _key: delete - description: 'Revert an account branding image to light theme default. - - - **Example:** - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: list + description: Retrieve identity providers in an array. drop_fields: - object - etag - type - filter + - total_count + - has_more + - data field_renames: [] fields: - - _key: reference - _override: true - api_fieldname: reference - description: Name of the branding images (icon or picture). - entity_fieldname: reference - enum: &id005 - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: light_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - required: true + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false type: string - group_id: Branding - method: post - mode: delete - operation_id: clearLightImage - pagination: false - path: /v3/branding-images/light/{reference}/clear + - _key: include + api_fieldname: include + description: 'Comma-separated additional data to return. Currently supported: + total_count.' + entity_fieldname: include + external_param: true + in: query + name: include + parameter_fieldname: include + required: false + type: string + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, DESC. + Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: identity_provider_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + foreign_key: + entity: identity_provider + group: Accounts + foreign_key_priority: self + group_id: Accounts + method: get + mode: list + operation_id: getAllIdentityProviders + pagination: true + parameter_map: + identity_provider_id: id + path: /v3/identity-providers request_body: json request_content_type: application/json responses: - - _key: '204' - description: Image reverted successfully. - - _key: '401' - description: Authentication failure. + - _key: '200' + description: Successful operation. schema: + foreign_key: + entity: identity_provider + group: Accounts + pagination: true properties: - - _key: code - description: HTTP response code + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + foreign_key: + entity: identity_provider + group: Accounts + properties: + - _key: account_id + description: The ID of the account the identity provider belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description for the identity provider. + maxLength: 500 + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + description: Flag indicating whether this is the global default identity + provider. + readOnly: true + type: boolean + - _key: name + description: Name of the identity provider. + maxLength: 100 + type: string + - _key: object + description: 'Entity name: always ''identity-provider''' + enum: + - identity-provider + type: string + - _key: saml2_attributes + description: Represents SAML2 specific attributes in responses. + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave + this empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM + format. This is a read-only attribute, see API documentation about + how to generate a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + description: Status of the identity provider. + enum: + - ACTIVE + - SUSPENDED + type: string + - _key: type + description: Identity provider type. + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - name + - object + - type + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + description: The number of results to return , or equal to `total_count`. + entity_fieldname: limit + example: 50 + format: int32 + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object + enum: + - list + type: string + - _key: order + api_fieldname: order + description: 'The order of the records to return based on creation time. + Available values: ASC, DESC; by default ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code example: 400 format: int32 type: integer @@ -34419,8 +34951,187 @@ entities: - request_id - type type: object - - _key: '404' - description: Unknown image reference. + return_info: + custom: false + self: true + type: identity_provider + return_type: paginated_response(identity_provider) + summary: Get all identity providers. + x_deprecation: null + x_filter: {} + - _key: read + description: Retrieve by ID. + drop_fields: + - object + - etag + - type + - filter + - created_at + - updated_at + - name + - description + - status + - saml2_attributes + - account_id + - is_default + field_renames: [] + fields: + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + group_id: Accounts + method: get + mode: read + operation_id: getIdentityProvider + pagination: false + parameter_map: + identity_provider_id: id + path: /v3/identity-providers/{identity_provider_id} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: subtenant_identity_provider + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + maxLength: 500 + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + maxLength: 100 + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - name + - object + - type + type: object + - _key: '401' + description: Authentication failure. schema: properties: - _key: code @@ -34467,191 +35178,8 @@ entities: - request_id - type type: object - return_info: - custom: false - self: true - type: light_theme_image - return_type: light_theme_image - summary: Revert an image to light theme default. - x_deprecation: null - x_filter: {} - - _key: list - description: 'Retrieve the metadata of all light theme branding images. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \ - - -H ''Authorization: Bearer '' - - ```' - drop_fields: - - object - - etag - - type - - filter - - limit - - after - - order - - total_count - - has_more - - data - field_renames: [] - fields: - - _key: reference - _override: true - api_fieldname: reference - entity_fieldname: reference - is_primary_key: true - type: string - foreign_key: - entity: light_theme_image - group: Branding - foreign_key_priority: self - group_id: Branding - method: get - mode: list - operation_id: getAllLightImageData - pagination: true - path: /v3/branding-images/light - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Successful operation. - schema: - foreign_key: - entity: light_theme_image - group: Branding - pagination: true - properties: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: data - api_fieldname: data - description: A list of entities. - entity_fieldname: data - items: - foreign_key: - entity: dark_theme_image - group: Branding - properties: - - _key: object - description: 'Entity name: always ''branding_image''' - enum: - - branding_image - readOnly: true - type: string - - _key: reference - _override: true - description: Name of the image. - enum: - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - is_primary_key: true - type: string - - _key: static_uri - description: The static link to the image. - example: https://static.mbed.com/123456789.jpg - format: uri - readOnly: true - type: string - - _key: updated_at - description: Last update time in UTC. - example: '2018-02-14T15:24:14Z' - format: date-time - readOnly: true - type: string - type: object - type: array - - _key: has_more - api_fieldname: has_more - description: Flag indicating whether there are more results. - entity_fieldname: has_more - example: false - type: boolean - - _key: limit - api_fieldname: limit - description: The number of results to return, or equal to `total_count`. - entity_fieldname: limit - example: 50 - format: int32 - type: integer - - _key: object - api_fieldname: object - description: 'Entity name: always `list`.' - entity_fieldname: object - enum: - - list - type: string - - _key: order - api_fieldname: order - description: 'The order of the records to return based on creation time. - Available values: ASC, DESC; by default ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - type: string - - _key: total_count - api_fieldname: total_count - description: The total number of records, if requested. - entity_fieldname: total_count - example: 20 - format: int32 - type: integer - required: - - data - - has_more - - limit - - object - - total_count - type: object - - _key: '401' - description: Authentication failure. + - _key: '403' + description: Forbidden. schema: properties: - _key: code @@ -34698,8 +35226,8 @@ entities: - request_id - type type: object - - _key: '403' - description: Forbidden. + - _key: '404' + description: Identity provider not found. schema: properties: - _key: code @@ -34749,135 +35277,233 @@ entities: return_info: custom: false self: true - type: light_theme_image - return_type: paginated_response(light_theme_image) - summary: Get metadata of all light theme images. + type: identity_provider + return_type: identity_provider + summary: Get identity provider by ID. x_deprecation: null x_filter: {} - - _key: read - description: 'Retrieve metadata for one account light theme branding image. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: refresh_tokens + description: Refreshes an OIDC IdP's signing keys. drop_fields: - object - etag - type - filter - - static_uri + - created_at - updated_at + - name + - description + - status + - saml2_attributes + - account_id + - is_default field_renames: [] fields: - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference - enum: *id005 - enum_reference: light_theme_image_reference_enum + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' required: true type: string - group_id: Branding - method: get - mode: read - operation_id: getLightImageData + group_id: Accounts + method: post + mode: refresh_tokens + operation_id: refreshJwks pagination: false - path: /v3/branding-images/light/{reference} + parameter_map: + identity_provider_id: id + path: /v3/identity-providers/{identity_provider_id}/refresh-jwks request_body: json request_content_type: application/json responses: - _key: '200' description: Successful operation. + headers: + - _key: Content-Location + description: /v3/identity-providers/{identity_provider_id} + type: string schema: foreign_key: - entity: subtenant_light_theme_image - group: Branding + entity: subtenant_identity_provider + group: Accounts properties: - - _key: object - api_fieldname: object - description: 'Entity name: always ''branding_image''' - entity_fieldname: object - enum: - - branding_image - readOnly: true + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' type: string - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference - enum: - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: dark_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - required: true + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time type: string - - _key: static_uri - api_fieldname: static_uri - description: The static link to the image. - entity_fieldname: static_uri - example: https://static.mbed.com/123456789.jpg - format: uri + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + maxLength: 500 + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + maxLength: 100 + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC type: string - _key: updated_at api_fieldname: updated_at - description: Last update time in UTC. + description: Last update UTC time RFC3339. entity_fieldname: updated_at example: '2018-02-14T15:24:14Z' format: date-time - readOnly: true type: string + required: + - etag + - id + - name + - object + - type + type: object + - _key: '400' + description: Not an OIDC IdP or JWKS URI is unspecified. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type type: object - _key: '401' description: Authentication failure. @@ -34976,7 +35602,7 @@ entities: - type type: object - _key: '404' - description: Unknown image reference. + description: Identity provider not found. schema: properties: - _key: code @@ -35026,147 +35652,402 @@ entities: return_info: custom: false self: true - type: light_theme_image - return_type: light_theme_image - summary: Get metadata of a light theme image. + type: identity_provider + return_type: identity_provider + summary: Refreshes the OIDC signing keys. x_deprecation: null x_filter: {} - _key: update - additional_operations: - - notes: The multipart request is more generic and better supported by SDKs. - operation_id: uploadLightImage - description: Upload a new account branding image as form data in the light theme - in PNG or JPEG format. + description: Update an existing identity provider. drop_fields: - object - etag - type - filter - - static_uri + - created_at - updated_at + - account_id + - is_default field_renames: [] fields: - - _key: image - api_fieldname: image - description: The image in PNG or JPEG format as multipart form data. - entity_fieldname: image + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: discovery + allowEmptyValue: true + api_fieldname: discovery + description: 'Indicates that the OpenID Connect endpoints and keys should be + set using the OpenID Connect Discovery mechanism. The following parameters + are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint + * revocation_endpoint * jwks_uri * keys' + entity_fieldname: discovery external_param: true - in: stream - name: image - parameter_fieldname: image - required: true - type: file - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference - enum: *id005 - enum_reference: light_theme_image_reference_enum + in: query + name: discovery + parameter_fieldname: discovery + required: false + type: boolean + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' required: true type: string - group_id: Branding - method: post - mode: update - operation_id: uploadLightImageMultipart - pagination: false - path: /v3/branding-images/light/{reference}/upload-multipart - request_body: file - request_content_type: multipart/form-data - responses: - - _key: '201' - description: Image uploaded successfully. - headers: - - _key: Content-Location - description: Location of the image metadata. - type: string - - _key: Location - description: Location of the image binary. + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + external_param: true + in: body + name: oidc_attributes + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. type: string - schema: - foreign_key: - entity: subtenant_light_theme_image - group: Branding + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. properties: - - _key: object - api_fieldname: object - description: 'Entity name: always ''branding_image''' - entity_fieldname: object - enum: - - branding_image - readOnly: true + - _key: email + description: Custom claim name for 'email'. + example: email_address type: string - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference - enum: - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: dark_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - required: true + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. type: string - - _key: static_uri - api_fieldname: static_uri - description: The static link to the image. - entity_fieldname: static_uri - example: https://static.mbed.com/123456789.jpg - format: uri + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java + SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign ID + tokens. PEM-encoded. + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity provider's + API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication request. + When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the POST + mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in the + JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + schema_param: true + type: object + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider in + PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: *id004 + enum_reference: identity_provider_status_enum + in: body + parameter_fieldname: status + required: false + type: string + group_id: Accounts + method: put + mode: update + operation_id: updateIdentityProvider + pagination: false + parameter_map: + identity_provider_id: id + path: /v3/identity-providers/{identity_provider_id} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: subtenant_identity_provider + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + maxLength: 500 + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + maxLength: 100 + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC type: string - _key: updated_at api_fieldname: updated_at - description: Last update time in UTC. + description: Last update UTC time RFC3339. entity_fieldname: updated_at example: '2018-02-14T15:24:14Z' format: date-time - readOnly: true type: string + required: + - etag + - id + - name + - object + - type type: object - _key: '400' - description: Error in input data format, for example, image is too large. + description: Error in input data, for example, missing name. schema: properties: - _key: code @@ -35310,7 +36191,7 @@ entities: - type type: object - _key: '404' - description: Unknown image reference. + description: Identity provider not found. schema: properties: - _key: code @@ -35360,267 +36241,82 @@ entities: return_info: custom: false self: true - type: light_theme_image - return_type: light_theme_image - summary: Upload a light theme image. + type: identity_provider + return_type: identity_provider + summary: Update an existing identity provider. x_deprecation: null x_filter: {} - primary_key_field: reference + primary_key_field: id swagger_models: - - BrandingImage - - BrandingImageList + - CertificateGenerationReq + - IdentityProviderCreationReq + - IdentityProviderInfo + - IdentityProviderList + - IdentityProviderUpdateReq tags: - - User interface configuration - images -- _key: login_history + - Account - identity providers +- _key: light_theme_color field_renames: [] fields: - - _key: date - api_fieldname: date - description: UTC time RFC3339 for this login attempt. - example: '2018-02-14T17:52:07Z' - format: date-time - readOnly: true - required: false - type: string - - _key: ip_address - api_fieldname: ip_address - description: IP address of the client. - example: 127.0.0.1 - readOnly: true - required: false - type: string - - _key: success - api_fieldname: success - description: Flag indicating whether login attempt was successful or not. - example: true - readOnly: true - required: false - type: boolean - - _key: user_agent - api_fieldname: user_agent - description: User Agent header from the login request. - example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, - like Gecko) Chrome/41.0.2227.1 Safari/537.36 - readOnly: true + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + example: '#f3f93e' + in: body + parameter_fieldname: color + readOnly: false required: false type: string - group_id: Accounts - methods: [] - primary_key_field: null - swagger_models: - - LoginHistory - tags: [] -- _key: login_profile - field_renames: [] - fields: - - _key: id - _override: true - api_fieldname: id - description: ID of the identity provider. - readOnly: false - required: false - type: string - - _key: name + x-nullable: true + - _key: reference _override: true - api_fieldname: name - description: Name of the identity provider. - readOnly: false - required: false - type: string - group_id: Accounts - methods: [] - primary_key_field: id - swagger_models: - - LoginProfile - tags: [] -- _key: parent_account - field_renames: [] - fields: - - _key: admin_email - api_fieldname: admin_email - description: The email address of the admin user who is the contact person of - the parent account. - example: info@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - readOnly: true - required: false - type: string - - _key: admin_name - api_fieldname: admin_name - description: The name of the admin user who is the contact person of the parent - account. - example: J. Doe - maxLength: 100 - readOnly: true - required: false - type: string - - _key: id - api_fieldname: id - description: The ID of the parent account. - example: 01619571dad80242ac12000600000000 - pattern: '[a-f0-9]{32}' - readOnly: true - required: false - type: string - group_id: Accounts - methods: [] - primary_key_field: id - swagger_models: - - ParentAccountInfo - tags: [] -- _key: password_policy - field_renames: [] - fields: - - _key: minimum_length - api_fieldname: minimum_length - description: Minimum length for the password. - example: '8' - maximum: 512 - minimum: 8 - readOnly: true - required: false - type: integer - group_id: Accounts - methods: [] - primary_key_field: null - swagger_models: - - PasswordPolicy - tags: [] -- _key: policy - field_renames: [] - fields: - - _key: action - api_fieldname: action - description: Comma-separated list of actions, empty string represents all actions. - example: GET - readOnly: true - required: false - type: string - - _key: allow - api_fieldname: allow - description: True or false controlling whether an action is allowed or not. - example: true - readOnly: true - required: false - type: boolean - - _key: feature - api_fieldname: feature - description: Feature name corresponding to this policy. - example: update-campaigns - readOnly: true - required: false - type: string - - _key: inherited - api_fieldname: inherited - description: Flag indicating whether this feature is inherited or overwritten - specifically. - example: false - readOnly: true - required: false - type: boolean - - _key: inherited_from - api_fieldname: inherited_from - description: An ID indicating where this policy is inherited from. - example: 016ada3ec2d46665bf66e32e00000000 - pattern: '[a-f0-9]{32}' - readOnly: true - required: false - type: string - - _key: inherited_type - api_fieldname: inherited_type - description: Indicates the type of entity this policy is inherited from. + api_fieldname: reference + description: Color name. enum: - - account - - template - - tier_template - enum_reference: policy_inherited_type_enum - example: account - readOnly: true - required: false - type: string - - _key: resource - api_fieldname: resource - description: Resource that is protected by this policy. - example: /v3/update-campaign - readOnly: true - required: false - type: string - group_id: Accounts - methods: [] - primary_key_field: null - swagger_models: - - FeaturePolicy - tags: [] -- _key: policy_group - field_renames: [] - fields: - - _key: account_id - api_fieldname: account_id - description: The ID of the account this group belongs to. - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - readOnly: true - required: false - type: string - - _key: apikey_count - api_fieldname: apikey_count - description: The number of API keys in this group. - example: 0 - format: int32 - readOnly: true - required: false - type: integer - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - example: '2018-02-13T09:35:20Z' - format: date-time - readOnly: true - required: false - type: string - - _key: id - api_fieldname: id - description: The ID of the group. - example: 01619571dec00242ac12000600000000 - pattern: '[a-f0-9]{32}' + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: light_theme_color_reference_enum + in: path + is_primary_key: true + name: reference readOnly: false - required: true - type: string - - _key: name - api_fieldname: name - description: The name of the group. - example: Administrators - maxLength: 100 - readOnly: true required: false type: string - _key: updated_at api_fieldname: updated_at - description: Last update UTC time RFC3339. + description: Last update time in UTC. example: '2018-02-14T15:24:14Z' format: date-time + in: body + parameter_fieldname: updated_at readOnly: true required: false type: string - - _key: user_count - api_fieldname: user_count - description: The number of users in this group. - example: 1 - format: int32 - readOnly: true - required: false - type: integer - group_id: Accounts + group_id: Branding methods: - - _key: api_keys - description: 'Manage policy groups. + - _key: delete + description: 'Resets the branding color to its light theme default. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ -H ''Authorization: Bearer '' @@ -35631,246 +36327,47 @@ entities: - etag - type - filter - - total_count - - has_more - - data field_renames: [] fields: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' - required: false - type: string - - _key: id - api_fieldname: group_id - description: The ID of the group. - entity_fieldname: id - external_param: false - in: path - name: group_id - parameter_fieldname: group_id - required: true - type: string - - _key: include - api_fieldname: include - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - entity_fieldname: include - external_param: true - in: query - name: include - parameter_fieldname: include - required: false - type: string - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true - format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false - type: integer - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. - Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: policy_group_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order - required: false + - _key: reference + _override: true + api_fieldname: reference + description: The name of the branding color. + entity_fieldname: reference + enum: &id005 + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: light_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true type: string - foreign_key: - entity: api_key - group_id: Accounts - method: get - mode: api_keys - operation_id: getApiKeysOfGroup - pagination: true - parameter_map: - group_id: id - path: /v3/policy-groups/{group_id}/api-keys + group_id: Branding + method: delete + mode: delete + operation_id: resetLightColor + pagination: false + path: /v3/branding-colors/light/{reference} request_body: json request_content_type: application/json responses: - - _key: '200' - description: Successful operation. - schema: - foreign_key: - entity: api_key - group: Accounts - pagination: true - properties: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' - required: false - type: string - - _key: data - api_fieldname: data - description: A list of entities. - entity_fieldname: data - items: - description: Represents an API key in Device Management. - foreign_key: - entity: api_key - group: Accounts - properties: - - _key: account_id - description: The ID of the account. - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: created_at - description: Creation UTC time RFC3339. - example: '2018-02-13T09:35:20Z' - format: date-time - type: string - - _key: creation_time - description: The timestamp of the API key creation in the storage, in - milliseconds. - example: 1518630727683 - format: int64 - type: integer - - _key: etag - description: API resource entity version. - example: '1' - type: string - - _key: groups - description: A list of group IDs this API key belongs to. - items: - type: string - type: array - - _key: id - description: The ID of the API key. - example: 01619571f7020242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: key - description: The API key. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 - type: string - - _key: last_login_time - description: The timestamp of the latest API key usage, in milliseconds. - example: 1518630727688 - format: int64 - type: integer - - _key: name - description: The display name for the API key. - example: API key gorgon - maxLength: 100 - type: string - - _key: object - description: 'Entity name: always ''api-key''' - enum: - - api-key - type: string - - _key: owner - description: The owner of this API key, who is the creator by default. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: status - description: The status of the API key. - enum: - - ACTIVE - - INACTIVE - example: ACTIVE - type: string - - _key: updated_at - description: Last update UTC time RFC3339. - example: '2018-02-14T15:24:14Z' - format: date-time - type: string - required: - - etag - - id - - key - - name - - object - type: object - type: array - - _key: has_more - api_fieldname: has_more - description: Flag indicating whether there are more results. - entity_fieldname: has_more - example: false - type: boolean - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true - format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false - type: integer - - _key: object - api_fieldname: object - description: 'Entity name: always `list`.' - entity_fieldname: object - enum: - - list - type: string - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: account_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order - required: false - type: string - - _key: total_count - api_fieldname: total_count - description: The total number of records, if requested. - entity_fieldname: total_count - example: 20 - format: int32 - type: integer - required: - - data - - has_more - - limit - - object - - total_count - type: object + - _key: '204' + description: Deleted successfully. - _key: '401' description: Authentication failure. schema: @@ -35968,7 +36465,7 @@ entities: - type type: object - _key: '404' - description: A group with that ID does not exist. + description: Color not found. schema: properties: - _key: code @@ -36016,22 +36513,24 @@ entities: - type type: object return_info: - custom: false + custom: true self: false - type: api_key - return_type: paginated_response(api_key) - summary: Get the API keys of a group. + type: void + return_type: void + spec: + return_type: void + summary: Reset branding color to default. x_deprecation: null x_filter: {} - _key: list - description: 'Retrieve all group information. + description: 'Retrieve the light theme branding colors. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \ -H ''Authorization: Bearer '' @@ -36041,76 +36540,30 @@ entities: - etag - type - filter + - limit + - after + - order - total_count - has_more - data - - name__eq field_renames: [] fields: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' - required: false - type: string - - _key: include - api_fieldname: include - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - entity_fieldname: include - external_param: true - in: query - name: include - parameter_fieldname: include - required: false - type: string - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true - format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false - type: integer - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. - Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: policy_group_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order - required: false + - _key: reference + _override: true + api_fieldname: reference + entity_fieldname: reference + is_primary_key: true type: string foreign_key: - entity: policy_group - group: Accounts + entity: light_theme_color + group: Branding foreign_key_priority: self - group_id: Accounts + group_id: Branding method: get mode: list - operation_id: getAllGroups + operation_id: getLightColors pagination: true - parameter_map: - group_id: id - path: /v3/policy-groups + path: /v3/branding-colors/light request_body: json request_content_type: application/json responses: @@ -36118,8 +36571,8 @@ entities: description: Successful operation. schema: foreign_key: - entity: policy_group - group: Accounts + entity: light_theme_color + group: Branding pagination: true properties: - _key: after @@ -36127,75 +36580,56 @@ entities: description: The entity ID to fetch after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after pattern: '[a-f0-9]{32}' - required: false type: string - _key: data api_fieldname: data description: A list of entities. entity_fieldname: data items: - description: This object contains basic information about groups. foreign_key: - entity: subtenant_policy_group - group: Accounts + entity: dark_theme_color + group: Branding properties: - - _key: account_id - description: The ID of the account this group belongs to. - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: apikey_count - description: The number of API keys in this group. - example: 0 - format: int32 - type: integer - - _key: created_at - description: Creation UTC time RFC3339. - example: '2018-02-13T09:35:20Z' - format: date-time - type: string - - _key: etag - description: API resource entity version. - example: '1' - type: string - - _key: id - description: The ID of the group. - example: 01619571dec00242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: name - description: The name of the group. - example: Administrators - maxLength: 100 + - _key: color + description: The color given as name (purple) or as a hex code. + example: '#f3f93e' type: string + x-nullable: true - _key: object - description: 'Entity name: always `group`.' + description: 'Entity name: always ''branding_color''' enum: - - group + - branding_color + readOnly: true + type: string + - _key: reference + _override: true + description: Color name. + enum: + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + is_primary_key: true type: string - _key: updated_at - description: Last update UTC time RFC3339. + description: Last update time in UTC. example: '2018-02-14T15:24:14Z' format: date-time + readOnly: true type: string - - _key: user_count - description: The number of users in this group. - example: 1 - format: int32 - type: integer - required: - - account_id - - apikey_count - - etag - - id - - name - - object - - user_count type: object type: array - _key: has_more @@ -36206,16 +36640,10 @@ entities: type: boolean - _key: limit api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. + description: The number of results to return, or equal to `total_count`. entity_fieldname: limit example: 50 - external_param: true format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false type: integer - _key: object api_fieldname: object @@ -36226,19 +36654,12 @@ entities: type: string - _key: order api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'The order of the records to return based on creation time. + Available values: ASC, DESC; by default ASC.' entity_fieldname: order enum: - ASC - DESC - enum_reference: subtenant_api_key_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order - required: false type: string - _key: total_count api_fieldname: total_count @@ -36353,22 +36774,20 @@ entities: return_info: custom: false self: true - type: policy_group - return_type: paginated_response(policy_group) - summary: Get all group information. + type: light_theme_color + return_type: paginated_response(light_theme_color) + summary: Get light theme branding colors. x_deprecation: null - x_filter: - name: - - eq + x_filter: {} - _key: read - description: 'Retrieve general information about a group. + description: 'Retrieve the requested light theme branding color. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ -H ''Authorization: Bearer '' @@ -36379,113 +36798,101 @@ entities: - etag - type - filter - - created_at + - color - updated_at - - account_id - - name - - user_count - - apikey_count field_renames: [] fields: - - _key: id - api_fieldname: id - description: The ID of the group. - entity_fieldname: id - example: 01619571dec00242ac12000600000000 + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: *id005 + enum_reference: light_theme_color_reference_enum in: path - parameter_fieldname: group_id - pattern: '[a-f0-9]{32}' + is_primary_key: true + name: reference required: true type: string - group_id: Accounts + group_id: Branding method: get mode: read - operation_id: getGroupSummary + operation_id: getLightColor pagination: false - parameter_map: - group_id: id - path: /v3/policy-groups/{group_id} + path: /v3/branding-colors/light/{reference} request_body: json request_content_type: application/json responses: - _key: '200' description: Successful operation. schema: - description: This object contains basic information about groups. foreign_key: - entity: subtenant_policy_group - group: Accounts + entity: subtenant_light_theme_color + group: Branding properties: - - _key: account_id - api_fieldname: account_id - description: The ID of the account this group belongs to. - entity_fieldname: account_id - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: apikey_count - api_fieldname: apikey_count - description: The number of API keys in this group. - entity_fieldname: apikey_count - example: 0 - format: int32 - type: integer - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - entity_fieldname: created_at - example: '2018-02-13T09:35:20Z' - format: date-time - type: string - - _key: etag - api_fieldname: etag - description: API resource entity version. - entity_fieldname: etag - example: '1' - type: string - - _key: id - api_fieldname: id - description: The ID of the group. - entity_fieldname: id - example: 01619571dec00242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: name - api_fieldname: name - description: The name of the group. - entity_fieldname: name - example: Administrators - maxLength: 100 + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + entity_fieldname: color + example: '#f3f93e' + in: body + parameter_fieldname: color + required: false type: string + x-nullable: true - _key: object api_fieldname: object - description: 'Entity name: always `group`.' + description: 'Entity name: always ''branding_color''' entity_fieldname: object enum: - - group + - branding_color + external_param: true + in: body + name: object + parameter_fieldname: object + readOnly: true + required: false + schema_param: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: dark_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true type: string - _key: updated_at api_fieldname: updated_at - description: Last update UTC time RFC3339. + description: Last update time in UTC. entity_fieldname: updated_at example: '2018-02-14T15:24:14Z' format: date-time + in: body + parameter_fieldname: updated_at + readOnly: true + required: false type: string - - _key: user_count - api_fieldname: user_count - description: The number of users in this group. - entity_fieldname: user_count - example: 1 - format: int32 - type: integer - required: - - account_id - - apikey_count - - etag - - id - - name - - object - - user_count type: object - _key: '401' description: Authentication failure. @@ -36584,7 +36991,7 @@ entities: - type type: object - _key: '404' - description: A group with that ID does not exist. + description: Color not found. schema: properties: - _key: code @@ -36634,23 +37041,31 @@ entities: return_info: custom: false self: true - type: policy_group - return_type: policy_group - summary: Get group information. + type: light_theme_color + return_type: light_theme_color + summary: Get light theme branding color. x_deprecation: null x_filter: {} - - _key: users - description: 'Retrieve users of a group with details. + - _key: update + additional_operations: + - notes: Bulk operation is not appriate for SDK's entity model, this functionality + is covered by the update method. + operation_id: bulkSetLightColors + description: 'Update light theme branding color. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "color": "purple" }'' ```' drop_fields: @@ -36658,235 +37073,3042 @@ entities: - etag - type - filter - - total_count - - has_more - - data - - status__eq - - status__in - - status__nin field_renames: [] fields: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + entity_fieldname: color + example: '#f3f93e' + in: body + parameter_fieldname: color required: false type: string - - _key: id - api_fieldname: group_id - description: The ID of the group. - entity_fieldname: id - external_param: false + x-nullable: true + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: *id005 + enum_reference: light_theme_color_reference_enum in: path - name: group_id - parameter_fieldname: group_id + is_primary_key: true + name: reference required: true type: string - - _key: include - api_fieldname: include - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - entity_fieldname: include - external_param: true - in: query - name: include - parameter_fieldname: include - required: false - type: string - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true - format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false - type: integer - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. - Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: policy_group_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + in: body + parameter_fieldname: updated_at + readOnly: true required: false type: string - foreign_key: - entity: user - group_id: Accounts - method: get - mode: users - operation_id: getUsersOfGroup - pagination: true - parameter_map: - group_id: id - path: /v3/policy-groups/{group_id}/users + group_id: Branding + method: put + mode: update + operation_id: setLightColor + pagination: false + path: /v3/branding-colors/light/{reference} request_body: json request_content_type: application/json responses: - _key: '200' - description: Successful operation. + description: Color has been set successfully. schema: foreign_key: - entity: user - group: Accounts - pagination: true + entity: subtenant_light_theme_color + group: Branding properties: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + entity_fieldname: color + example: '#f3f93e' + in: body + parameter_fieldname: color + required: false + type: string + x-nullable: true + - _key: object + api_fieldname: object + description: 'Entity name: always ''branding_color''' + entity_fieldname: object + enum: + - branding_color external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' + in: body + name: object + parameter_fieldname: object + readOnly: true required: false + schema_param: true type: string - - _key: data - api_fieldname: data - description: A list of entities. - entity_fieldname: data - items: - description: Represents a user in Device Management. - foreign_key: - entity: user - group: Accounts - properties: - - _key: account_id - description: The ID of the account. - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: active_sessions - description: List of active user sessions. - items: - description: Represents an active user session. - foreign_key: - entity: active_session - group: Accounts - properties: - - _key: account_id - api_fieldname: account_id - description: The UUID of the account. - entity_fieldname: account_id - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: ip_address - api_fieldname: ip_address - description: IP address of the client. - entity_fieldname: ip_address - example: 127.0.0.1 - type: string - - _key: login_time - api_fieldname: login_time - description: The login time of the user. - entity_fieldname: login_time - example: '2018-02-14T17:52:07Z' - format: date-time - type: string - - _key: object - api_fieldname: object - description: 'Entity name: always ''user-session''' - entity_fieldname: object - enum: - - user-session - type: string - - _key: reference_token - api_fieldname: reference_token - description: The reference token. - entity_fieldname: reference_token - example: rt_CI6+5hS8p9DrCmkRyS6u4doUdiXr71dX7MqD+g0327hYQthEkYTxMMnCwHyf1rDdk - type: string - - _key: user_agent - api_fieldname: user_agent - description: User Agent header from the login request. - entity_fieldname: user_agent - example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 - (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36 - type: string - required: - - account_id - - ip_address - - login_time - - object - - reference_token - - user_agent - type: object - type: array - - _key: address - description: Address. - example: 110 Fulbourn Rd, Cambridge, United Kingdom + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: dark_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + in: body + parameter_fieldname: updated_at + readOnly: true + required: false + type: string + type: object + - _key: '400' + description: Error in input data format. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. type: string - x-nullable: true - - _key: created_at - description: Creation UTC time RFC3339. - example: '2018-02-13T09:35:20Z' - format: date-time + - _key: name + description: Name of the field which caused the error. type: string - - _key: creation_time - description: A timestamp of the user creation in the storage, in milliseconds. - example: 1518630727683 - format: int64 - type: integer - - _key: custom_fields - additionalProperties: - type: string - description: User's account-specific custom properties. The value is - a string. - type: object - x-nullable: true - - _key: email - description: The email address. - example: user@arm.com - pattern: ^(?=.{3,254}$).+\@.+ + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. type: string - - _key: email_verified - description: A flag indicating whether the user's email address has - been verified or not. - example: true - type: boolean - - _key: etag - description: API resource entity version. - example: '1' + - _key: name + description: Name of the field which caused the error. type: string - - _key: full_name - description: The full name of the user. - example: User Doe - maxLength: 100 + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. type: string - x-nullable: true - - _key: groups - description: A list of IDs of the groups this user belongs to. - items: - type: string - type: array - - _key: id - description: The ID of the user. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' + - _key: name + description: Name of the field which caused the error. type: string - - _key: is_gtc_accepted - description: A flag indicating that the user has accepted General Terms + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: Color not found. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: light_theme_color + return_type: light_theme_color + summary: Updates light theme branding color. + x_deprecation: null + x_filter: {} + primary_key_field: reference + swagger_models: + - BrandingColor + - BrandingColorList + tags: + - User interface configuration - colors +- _key: light_theme_image + field_renames: [] + fields: + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + enum: + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: light_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + readOnly: false + required: false + type: string + - _key: static_uri + api_fieldname: static_uri + description: The static link to the image. + example: https://static.mbed.com/123456789.jpg + format: uri + readOnly: true + required: false + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + required: false + type: string + group_id: Branding + methods: + - _key: delete + description: 'Revert an account branding image to light theme default. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: reference + _override: true + api_fieldname: reference + description: Name of the branding images (icon or picture). + entity_fieldname: reference + enum: &id006 + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: light_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + group_id: Branding + method: post + mode: delete + operation_id: clearLightImage + pagination: false + path: /v3/branding-images/light/{reference}/clear + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Image reverted successfully. + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: Unknown image reference. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: light_theme_image + return_type: light_theme_image + summary: Revert an image to light theme default. + x_deprecation: null + x_filter: {} + - _key: list + description: 'Retrieve the metadata of all light theme branding images. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - limit + - after + - order + - total_count + - has_more + - data + field_renames: [] + fields: + - _key: reference + _override: true + api_fieldname: reference + entity_fieldname: reference + is_primary_key: true + type: string + foreign_key: + entity: light_theme_image + group: Branding + foreign_key_priority: self + group_id: Branding + method: get + mode: list + operation_id: getAllLightImageData + pagination: true + path: /v3/branding-images/light + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: light_theme_image + group: Branding + pagination: true + properties: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + foreign_key: + entity: dark_theme_image + group: Branding + properties: + - _key: object + description: 'Entity name: always ''branding_image''' + enum: + - branding_image + readOnly: true + type: string + - _key: reference + _override: true + description: Name of the image. + enum: + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + is_primary_key: true + type: string + - _key: static_uri + description: The static link to the image. + example: https://static.mbed.com/123456789.jpg + format: uri + readOnly: true + type: string + - _key: updated_at + description: Last update time in UTC. + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + description: The number of results to return, or equal to `total_count`. + entity_fieldname: limit + example: 50 + format: int32 + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object + enum: + - list + type: string + - _key: order + api_fieldname: order + description: 'The order of the records to return based on creation time. + Available values: ASC, DESC; by default ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: light_theme_image + return_type: paginated_response(light_theme_image) + summary: Get metadata of all light theme images. + x_deprecation: null + x_filter: {} + - _key: read + description: 'Retrieve metadata for one account light theme branding image. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - static_uri + - updated_at + field_renames: [] + fields: + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: *id006 + enum_reference: light_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + group_id: Branding + method: get + mode: read + operation_id: getLightImageData + pagination: false + path: /v3/branding-images/light/{reference} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: subtenant_light_theme_image + group: Branding + properties: + - _key: object + api_fieldname: object + description: 'Entity name: always ''branding_image''' + entity_fieldname: object + enum: + - branding_image + readOnly: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: dark_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + - _key: static_uri + api_fieldname: static_uri + description: The static link to the image. + entity_fieldname: static_uri + example: https://static.mbed.com/123456789.jpg + format: uri + readOnly: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: Unknown image reference. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: light_theme_image + return_type: light_theme_image + summary: Get metadata of a light theme image. + x_deprecation: null + x_filter: {} + - _key: update + additional_operations: + - notes: The multipart request is more generic and better supported by SDKs. + operation_id: uploadLightImage + description: Upload a new account branding image as form data in the light theme + in PNG or JPEG format. + drop_fields: + - object + - etag + - type + - filter + - static_uri + - updated_at + field_renames: [] + fields: + - _key: image + api_fieldname: image + description: The image in PNG or JPEG format as multipart form data. + entity_fieldname: image + external_param: true + in: stream + name: image + parameter_fieldname: image + required: true + type: file + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: *id006 + enum_reference: light_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + group_id: Branding + method: post + mode: update + operation_id: uploadLightImageMultipart + pagination: false + path: /v3/branding-images/light/{reference}/upload-multipart + request_body: file + request_content_type: multipart/form-data + responses: + - _key: '201' + description: Image uploaded successfully. + headers: + - _key: Content-Location + description: Location of the image metadata. + type: string + - _key: Location + description: Location of the image binary. + type: string + schema: + foreign_key: + entity: subtenant_light_theme_image + group: Branding + properties: + - _key: object + api_fieldname: object + description: 'Entity name: always ''branding_image''' + entity_fieldname: object + enum: + - branding_image + readOnly: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: dark_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + - _key: static_uri + api_fieldname: static_uri + description: The static link to the image. + entity_fieldname: static_uri + example: https://static.mbed.com/123456789.jpg + format: uri + readOnly: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + type: object + - _key: '400' + description: Error in input data format, for example, image is too large. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: Unknown image reference. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: light_theme_image + return_type: light_theme_image + summary: Upload a light theme image. + x_deprecation: null + x_filter: {} + primary_key_field: reference + swagger_models: + - BrandingImage + - BrandingImageList + tags: + - User interface configuration - images +- _key: login_history + field_renames: [] + fields: + - _key: date + api_fieldname: date + description: UTC time RFC3339 for this login attempt. + example: '2018-02-14T17:52:07Z' + format: date-time + readOnly: true + required: false + type: string + - _key: ip_address + api_fieldname: ip_address + description: IP address of the client. + example: 127.0.0.1 + readOnly: true + required: false + type: string + - _key: success + api_fieldname: success + description: Flag indicating whether login attempt was successful or not. + example: true + readOnly: true + required: false + type: boolean + - _key: user_agent + api_fieldname: user_agent + description: User Agent header from the login request. + example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, + like Gecko) Chrome/41.0.2227.1 Safari/537.36 + readOnly: true + required: false + type: string + group_id: Accounts + methods: [] + primary_key_field: null + swagger_models: + - LoginHistory + tags: [] +- _key: login_profile + field_renames: [] + fields: + - _key: id + _override: true + api_fieldname: id + description: ID of the identity provider. + readOnly: false + required: false + type: string + - _key: name + _override: true + api_fieldname: name + description: Name of the identity provider. + readOnly: false + required: false + type: string + group_id: Accounts + methods: [] + primary_key_field: id + swagger_models: + - LoginProfile + tags: [] +- _key: parent_account + field_renames: [] + fields: + - _key: admin_email + api_fieldname: admin_email + description: The email address of the admin user who is the contact person of + the parent account. + example: info@arm.com + pattern: ^(?=.{3,254}$).+\@.+ + readOnly: true + required: false + type: string + - _key: admin_name + api_fieldname: admin_name + description: The name of the admin user who is the contact person of the parent + account. + example: J. Doe + maxLength: 100 + readOnly: true + required: false + type: string + - _key: id + api_fieldname: id + description: The ID of the parent account. + example: 01619571dad80242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: true + required: false + type: string + group_id: Accounts + methods: [] + primary_key_field: id + swagger_models: + - ParentAccountInfo + tags: [] +- _key: password_policy + field_renames: [] + fields: + - _key: minimum_length + api_fieldname: minimum_length + description: Minimum length for the password. + example: '8' + maximum: 512 + minimum: 8 + readOnly: true + required: false + type: integer + group_id: Accounts + methods: [] + primary_key_field: null + swagger_models: + - PasswordPolicy + tags: [] +- _key: policy + field_renames: [] + fields: + - _key: action + api_fieldname: action + description: Comma-separated list of actions, empty string represents all actions. + example: GET + readOnly: true + required: false + type: string + - _key: allow + api_fieldname: allow + description: True or false controlling whether an action is allowed or not. + example: true + readOnly: true + required: false + type: boolean + - _key: feature + api_fieldname: feature + description: Feature name corresponding to this policy. + example: update-campaigns + readOnly: true + required: false + type: string + - _key: inherited + api_fieldname: inherited + description: Flag indicating whether this feature is inherited or overwritten + specifically. + example: false + readOnly: true + required: false + type: boolean + - _key: inherited_from + api_fieldname: inherited_from + description: An ID indicating where this policy is inherited from. + example: 016ada3ec2d46665bf66e32e00000000 + pattern: '[a-f0-9]{32}' + readOnly: true + required: false + type: string + - _key: inherited_type + api_fieldname: inherited_type + description: Indicates the type of entity this policy is inherited from. + enum: + - account + - template + - tier_template + enum_reference: policy_inherited_type_enum + example: account + readOnly: true + required: false + type: string + - _key: resource + api_fieldname: resource + description: Resource that is protected by this policy. + example: /v3/update-campaign + readOnly: true + required: false + type: string + group_id: Accounts + methods: [] + primary_key_field: null + swagger_models: + - FeaturePolicy + tags: [] +- _key: policy_group + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: true + required: false + type: string + - _key: apikey_count + api_fieldname: apikey_count + description: The number of API keys in this group. + example: 0 + format: int32 + readOnly: true + required: false + type: integer + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + readOnly: true + required: false + type: string + - _key: id + api_fieldname: id + description: The ID of the group. + example: 01619571dec00242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: false + required: true + type: string + - _key: name + api_fieldname: name + description: The name of the group. + example: Administrators + maxLength: 100 + readOnly: true + required: false + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + required: false + type: string + - _key: user_count + api_fieldname: user_count + description: The number of users in this group. + example: 1 + format: int32 + readOnly: true + required: false + type: integer + group_id: Accounts + methods: + - _key: api_keys + description: 'Manage policy groups. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - total_count + - has_more + - data + field_renames: [] + fields: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: id + api_fieldname: group_id + description: The ID of the group. + entity_fieldname: id + external_param: false + in: path + name: group_id + parameter_fieldname: group_id + required: true + type: string + - _key: include + api_fieldname: include + description: 'Comma-separated additional data to return. Currently supported: + total_count.' + entity_fieldname: include + external_param: true + in: query + name: include + parameter_fieldname: include + required: false + type: string + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, DESC. + Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: policy_group_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + foreign_key: + entity: api_key + group_id: Accounts + method: get + mode: api_keys + operation_id: getApiKeysOfGroup + pagination: true + parameter_map: + group_id: id + path: /v3/policy-groups/{group_id}/api-keys + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: api_key + group: Accounts + pagination: true + properties: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + description: Represents an API key in Device Management. + foreign_key: + entity: api_key + group: Accounts + properties: + - _key: account_id + description: The ID of the account. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: creation_time + description: The timestamp of the API key creation in the storage, in + milliseconds. + example: 1518630727683 + format: int64 + type: integer + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: groups + description: A list of group IDs this API key belongs to. + items: + type: string + type: array + - _key: id + description: The ID of the API key. + example: 01619571f7020242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: key + description: The API key. + example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 + type: string + - _key: last_login_time + description: The timestamp of the latest API key usage, in milliseconds. + example: 1518630727688 + format: int64 + type: integer + - _key: name + description: The display name for the API key. + example: API key gorgon + maxLength: 100 + type: string + - _key: object + description: 'Entity name: always ''api-key''' + enum: + - api-key + type: string + - _key: owner + description: The owner of this API key, who is the creator by default. + example: 01619571e2e89242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: status + description: The status of the API key. + enum: + - ACTIVE + - INACTIVE + example: ACTIVE + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - key + - name + - object + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object + enum: + - list + type: string + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: account_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: A group with that ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: false + type: api_key + return_type: paginated_response(api_key) + summary: Get the API keys of a group. + x_deprecation: null + x_filter: {} + - _key: list + description: 'Retrieve all group information. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - total_count + - has_more + - data + - name__eq + field_renames: [] + fields: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: include + api_fieldname: include + description: 'Comma-separated additional data to return. Currently supported: + total_count.' + entity_fieldname: include + external_param: true + in: query + name: include + parameter_fieldname: include + required: false + type: string + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, DESC. + Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: policy_group_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + foreign_key: + entity: policy_group + group: Accounts + foreign_key_priority: self + group_id: Accounts + method: get + mode: list + operation_id: getAllGroups + pagination: true + parameter_map: + group_id: id + path: /v3/policy-groups + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: policy_group + group: Accounts + pagination: true + properties: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + description: This object contains basic information about groups. + foreign_key: + entity: subtenant_policy_group + group: Accounts + properties: + - _key: account_id + description: The ID of the account this group belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: apikey_count + description: The number of API keys in this group. + example: 0 + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: The ID of the group. + example: 01619571dec00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: name + description: The name of the group. + example: Administrators + maxLength: 100 + type: string + - _key: object + description: 'Entity name: always `group`.' + enum: + - group + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: user_count + description: The number of users in this group. + example: 1 + format: int32 + type: integer + required: + - account_id + - apikey_count + - etag + - id + - name + - object + - user_count + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object + enum: + - list + type: string + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: subtenant_api_key_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: policy_group + return_type: paginated_response(policy_group) + summary: Get all group information. + x_deprecation: null + x_filter: + name: + - eq + - _key: read + description: 'Retrieve general information about a group. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - created_at + - updated_at + - account_id + - name + - user_count + - apikey_count + field_renames: [] + fields: + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + in: path + parameter_fieldname: group_id + pattern: '[a-f0-9]{32}' + required: true + type: string + group_id: Accounts + method: get + mode: read + operation_id: getGroupSummary + pagination: false + parameter_map: + group_id: id + path: /v3/policy-groups/{group_id} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + description: This object contains basic information about groups. + foreign_key: + entity: subtenant_policy_group + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: apikey_count + api_fieldname: apikey_count + description: The number of API keys in this group. + entity_fieldname: apikey_count + example: 0 + format: int32 + type: integer + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + maxLength: 100 + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always `group`.' + entity_fieldname: object + enum: + - group + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: user_count + api_fieldname: user_count + description: The number of users in this group. + entity_fieldname: user_count + example: 1 + format: int32 + type: integer + required: + - account_id + - apikey_count + - etag + - id + - name + - object + - user_count + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: A group with that ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: policy_group + return_type: policy_group + summary: Get group information. + x_deprecation: null + x_filter: {} + - _key: users + description: 'Retrieve users of a group with details. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - total_count + - has_more + - data + - status__eq + - status__in + - status__nin + field_renames: [] + fields: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: id + api_fieldname: group_id + description: The ID of the group. + entity_fieldname: id + external_param: false + in: path + name: group_id + parameter_fieldname: group_id + required: true + type: string + - _key: include + api_fieldname: include + description: 'Comma-separated additional data to return. Currently supported: + total_count.' + entity_fieldname: include + external_param: true + in: query + name: include + parameter_fieldname: include + required: false + type: string + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, DESC. + Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: policy_group_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + foreign_key: + entity: user + group_id: Accounts + method: get + mode: users + operation_id: getUsersOfGroup + pagination: true + parameter_map: + group_id: id + path: /v3/policy-groups/{group_id}/users + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: user + group: Accounts + pagination: true + properties: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + description: Represents a user in Device Management. + foreign_key: + entity: user + group: Accounts + properties: + - _key: account_id + description: The ID of the account. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: active_sessions + description: List of active user sessions. + items: + description: Represents an active user session. + foreign_key: + entity: active_session + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The UUID of the account. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: ip_address + api_fieldname: ip_address + description: IP address of the client. + entity_fieldname: ip_address + example: 127.0.0.1 + type: string + - _key: login_time + api_fieldname: login_time + description: The login time of the user. + entity_fieldname: login_time + example: '2018-02-14T17:52:07Z' + format: date-time + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''user-session''' + entity_fieldname: object + enum: + - user-session + type: string + - _key: reference_token + api_fieldname: reference_token + description: The reference token. + entity_fieldname: reference_token + example: rt_CI6+5hS8p9DrCmkRyS6u4doUdiXr71dX7MqD+g0327hYQthEkYTxMMnCwHyf1rDdk + type: string + - _key: user_agent + api_fieldname: user_agent + description: User Agent header from the login request. + entity_fieldname: user_agent + example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 + (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36 + type: string + required: + - account_id + - ip_address + - login_time + - object + - reference_token + - user_agent + type: object + type: array + - _key: address + description: Address. + example: 110 Fulbourn Rd, Cambridge, United Kingdom + type: string + x-nullable: true + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: creation_time + description: A timestamp of the user creation in the storage, in milliseconds. + example: 1518630727683 + format: int64 + type: integer + - _key: custom_fields + additionalProperties: + type: string + description: User's account-specific custom properties. The value is + a string. + type: object + x-nullable: true + - _key: email + description: The email address. + example: user@arm.com + pattern: ^(?=.{3,254}$).+\@.+ + type: string + - _key: email_verified + description: A flag indicating whether the user's email address has + been verified or not. + example: true + type: boolean + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: full_name + description: The full name of the user. + example: User Doe + maxLength: 100 + type: string + x-nullable: true + - _key: groups + description: A list of IDs of the groups this user belongs to. + items: + type: string + type: array + - _key: id + description: The ID of the user. + example: 01619571e2e89242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_gtc_accepted + description: A flag indicating that the user has accepted General Terms and Conditions. example: true type: boolean @@ -36993,120 +40215,2497 @@ entities: enum: - user type: string - - _key: password - description: The password when creating a new user. It will be generated - when not present in the request. - example: PZf9eEUH43DAPE9ULINFeuj + - _key: password + description: The password when creating a new user. It will be generated + when not present in the request. + example: PZf9eEUH43DAPE9ULINFeuj + type: string + x-nullable: true + - _key: password_changed_time + description: A timestamp of the latest change of the user password, + in milliseconds. + example: 1518630727688 + format: int64 + type: integer + - _key: phone_number + description: Phone number. + example: +44 (1223) 400 400 + maxLength: 100 + type: string + x-nullable: true + - _key: status + description: The status of the user. ENROLLING state indicates that + the user is in the middle of the enrollment process. INVITED means + that the user has not accepted the invitation request. RESET means + that the password must be changed immediately. INACTIVE users are + locked out and not permitted to use the system. + enum: + - ENROLLING + - INVITED + - ACTIVE + - RESET + - INACTIVE + example: ACTIVE + type: string + - _key: totp_scratch_codes + description: A list of scratch codes for the two-factor authentication. + Visible only when 2FA is requested to be enabled or the codes regenerated. + items: + type: string + type: array + x-nullable: true + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: username + description: A username. + example: admin + pattern: '[\w\-,._@+=]{4,30}' + type: string + x-nullable: true + required: + - account_id + - email + - etag + - id + - object + - status + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object + enum: + - list + type: string + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: account_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: A group with that ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: false + type: user + return_type: paginated_response(user) + summary: Get users of a group. + x_deprecation: null + x_filter: + status: + - eq + - in + - nin + primary_key_field: id + swagger_models: + - ApiKeyInfoRespList + - GroupSummary + - GroupSummaryList + - UserInfoRespList + tags: + - Account - policy groups +- _key: pre_shared_key + field_renames: [] + fields: + - _key: created_at + api_fieldname: created_at + description: The date-time (RFC3339) when this PSK was uploaded to Device Management. + example: '2017-07-21T17:32:28.012Z' + format: date-time + readOnly: true + required: false + type: string + - _key: endpoint_name + _override: true + api_fieldname: endpoint_name + description: The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) + (non-control) ASCII characters. + example: my-endpoint-0001 + getter_custom_method: pre_shared_key_id_getter + pattern: ^[ -~]{16,64}$ + readOnly: false + required: false + setter_custom_method: pre_shared_key_id_setter + type: string + - _key: id + _override: true + api_fieldname: id + description: The Id of the pre_shared_key, shadows the endpoint_name + getter_custom_method: pre_shared_key_id_getter + readOnly: false + required: false + setter_custom_method: pre_shared_key_id_setter + type: string + group_id: Security + methods: + - _key: create + description: "Upload a PSK for an endpoint to allow it to bootstrap. The existing\ + \ key cannot be overwritten, but needs\nto be deleted first in the case of re-setting\ + \ a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts\ + \ that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys\ + \ \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\"\ + \ \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"\ + 4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```" + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: endpoint_name + _override: true + api_fieldname: endpoint_name + entity_fieldname: endpoint_name + getter_custom_method: pre_shared_key_id_getter + readOnly: false + setter_custom_method: pre_shared_key_id_setter + type: string + - _key: id + _override: true + api_fieldname: id + description: The Id of the pre_shared_key, shadows the endpoint_name + entity_fieldname: id + example: my-endpoint-0001 + getter_custom_method: pre_shared_key_id_getter + in: body + name: endpoint_name + pattern: ^[ -~]{16,64}$ + schema_param: true + setter_custom_method: pre_shared_key_id_setter + type: string + - _key: secret_hex + api_fieldname: secret_hex + description: The secret of the PSK in hexadecimal. It is not case sensitive; + 4a is same as 4A, and it is allowed with or without 0x in the beginning. The + minimum length of the secret is 128 bits and maximum 256 bits. + entity_fieldname: secret_hex + example: 4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a + external_param: true + in: body + name: secret_hex + parameter_fieldname: secret_hex + pattern: ^(0[xX])?[0-9a-fA-F]{32,64}$ + required: true + schema_param: true + type: string + group_id: Security + method: post + mode: create + operation_id: uploadPreSharedKey + pagination: false + parameter_map: + endpoint_name: id + path: /v2/device-shared-keys + request_body: json + request_content_type: application/json + responses: + - _key: '201' + description: Successfully created. + - _key: '400' + description: Bad request. Contains comma-separated errors INVALID_ENDPOINT_NAME, + INVALID_SECRET_HEX, and MALFORMED_JSON_CONTENT. + schema: + type: string + - _key: '401' + description: Authentication failure. + - _key: '403' + description: Forbidden. You need to read and accept the PSK license in Device + Management Portal. + - _key: '409' + description: Conflict. The PSK for the endpoint already exists and cannot be + overwritten. Contains error KEY_ALREADY_EXISTS_FOR_ENDPOINT. + schema: + type: string + return_info: + custom: false + self: true + type: pre_shared_key + return_type: pre_shared_key + summary: Upload a PSK to Pelion Device Management. + x_deprecation: null + x_filter: {} + - _key: delete + description: 'Remove a PSK. + + + **Example:** + + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 + \ + + -H "Authorization: Bearer " + + ```' + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: endpoint_name + _override: true + api_fieldname: endpoint_name + entity_fieldname: endpoint_name + getter_custom_method: pre_shared_key_id_getter + readOnly: false + setter_custom_method: pre_shared_key_id_setter + type: string + - _key: id + _override: true + api_fieldname: id + description: The Id of the pre_shared_key, shadows the endpoint_name + entity_fieldname: id + getter_custom_method: pre_shared_key_id_getter + in: path + name: endpoint_name + required: true + setter_custom_method: pre_shared_key_id_setter + type: string + group_id: Security + method: delete + mode: delete + operation_id: deletePreSharedKey + pagination: false + parameter_map: + endpoint_name: id + path: /v2/device-shared-keys/{endpoint_name} + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Successfully deleted. Responds even if the endpoint does not have + an associated PSK. + - _key: '400' + description: Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME. + schema: + type: string + - _key: '401' + description: Authentication failure. + return_info: + custom: false + self: true + type: pre_shared_key + return_type: pre_shared_key + summary: Remove a PSK. + x_deprecation: null + x_filter: {} + - _key: list + description: 'Retrieve pre-shared keys (PSKs) with pagination. Default page size + of 50 entries. + + + **Example:** + + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \ + + -H "Authorization: Bearer " + + ```' + drop_fields: + - object + - etag + - type + - filter + - order + - has_more + - continuation_marker + - data + field_renames: [] + fields: + - _key: after + api_fieldname: after + description: An offset token for fetching a specific page. Provided by the server. + entity_fieldname: after + example: 001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004 + external_param: true + in: query + name: after + parameter_fieldname: after + required: false + type: string + - _key: endpoint_name + _override: true + api_fieldname: endpoint_name + entity_fieldname: endpoint_name + getter_custom_method: pre_shared_key_id_getter + readOnly: false + setter_custom_method: pre_shared_key_id_setter + type: string + - _key: id + _override: true + api_fieldname: id + description: The Id of the pre_shared_key, shadows the endpoint_name + entity_fieldname: id + getter_custom_method: pre_shared_key_id_getter + setter_custom_method: pre_shared_key_id_setter + type: string + - _key: limit + api_fieldname: limit + description: The number of entries per page. + entity_fieldname: limit + example: 50 + external_param: true + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + foreign_key: + entity: pre_shared_key + group: Security + foreign_key_priority: self + group_id: Security + method: get + mode: list + operation_id: listPreSharedKeys + pagination: true + parameter_map: + endpoint_name: id + path: /v2/device-shared-keys + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: List of PSKs. + schema: + foreign_key: + entity: pre_shared_key + group: Security + pagination: true + properties: + - _key: after + api_fieldname: after + description: An offset token for current page. + entity_fieldname: after + example: 001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004 + type: string + - _key: continuation_marker + api_fieldname: continuation_marker + description: An offset token for fetching the next page. Note that exactly + the same limit needs to be used on the request for fetching subsequent + pages. + entity_fieldname: continuation_marker + example: 001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810005 + type: string + - _key: data + api_fieldname: data + description: Array of the PSK entries. The array is empty if there are no + PSKs. + entity_fieldname: data + items: + foreign_key: + entity: pre_shared_key + group: Security + properties: + - _key: created_at + description: The date-time (RFC3339) when this PSK was uploaded to Device + Management. + example: '2017-07-21T17:32:28.012Z' + format: date-time + type: string + - _key: endpoint_name + _override: true + description: The unique endpoint identifier that this PSK applies to. + 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) + (non-control) ASCII characters. + example: my-endpoint-0001 + getter_custom_method: pre_shared_key_id_getter + pattern: ^[ -~]{16,64}$ + readOnly: false + setter_custom_method: pre_shared_key_id_setter + type: string + required: + - endpoint_name + type: object + minLength: 0 + type: array + - _key: has_more + api_fieldname: has_more + description: More results are available. + entity_fieldname: has_more + example: true + type: boolean + - _key: limit + api_fieldname: limit + description: The value of limit query parameter from the request, or default + if not specified. + entity_fieldname: limit + example: 50 + type: integer + - _key: object + api_fieldname: object + description: The type of this API object is a "list". + entity_fieldname: object + example: list + type: string + - _key: order + api_fieldname: order + description: Record order based on creation time. + entity_fieldname: order + example: DESC + type: string + required: + - object + - limit + - order + - has_more + - data + type: object + - _key: '400' + description: Bad request. Contains the error as a string, either TOKEN_NOT_FOUND + or INVALID_LIMIT. + return_info: + custom: false + self: true + type: pre_shared_key + return_type: paginated_response(pre_shared_key) + summary: List PSKs. + x_deprecation: null + x_filter: {} + - _key: read + description: 'Check if a PSK for an endpoint exists or not. The response does + not contain the secret itself. + + + **Example:** + + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 + \ + + -H "Authorization: Bearer " + + ```' + drop_fields: + - object + - etag + - type + - filter + - created_at + field_renames: [] + fields: + - _key: endpoint_name + _override: true + api_fieldname: endpoint_name + description: The unique endpoint identifier that this PSK applies to. 16-64 + [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) + ASCII characters. + entity_fieldname: endpoint_name + example: my-endpoint-0001 + getter_custom_method: pre_shared_key_id_getter + pattern: ^[ -~]{16,64}$ + readOnly: false + setter_custom_method: pre_shared_key_id_setter + type: string + - _key: id + _override: true + api_fieldname: id + description: The Id of the pre_shared_key, shadows the endpoint_name + entity_fieldname: id + getter_custom_method: pre_shared_key_id_getter + in: path + name: endpoint_name + required: true + setter_custom_method: pre_shared_key_id_setter + type: string + group_id: Security + method: get + mode: read + operation_id: getPreSharedKey + pagination: false + parameter_map: + endpoint_name: id + path: /v2/device-shared-keys/{endpoint_name} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Pre-shared key for the device (does not contain secret). + schema: + foreign_key: + entity: pre_shared_key + group: Security + properties: + - _key: created_at + api_fieldname: created_at + description: The date-time (RFC3339) when this PSK was uploaded to Device + Management. + entity_fieldname: created_at + example: '2017-07-21T17:32:28.012Z' + format: date-time + type: string + - _key: endpoint_name + _override: true + api_fieldname: endpoint_name + description: The unique endpoint identifier that this PSK applies to. 16-64 + [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) + (non-control) ASCII characters. + entity_fieldname: endpoint_name + example: my-endpoint-0001 + getter_custom_method: pre_shared_key_id_getter + pattern: ^[ -~]{16,64}$ + readOnly: false + setter_custom_method: pre_shared_key_id_setter + type: string + required: + - endpoint_name + type: object + - _key: '400' + description: Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME. + schema: + type: string + - _key: '401' + description: Authentication failure. + - _key: '404' + description: The PSK does not exist. + return_info: + custom: false + self: true + type: pre_shared_key + return_type: pre_shared_key + summary: Get a PSK. + x_deprecation: null + x_filter: {} + primary_key_field: id + swagger_models: + - ListOfPreSharedKeysWithoutSecret + - PreSharedKey + - PreSharedKeyWithoutSecret + tags: + - PreSharedKeys +- _key: server_credentials + field_renames: [] + fields: + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + format: date-time + readOnly: true + required: false + type: string + - _key: id + api_fieldname: id + description: Unique entity ID. + readOnly: true + required: false + type: string + - _key: server_certificate + api_fieldname: server_certificate + description: PEM-format X.509 server certificate used to validate the server certificate + received during the TLS/DTLS handshake. + readOnly: true + required: false + type: string + - _key: server_uri + api_fieldname: server_uri + description: Server URI that the client connects to. + readOnly: true + required: false + type: string + group_id: Security + methods: + - _key: get_bootstrap + additional_operations: + - notes: The information returned by this endpoint can be obtained by calling + `get_bootstrap`. + operation_id: getAllServerCredentials + description: 'Return bootstrap server credentials for client to connect to bootstrap + server. + + + **Example:** + + ``` + + curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap + \ + + -H "Authorization: Bearer " + + ```' + drop_fields: + - object + - etag + - type + - filter + - id + - created_at + - server_certificate + - server_uri + field_renames: [] + fields: [] + group_id: Security + method: get + mode: get_bootstrap + operation_id: getBootstrapServerCredentials + pagination: false + path: /v3/server-credentials/bootstrap + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Bootstrap server credentials fetched successfully. + examples: + - _key: Success + created_at: '2017-12-11T14:22:20.009Z' + etag: '1' + id: 015fee4431fd38c98640fbfb00000000 + object: server-credentials + server_certificate: '-----BEGIN CERTIFICATE-----\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\n-----END + CERTIFICATE-----' + server_uri: coaps://coap.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000 + schema: + foreign_key: + entity: server_credentials + group: Security + properties: + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + format: date-time + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + type: string + - _key: id + api_fieldname: id + description: Unique entity ID. + entity_fieldname: id + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always `server-credentials`.' + entity_fieldname: object + type: string + - _key: server_certificate + api_fieldname: server_certificate + description: PEM-format X.509 server certificate used to validate the server + certificate received during the TLS/DTLS handshake. + entity_fieldname: server_certificate + type: string + - _key: server_uri + api_fieldname: server_uri + description: Server URI that the client connects to. + entity_fieldname: server_uri + type: string + type: object + - _key: '400' + description: Bad request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Invalid access token. + examples: + - _key: Authentication Error + code: 401 + message: Invalid access token. + object: error + request_id: 015fee4431fd38c98640fbfb00000000 + type: invalid_auth + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: server_credentials + return_type: server_credentials + summary: Fetch bootstrap server credentials. + x_deprecation: null + x_filter: {} + - _key: get_lwm2m + additional_operations: + - notes: The information returned by this endpoint can be obtained by calling + `get_lwm2m`. + operation_id: getAllServerCredentials + description: 'Return LwM2M server credentials for client to connect to LwM2M server. + + + **Example:** + + ``` + + curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \ + + -H "Authorization: Bearer " + + ```' + drop_fields: + - object + - etag + - type + - filter + - id + - created_at + - server_certificate + - server_uri + field_renames: [] + fields: [] + group_id: Security + method: get + mode: get_lwm2m + operation_id: getL2M2MServerCredentials + pagination: false + path: /v3/server-credentials/lwm2m + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: LwM2M server credentials fetched successfully. + examples: + - _key: Success + created_at: '2017-12-11T14:22:20.009Z' + etag: '1' + id: 015fee4431fd38c98640fbfb00000000 + object: server-credentials + server_certificate: '-----BEGIN CERTIFICATE-----\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\n-----END + CERTIFICATE-----' + server_uri: coaps://mds.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000 + schema: + foreign_key: + entity: server_credentials + group: Security + properties: + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + format: date-time + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + type: string + - _key: id + api_fieldname: id + description: Unique entity ID. + entity_fieldname: id + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always `server-credentials`.' + entity_fieldname: object + type: string + - _key: server_certificate + api_fieldname: server_certificate + description: PEM-format X.509 server certificate used to validate the server + certificate received during the TLS/DTLS handshake. + entity_fieldname: server_certificate + type: string + - _key: server_uri + api_fieldname: server_uri + description: Server URI that the client connects to. + entity_fieldname: server_uri + type: string + type: object + - _key: '400' + description: Bad request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Invalid access token. + examples: + - _key: Authentication Error + code: 401 + message: Invalid access token. + object: error + request_id: 015fee4431fd38c98640fbfb00000000 + type: invalid_auth + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: server_credentials + return_type: server_credentials + summary: Fetch LwM2M server credentials. + x_deprecation: null + x_filter: {} + primary_key_field: id + swagger_models: + - ServerCredentialsResponseData + tags: + - Service security - server credentials +- _key: subtenant_api_key + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: false + required: true + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + readOnly: true + required: false + type: string + - _key: creation_time + api_fieldname: creation_time + description: The timestamp of the API key creation in the storage, in milliseconds. + example: 1518630727683 + format: int64 + readOnly: true + required: false + type: integer + - _key: groups + api_fieldname: groups + description: A list of group IDs this API key belongs to. + in: body + items: + type: string + parameter_fieldname: groups + readOnly: false + required: false + type: array + - _key: id + api_fieldname: id + description: The ID of the API key. + example: 01619571f7020242ac12000600000000 + in: path + parameter_fieldname: apikey_id + pattern: '[a-f0-9]{32}' + readOnly: false + required: true + type: string + - _key: key + api_fieldname: key + description: The API key. + example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 + readOnly: true + required: false + type: string + - _key: last_login_time + api_fieldname: last_login_time + description: The timestamp of the latest API key usage, in milliseconds. + example: 1518630727688 + format: int64 + readOnly: true + required: false + type: integer + - _key: name + api_fieldname: name + description: The display name for the API key. + example: API key gorgon + in: body + maxLength: 100 + parameter_fieldname: name + readOnly: false + required: true + type: string + - _key: owner + api_fieldname: owner + description: The owner of this API key, who is the creator by default. + example: 01619571e2e89242ac12000600000000 + in: body + parameter_fieldname: owner + pattern: '[a-f0-9]{32}' + readOnly: false + required: false + type: string + - _key: status + api_fieldname: status + description: The status of the API key. + enum: + - ACTIVE + - INACTIVE + enum_reference: subtenant_api_key_status_enum + example: ACTIVE + in: body + parameter_fieldname: status + readOnly: false + required: false + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + required: false + type: string + group_id: Accounts + methods: + - _key: create + description: 'Create a new API key. There is no default value for the owner ID, + and it must be from the same account where the new API key is created. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "MyKey1"}'' + + ```' + drop_fields: + - object + - etag + - type + - filter + - id + - created_at + - updated_at + - key + - creation_time + - last_login_time + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + in: path + parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: groups + api_fieldname: groups + description: A list of group IDs this API key belongs to. + entity_fieldname: groups + in: body + items: + type: string + parameter_fieldname: groups + required: false + type: array + - _key: name + api_fieldname: name + description: The display name for the API key. + entity_fieldname: name + example: API key gorgon + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: owner + api_fieldname: owner + description: The owner of this API key, who is the creator by default. + entity_fieldname: owner + example: 01619571e2e89242ac12000600000000 + in: body + parameter_fieldname: owner + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: status + api_fieldname: status + description: The status of the API key. + entity_fieldname: status + enum: &id007 + - ACTIVE + - INACTIVE + enum_reference: subtenant_api_key_status_enum + example: ACTIVE + in: body + parameter_fieldname: status + required: false + type: string + group_id: Accounts + method: post + mode: create + operation_id: createAccountApiKey + pagination: false + parameter_map: + apikey_id: id + path: /v3/accounts/{account_id}/api-keys + request_body: json + request_content_type: application/json + responses: + - _key: '201' + description: New entity created. + schema: + description: Represents an API key in Device Management. + foreign_key: + entity: api_key + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: creation_time + api_fieldname: creation_time + description: The timestamp of the API key creation in the storage, in milliseconds. + entity_fieldname: creation_time + example: 1518630727683 + format: int64 + type: integer + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: groups + api_fieldname: groups + description: A list of group IDs this API key belongs to. + entity_fieldname: groups + in: body + items: + type: string + parameter_fieldname: groups + required: false + type: array + - _key: id + api_fieldname: id + description: The ID of the API key. + entity_fieldname: id + example: 01619571f7020242ac12000600000000 + in: path + parameter_fieldname: apikey_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: key + api_fieldname: key + description: The API key. + entity_fieldname: key + example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 + type: string + - _key: last_login_time + api_fieldname: last_login_time + description: The timestamp of the latest API key usage, in milliseconds. + entity_fieldname: last_login_time + example: 1518630727688 + format: int64 + type: integer + - _key: name + api_fieldname: name + description: The display name for the API key. + entity_fieldname: name + example: API key gorgon + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''api-key''' + entity_fieldname: object + enum: + - api-key + type: string + - _key: owner + api_fieldname: owner + description: The owner of this API key, who is the creator by default. + entity_fieldname: owner + example: 01619571e2e89242ac12000600000000 + in: body + parameter_fieldname: owner + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: status + api_fieldname: status + description: The status of the API key. + entity_fieldname: status + enum: + - ACTIVE + - INACTIVE + enum_reference: api_key_status_enum + example: ACTIVE + in: body + parameter_fieldname: status + required: false + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - key + - name + - object + type: object + - _key: '400' + description: Error in input data, for example, missing display name. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: An account with the given ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: subtenant_api_key + return_type: subtenant_api_key + summary: Create a new API key. + x_deprecation: null + x_filter: {} + - _key: delete + description: 'Delete an API key. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: false + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: id + api_fieldname: apikey_id + description: The ID of the API key to delete. + entity_fieldname: id + external_param: false + in: path + name: apikey_id + parameter_fieldname: apikey_id + required: true + type: string + group_id: Accounts + method: delete + mode: delete + operation_id: deleteAccountApiKey + pagination: false + parameter_map: + apikey_id: id + path: /v3/accounts/{account_id}/api-keys/{apikey_id} + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Deleted successfully. + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: An account or API key with the specified ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: subtenant_api_key + return_type: subtenant_api_key + summary: Delete the API key. + x_deprecation: null + x_filter: {} + - _key: policy_groups + description: 'Retrieve groups associated with the API key. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - total_count + - has_more + - data + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: false + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: id + api_fieldname: apikey_id + description: The ID of the API key. + entity_fieldname: id + external_param: false + in: path + name: apikey_id + parameter_fieldname: apikey_id + required: true + type: string + - _key: include + api_fieldname: include + description: 'Comma-separated additional data to return. Currently supported: + total_count.' + entity_fieldname: include + external_param: true + in: query + name: include + parameter_fieldname: include + required: false + type: string + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, DESC. + Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: subtenant_api_key_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + foreign_key: + entity: subtenant_policy_group + group_id: Accounts + method: get + mode: policy_groups + operation_id: getGroupsOfAccountApikey + pagination: true + parameter_map: + apikey_id: id + path: /v3/accounts/{account_id}/api-keys/{apikey_id}/groups + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: subtenant_policy_group + group: Accounts + pagination: true + properties: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + description: This object contains basic information about groups. + foreign_key: + entity: subtenant_policy_group + group: Accounts + properties: + - _key: account_id + description: The ID of the account this group belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' type: string - x-nullable: true - - _key: password_changed_time - description: A timestamp of the latest change of the user password, - in milliseconds. - example: 1518630727688 - format: int64 + - _key: apikey_count + description: The number of API keys in this group. + example: 0 + format: int32 type: integer - - _key: phone_number - description: Phone number. - example: +44 (1223) 400 400 + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: The ID of the group. + example: 01619571dec00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: name + description: The name of the group. + example: Administrators maxLength: 100 type: string - x-nullable: true - - _key: status - description: The status of the user. ENROLLING state indicates that - the user is in the middle of the enrollment process. INVITED means - that the user has not accepted the invitation request. RESET means - that the password must be changed immediately. INACTIVE users are - locked out and not permitted to use the system. + - _key: object + description: 'Entity name: always `group`.' enum: - - ENROLLING - - INVITED - - ACTIVE - - RESET - - INACTIVE - example: ACTIVE + - group type: string - - _key: totp_scratch_codes - description: A list of scratch codes for the two-factor authentication. - Visible only when 2FA is requested to be enabled or the codes regenerated. - items: - type: string - type: array - x-nullable: true - _key: updated_at description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' format: date-time type: string - - _key: username - description: A username. - example: admin - pattern: '[\w\-,._@+=]{4,30}' + - _key: user_count + description: The number of users in this group. + example: 1 + format: int32 + type: integer + required: + - account_id + - apikey_count + - etag + - id + - name + - object + - user_count + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object + enum: + - list + type: string + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: api_key_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. type: string - x-nullable: true required: - - account_id - - email - - etag - - id - - object - - status + - name + - message type: object type: array - - _key: has_more - api_fieldname: has_more - description: Flag indicating whether there are more results. - entity_fieldname: has_more - example: false - type: boolean - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: An account or API key with the specified ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 format: int32 - in: query - name: limit - parameter_fieldname: limit + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: false + type: subtenant_policy_group + return_type: paginated_response(subtenant_policy_group) + summary: Get groups associated with the API key. + x_deprecation: null + x_filter: {} + - _key: read + description: "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ + \ \\\n -H 'Authorization: Bearer '\n```" + drop_fields: + - object + - etag + - type + - filter + - created_at + - updated_at + - key + - name + - groups + - owner + - status + - creation_time + - last_login_time + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + in: path + parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: id + api_fieldname: id + description: The ID of the API key. + entity_fieldname: id + example: 01619571f7020242ac12000600000000 + in: path + parameter_fieldname: apikey_id + pattern: '[a-f0-9]{32}' + required: true + type: string + group_id: Accounts + method: get + mode: read + operation_id: getAccountApiKey + pagination: false + parameter_map: + apikey_id: id + path: /v3/accounts/{account_id}/api-keys/{apikey_id} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + description: Represents an API key in Device Management. + foreign_key: + entity: api_key + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: creation_time + api_fieldname: creation_time + description: The timestamp of the API key creation in the storage, in milliseconds. + entity_fieldname: creation_time + example: 1518630727683 + format: int64 + type: integer + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: groups + api_fieldname: groups + description: A list of group IDs this API key belongs to. + entity_fieldname: groups + in: body + items: + type: string + parameter_fieldname: groups required: false + type: array + - _key: id + api_fieldname: id + description: The ID of the API key. + entity_fieldname: id + example: 01619571f7020242ac12000600000000 + in: path + parameter_fieldname: apikey_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: key + api_fieldname: key + description: The API key. + entity_fieldname: key + example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 + type: string + - _key: last_login_time + api_fieldname: last_login_time + description: The timestamp of the latest API key usage, in milliseconds. + entity_fieldname: last_login_time + example: 1518630727688 + format: int64 type: integer + - _key: name + api_fieldname: name + description: The display name for the API key. + entity_fieldname: name + example: API key gorgon + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string - _key: object api_fieldname: object - description: 'Entity name: always `list`.' + description: 'Entity name: always ''api-key''' entity_fieldname: object enum: - - list + - api-key type: string - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - entity_fieldname: order + - _key: owner + api_fieldname: owner + description: The owner of this API key, who is the creator by default. + entity_fieldname: owner + example: 01619571e2e89242ac12000600000000 + in: body + parameter_fieldname: owner + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: status + api_fieldname: status + description: The status of the API key. + entity_fieldname: status enum: - - ASC - - DESC - enum_reference: account_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order + - ACTIVE + - INACTIVE + enum_reference: api_key_status_enum + example: ACTIVE + in: body + parameter_fieldname: status required: false type: string - - _key: total_count - api_fieldname: total_count - description: The total number of records, if requested. - entity_fieldname: total_count - example: 20 - format: int32 - type: integer + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string required: - - data - - has_more - - limit + - etag + - id + - key + - name - object - - total_count type: object - _key: '401' description: Authentication failure. @@ -37205,7 +42804,7 @@ entities: - type type: object - _key: '404' - description: A group with that ID does not exist. + description: An account or API key with the specified ID does not exist. schema: properties: - _key: code @@ -37241,240 +42840,41 @@ entities: description: ID of the request. example: 0161991d63150242ac12000600000000 type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - - type - type: object - return_info: - custom: false - self: false - type: user - return_type: paginated_response(user) - summary: Get users of a group. - x_deprecation: null - x_filter: - status: - - eq - - in - - nin - primary_key_field: id - swagger_models: - - ApiKeyInfoRespList - - GroupSummary - - GroupSummaryList - - UserInfoRespList - tags: - - Account - policy groups -- _key: pre_shared_key - field_renames: [] - fields: - - _key: created_at - api_fieldname: created_at - description: The date-time (RFC3339) when this PSK was uploaded to Device Management. - example: '2017-07-21T17:32:28.012Z' - format: date-time - readOnly: true - required: false - type: string - - _key: endpoint_name - _override: true - api_fieldname: endpoint_name - description: The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) - (non-control) ASCII characters. - example: my-endpoint-0001 - getter_custom_method: pre_shared_key_id_getter - pattern: ^[ -~]{16,64}$ - readOnly: false - required: false - setter_custom_method: pre_shared_key_id_setter - type: string - - _key: id - _override: true - api_fieldname: id - description: The Id of the pre_shared_key, shadows the endpoint_name - getter_custom_method: pre_shared_key_id_getter - readOnly: false - required: false - setter_custom_method: pre_shared_key_id_setter - type: string - group_id: Security - methods: - - _key: create - description: "Upload a PSK for an endpoint to allow it to bootstrap. The existing\ - \ key cannot be overwritten, but needs\nto be deleted first in the case of re-setting\ - \ a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts\ - \ that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys\ - \ \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\"\ - \ \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"\ - 4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```" - drop_fields: - - object - - etag - - type - - filter - field_renames: [] - fields: - - _key: endpoint_name - _override: true - api_fieldname: endpoint_name - entity_fieldname: endpoint_name - getter_custom_method: pre_shared_key_id_getter - readOnly: false - setter_custom_method: pre_shared_key_id_setter - type: string - - _key: id - _override: true - api_fieldname: id - description: The Id of the pre_shared_key, shadows the endpoint_name - entity_fieldname: id - example: my-endpoint-0001 - getter_custom_method: pre_shared_key_id_getter - in: body - name: endpoint_name - pattern: ^[ -~]{16,64}$ - schema_param: true - setter_custom_method: pre_shared_key_id_setter - type: string - - _key: secret_hex - api_fieldname: secret_hex - description: The secret of the PSK in hexadecimal. It is not case sensitive; - 4a is same as 4A, and it is allowed with or without 0x in the beginning. The - minimum length of the secret is 128 bits and maximum 256 bits. - entity_fieldname: secret_hex - example: 4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a - external_param: true - in: body - name: secret_hex - parameter_fieldname: secret_hex - pattern: ^(0[xX])?[0-9a-fA-F]{32,64}$ - required: true - schema_param: true - type: string - group_id: Security - method: post - mode: create - operation_id: uploadPreSharedKey - pagination: false - parameter_map: - endpoint_name: id - path: /v2/device-shared-keys - request_body: json - request_content_type: application/json - responses: - - _key: '201' - description: Successfully created. - - _key: '400' - description: Bad request. Contains comma-separated errors INVALID_ENDPOINT_NAME, - INVALID_SECRET_HEX, and MALFORMED_JSON_CONTENT. - schema: - type: string - - _key: '401' - description: Authentication failure. - - _key: '403' - description: Forbidden. You need to read and accept the PSK license in Device - Management Portal. - - _key: '409' - description: Conflict. The PSK for the endpoint already exists and cannot be - overwritten. Contains error KEY_ALREADY_EXISTS_FOR_ENDPOINT. - schema: - type: string - return_info: - custom: false - self: true - type: pre_shared_key - return_type: pre_shared_key - summary: Upload a PSK to Pelion Device Management. - x_deprecation: null - x_filter: {} - - _key: delete - description: 'Remove a PSK. - - - **Example:** - - - ``` - - curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 - \ - - -H "Authorization: Bearer " - - ```' - drop_fields: - - object - - etag - - type - - filter - field_renames: [] - fields: - - _key: endpoint_name - _override: true - api_fieldname: endpoint_name - entity_fieldname: endpoint_name - getter_custom_method: pre_shared_key_id_getter - readOnly: false - setter_custom_method: pre_shared_key_id_setter - type: string - - _key: id - _override: true - api_fieldname: id - description: The Id of the pre_shared_key, shadows the endpoint_name - entity_fieldname: id - getter_custom_method: pre_shared_key_id_getter - in: path - name: endpoint_name - required: true - setter_custom_method: pre_shared_key_id_setter - type: string - group_id: Security - method: delete - mode: delete - operation_id: deletePreSharedKey - pagination: false - parameter_map: - endpoint_name: id - path: /v2/device-shared-keys/{endpoint_name} - request_body: json - request_content_type: application/json - responses: - - _key: '204' - description: Successfully deleted. Responds even if the endpoint does not have - an associated PSK. - - _key: '400' - description: Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME. - schema: - type: string - - _key: '401' - description: Authentication failure. + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true - type: pre_shared_key - return_type: pre_shared_key - summary: Remove a PSK. + type: subtenant_api_key + return_type: subtenant_api_key + summary: Get API key details. x_deprecation: null x_filter: {} - - _key: list - description: 'Retrieve pre-shared keys (PSKs) with pagination. Default page size - of 50 entries. + - _key: update + description: 'Update API key details. **Example:** - ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \ + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} + \ - -H "Authorization: Bearer " + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "TestApiKey25"}'' ```' drop_fields: @@ -37482,323 +42882,481 @@ entities: - etag - type - filter - - order - - has_more - - continuation_marker - - data + - created_at + - updated_at + - key + - creation_time + - last_login_time field_renames: [] fields: - - _key: after - api_fieldname: after - description: An offset token for fetching a specific page. Provided by the server. - entity_fieldname: after - example: 001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004 - external_param: true - in: query - name: after - parameter_fieldname: after - required: false - type: string - - _key: endpoint_name - _override: true - api_fieldname: endpoint_name - entity_fieldname: endpoint_name - getter_custom_method: pre_shared_key_id_getter - readOnly: false - setter_custom_method: pre_shared_key_id_setter + - _key: account_id + api_fieldname: account_id + description: The ID of the account. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + in: path + parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' + required: true type: string + - _key: groups + api_fieldname: groups + description: A list of group IDs this API key belongs to. + entity_fieldname: groups + in: body + items: + type: string + parameter_fieldname: groups + required: false + type: array - _key: id - _override: true api_fieldname: id - description: The Id of the pre_shared_key, shadows the endpoint_name + description: The ID of the API key. entity_fieldname: id - getter_custom_method: pre_shared_key_id_getter - setter_custom_method: pre_shared_key_id_setter + example: 01619571f7020242ac12000600000000 + in: path + parameter_fieldname: apikey_id + pattern: '[a-f0-9]{32}' + required: true type: string - - _key: limit - api_fieldname: limit - description: The number of entries per page. - entity_fieldname: limit - example: 50 - external_param: true - in: query - name: limit - parameter_fieldname: limit + - _key: name + api_fieldname: name + description: The display name for the API key. + entity_fieldname: name + example: API key gorgon + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: owner + api_fieldname: owner + description: The owner of this API key, who is the creator by default. + entity_fieldname: owner + example: 01619571e2e89242ac12000600000000 + in: body + parameter_fieldname: owner + pattern: '[a-f0-9]{32}' required: false - type: integer - foreign_key: - entity: pre_shared_key - group: Security - foreign_key_priority: self - group_id: Security - method: get - mode: list - operation_id: listPreSharedKeys - pagination: true + type: string + - _key: status + api_fieldname: status + description: The status of the API key. + entity_fieldname: status + enum: *id007 + enum_reference: subtenant_api_key_status_enum + example: ACTIVE + in: body + parameter_fieldname: status + required: false + type: string + group_id: Accounts + method: put + mode: update + operation_id: updateAccountApiKey + pagination: false parameter_map: - endpoint_name: id - path: /v2/device-shared-keys + apikey_id: id + path: /v3/accounts/{account_id}/api-keys/{apikey_id} request_body: json request_content_type: application/json responses: - _key: '200' - description: List of PSKs. + description: Successful operation. + schema: + description: Represents an API key in Device Management. + foreign_key: + entity: api_key + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: creation_time + api_fieldname: creation_time + description: The timestamp of the API key creation in the storage, in milliseconds. + entity_fieldname: creation_time + example: 1518630727683 + format: int64 + type: integer + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: groups + api_fieldname: groups + description: A list of group IDs this API key belongs to. + entity_fieldname: groups + in: body + items: + type: string + parameter_fieldname: groups + required: false + type: array + - _key: id + api_fieldname: id + description: The ID of the API key. + entity_fieldname: id + example: 01619571f7020242ac12000600000000 + in: path + parameter_fieldname: apikey_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: key + api_fieldname: key + description: The API key. + entity_fieldname: key + example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 + type: string + - _key: last_login_time + api_fieldname: last_login_time + description: The timestamp of the latest API key usage, in milliseconds. + entity_fieldname: last_login_time + example: 1518630727688 + format: int64 + type: integer + - _key: name + api_fieldname: name + description: The display name for the API key. + entity_fieldname: name + example: API key gorgon + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''api-key''' + entity_fieldname: object + enum: + - api-key + type: string + - _key: owner + api_fieldname: owner + description: The owner of this API key, who is the creator by default. + entity_fieldname: owner + example: 01619571e2e89242ac12000600000000 + in: body + parameter_fieldname: owner + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: status + api_fieldname: status + description: The status of the API key. + entity_fieldname: status + enum: + - ACTIVE + - INACTIVE + enum_reference: api_key_status_enum + example: ACTIVE + in: body + parameter_fieldname: status + required: false + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - key + - name + - object + type: object + - _key: '400' + description: Error in input data, for example, missing display name. schema: - foreign_key: - entity: pre_shared_key - group: Security - pagination: true properties: - - _key: after - api_fieldname: after - description: An offset token for current page. - entity_fieldname: after - example: 001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004 + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - - _key: continuation_marker - api_fieldname: continuation_marker - description: An offset token for fetching the next page. Note that exactly - the same limit needs to be used on the request for fetching subsequent - pages. - entity_fieldname: continuation_marker - example: 001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810005 + - _key: object + description: Entity name, always `error`. + enum: + - error type: string - - _key: data - api_fieldname: data - description: Array of the PSK entries. The array is empty if there are no - PSKs. - entity_fieldname: data + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. items: - foreign_key: - entity: pre_shared_key - group: Security properties: - - _key: created_at - description: The date-time (RFC3339) when this PSK was uploaded to Device - Management. - example: '2017-07-21T17:32:28.012Z' - format: date-time + - _key: message + description: Message describing the error condition. type: string - - _key: endpoint_name - _override: true - description: The unique endpoint identifier that this PSK applies to. - 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) - (non-control) ASCII characters. - example: my-endpoint-0001 - getter_custom_method: pre_shared_key_id_getter - pattern: ^[ -~]{16,64}$ - readOnly: false - setter_custom_method: pre_shared_key_id_setter + - _key: name + description: Name of the field which caused the error. type: string required: - - endpoint_name + - name + - message type: object - minLength: 0 type: array - - _key: has_more - api_fieldname: has_more - description: More results are available. - entity_fieldname: has_more - example: true - type: boolean - - _key: limit - api_fieldname: limit - description: The value of limit query parameter from the request, or default - if not specified. - entity_fieldname: limit - example: 50 - type: integer + - _key: message + description: A human readable informative explanation + example: Validation error + type: string - _key: object - api_fieldname: object - description: The type of this API object is a "list". - entity_fieldname: object - example: list + description: Entity name, always `error`. + enum: + - error type: string - - _key: order - api_fieldname: order - description: Record order based on creation time. - entity_fieldname: order - example: DESC + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string required: + - code + - message - object - - limit - - order - - has_more - - data + - request_id + - type type: object - - _key: '400' - description: Bad request. Contains the error as a string, either TOKEN_NOT_FOUND - or INVALID_LIMIT. - return_info: - custom: false - self: true - type: pre_shared_key - return_type: paginated_response(pre_shared_key) - summary: List PSKs. - x_deprecation: null - x_filter: {} - - _key: read - description: 'Check if a PSK for an endpoint exists or not. The response does - not contain the secret itself. - - - **Example:** - - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 - \ - - -H "Authorization: Bearer " - - ```' - drop_fields: - - object - - etag - - type - - filter - - created_at - field_renames: [] - fields: - - _key: endpoint_name - _override: true - api_fieldname: endpoint_name - description: The unique endpoint identifier that this PSK applies to. 16-64 - [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) - ASCII characters. - entity_fieldname: endpoint_name - example: my-endpoint-0001 - getter_custom_method: pre_shared_key_id_getter - pattern: ^[ -~]{16,64}$ - readOnly: false - setter_custom_method: pre_shared_key_id_setter - type: string - - _key: id - _override: true - api_fieldname: id - description: The Id of the pre_shared_key, shadows the endpoint_name - entity_fieldname: id - getter_custom_method: pre_shared_key_id_getter - in: path - name: endpoint_name - required: true - setter_custom_method: pre_shared_key_id_setter - type: string - group_id: Security - method: get - mode: read - operation_id: getPreSharedKey - pagination: false - parameter_map: - endpoint_name: id - path: /v2/device-shared-keys/{endpoint_name} - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Pre-shared key for the device (does not contain secret). + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: An account ID or API key with the specified ID does not exist. schema: - foreign_key: - entity: pre_shared_key - group: Security properties: - - _key: created_at - api_fieldname: created_at - description: The date-time (RFC3339) when this PSK was uploaded to Device - Management. - entity_fieldname: created_at - example: '2017-07-21T17:32:28.012Z' - format: date-time + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - - _key: endpoint_name - _override: true - api_fieldname: endpoint_name - description: The unique endpoint identifier that this PSK applies to. 16-64 - [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) - (non-control) ASCII characters. - entity_fieldname: endpoint_name - example: my-endpoint-0001 - getter_custom_method: pre_shared_key_id_getter - pattern: ^[ -~]{16,64}$ - readOnly: false - setter_custom_method: pre_shared_key_id_setter + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string required: - - endpoint_name + - code + - message + - object + - request_id + - type type: object - - _key: '400' - description: Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME. - schema: - type: string - - _key: '401' - description: Authentication failure. - - _key: '404' - description: The PSK does not exist. return_info: custom: false self: true - type: pre_shared_key - return_type: pre_shared_key - summary: Get a PSK. + type: subtenant_api_key + return_type: subtenant_api_key + summary: Update API key details. x_deprecation: null x_filter: {} primary_key_field: id swagger_models: - - ListOfPreSharedKeysWithoutSecret - - PreSharedKey - - PreSharedKeyWithoutSecret + - ApiKeyInfoReq + - ApiKeyInfoResp + - ApiKeyUpdateReq + - GroupSummaryList tags: - - PreSharedKeys -- _key: server_credentials + - Tenant accounts - API keys +- _key: subtenant_dark_theme_color field_renames: [] fields: - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - format: date-time - readOnly: true - required: false - type: string - - _key: id - api_fieldname: id - description: Unique entity ID. - readOnly: true + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + example: '#f3f93e' + in: body + parameter_fieldname: color + readOnly: false required: false type: string - - _key: server_certificate - api_fieldname: server_certificate - description: PEM-format X.509 server certificate used to validate the server certificate - received during the TLS/DTLS handshake. - readOnly: true + x-nullable: true + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + enum: + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: subtenant_dark_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + readOnly: false required: false type: string - - _key: server_uri - api_fieldname: server_uri - description: Server URI that the client connects to. + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + example: '2018-02-14T15:24:14Z' + format: date-time + in: body + parameter_fieldname: updated_at readOnly: true required: false type: string - group_id: Security + group_id: Branding methods: - - _key: get_bootstrap - additional_operations: - - notes: The information returned by this endpoint can be obtained by calling - `get_bootstrap`. - operation_id: getAllServerCredentials - description: 'Return bootstrap server credentials for client to connect to bootstrap - server. + - _key: delete + description: 'Resets the branding color of a tenant account to its dark theme + default. **Example:** ``` - curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \ - -H "Authorization: Bearer " + -H ''Authorization: Bearer '' ```' drop_fields: @@ -37806,72 +43364,107 @@ entities: - etag - type - filter - - id - - created_at - - server_certificate - - server_uri field_renames: [] - fields: [] - group_id: Security - method: get - mode: get_bootstrap - operation_id: getBootstrapServerCredentials + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: true + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: The name of the branding color. + entity_fieldname: reference + enum: &id008 + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: subtenant_dark_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + group_id: Branding + method: delete + mode: delete + operation_id: resetAccountDarkColor pagination: false - path: /v3/server-credentials/bootstrap - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Bootstrap server credentials fetched successfully. - examples: - - _key: Success - created_at: '2017-12-11T14:22:20.009Z' - etag: '1' - id: 015fee4431fd38c98640fbfb00000000 - object: server-credentials - server_certificate: '-----BEGIN CERTIFICATE-----\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\n-----END - CERTIFICATE-----' - server_uri: coaps://coap.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000 + path: /v3/accounts/{account_id}/branding-colors/dark/{reference} + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Deleted successfully. + - _key: '401' + description: Authentication failure. schema: - foreign_key: - entity: server_credentials - group: Security properties: - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - entity_fieldname: created_at - format: date-time - type: string - - _key: etag - api_fieldname: etag - description: API resource entity version. - entity_fieldname: etag - type: string - - _key: id - api_fieldname: id - description: Unique entity ID. - entity_fieldname: id + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - _key: object - api_fieldname: object - description: 'Entity name: always `server-credentials`.' - entity_fieldname: object + description: Entity name, always `error`. + enum: + - error type: string - - _key: server_certificate - api_fieldname: server_certificate - description: PEM-format X.509 server certificate used to validate the server - certificate received during the TLS/DTLS handshake. - entity_fieldname: server_certificate + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 type: string - - _key: server_uri - api_fieldname: server_uri - description: Server URI that the client connects to. - entity_fieldname: server_uri + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string + required: + - code + - message + - object + - request_id + - type type: object - - _key: '400' - description: Bad request. + - _key: '403' + description: Forbidden. schema: properties: - _key: code @@ -37918,15 +43511,8 @@ entities: - request_id - type type: object - - _key: '401' - description: Invalid access token. - examples: - - _key: Authentication Error - code: 401 - message: Invalid access token. - object: error - request_id: 015fee4431fd38c98640fbfb00000000 - type: invalid_auth + - _key: '404' + description: Color or account not found. schema: properties: - _key: code @@ -37974,28 +43560,27 @@ entities: - type type: object return_info: - custom: false - self: true - type: server_credentials - return_type: server_credentials - summary: Fetch bootstrap server credentials. + custom: true + self: false + type: void + return_type: void + spec: + return_type: void + summary: Reset branding color to default. x_deprecation: null x_filter: {} - - _key: get_lwm2m - additional_operations: - - notes: The information returned by this endpoint can be obtained by calling - `get_lwm2m`. - operation_id: getAllServerCredentials - description: 'Return LwM2M server credentials for client to connect to LwM2M server. + - _key: read + description: 'Retrieve the requested dark theme branding color. **Example:** ``` - curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} + \ - -H "Authorization: Bearer " + -H ''Authorization: Bearer '' ```' drop_fields: @@ -38003,72 +43588,162 @@ entities: - etag - type - filter - - id - - created_at - - server_certificate - - server_uri + - color + - updated_at field_renames: [] - fields: [] - group_id: Security + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: true + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: *id008 + enum_reference: subtenant_dark_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + group_id: Branding method: get - mode: get_lwm2m - operation_id: getL2M2MServerCredentials + mode: read + operation_id: getAccountDarkColor pagination: false - path: /v3/server-credentials/lwm2m + path: /v3/accounts/{account_id}/branding-colors/dark/{reference} request_body: json request_content_type: application/json responses: - _key: '200' - description: LwM2M server credentials fetched successfully. - examples: - - _key: Success - created_at: '2017-12-11T14:22:20.009Z' - etag: '1' - id: 015fee4431fd38c98640fbfb00000000 - object: server-credentials - server_certificate: '-----BEGIN CERTIFICATE-----\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\n-----END - CERTIFICATE-----' - server_uri: coaps://mds.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000 + description: Successful operation. schema: foreign_key: - entity: server_credentials - group: Security + entity: subtenant_light_theme_color + group: Branding properties: - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - entity_fieldname: created_at - format: date-time + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + entity_fieldname: color + example: '#f3f93e' + in: body + parameter_fieldname: color + required: false type: string - - _key: etag - api_fieldname: etag - description: API resource entity version. - entity_fieldname: etag + x-nullable: true + - _key: object + api_fieldname: object + description: 'Entity name: always ''branding_color''' + entity_fieldname: object + enum: + - branding_color + external_param: true + in: body + name: object + parameter_fieldname: object + readOnly: true + required: false + schema_param: true type: string - - _key: id - api_fieldname: id - description: Unique entity ID. - entity_fieldname: id + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: light_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + in: body + parameter_fieldname: updated_at + readOnly: true + required: false + type: string + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - _key: object - api_fieldname: object - description: 'Entity name: always `server-credentials`.' - entity_fieldname: object + description: Entity name, always `error`. + enum: + - error type: string - - _key: server_certificate - api_fieldname: server_certificate - description: PEM-format X.509 server certificate used to validate the server - certificate received during the TLS/DTLS handshake. - entity_fieldname: server_certificate + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 type: string - - _key: server_uri - api_fieldname: server_uri - description: Server URI that the client connects to. - entity_fieldname: server_uri + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string + required: + - code + - message + - object + - request_id + - type type: object - - _key: '400' - description: Bad request. + - _key: '403' + description: Forbidden. schema: properties: - _key: code @@ -38115,15 +43790,8 @@ entities: - request_id - type type: object - - _key: '401' - description: Invalid access token. - examples: - - _key: Authentication Error - code: 401 - message: Invalid access token. - object: error - request_id: 015fee4431fd38c98640fbfb00000000 - type: invalid_auth + - _key: '404' + description: Color or account not found. schema: properties: - _key: code @@ -38173,138 +43841,31 @@ entities: return_info: custom: false self: true - type: server_credentials - return_type: server_credentials - summary: Fetch LwM2M server credentials. + type: subtenant_dark_theme_color + return_type: subtenant_dark_theme_color + summary: Get dark theme branding color. x_deprecation: null x_filter: {} - primary_key_field: id - swagger_models: - - ServerCredentialsResponseData - tags: - - Service security - server credentials -- _key: subtenant_api_key - field_renames: [] - fields: - - _key: account_id - api_fieldname: account_id - description: The ID of the account. - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - readOnly: false - required: true - type: string - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - example: '2018-02-13T09:35:20Z' - format: date-time - readOnly: true - required: false - type: string - - _key: creation_time - api_fieldname: creation_time - description: The timestamp of the API key creation in the storage, in milliseconds. - example: 1518630727683 - format: int64 - readOnly: true - required: false - type: integer - - _key: groups - api_fieldname: groups - description: A list of group IDs this API key belongs to. - in: body - items: - type: string - parameter_fieldname: groups - readOnly: false - required: false - type: array - - _key: id - api_fieldname: id - description: The ID of the API key. - example: 01619571f7020242ac12000600000000 - in: path - parameter_fieldname: apikey_id - pattern: '[a-f0-9]{32}' - readOnly: false - required: true - type: string - - _key: key - api_fieldname: key - description: The API key. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 - readOnly: true - required: false - type: string - - _key: last_login_time - api_fieldname: last_login_time - description: The timestamp of the latest API key usage, in milliseconds. - example: 1518630727688 - format: int64 - readOnly: true - required: false - type: integer - - _key: name - api_fieldname: name - description: The display name for the API key. - example: API key gorgon - in: body - maxLength: 100 - parameter_fieldname: name - readOnly: false - required: true - type: string - - _key: owner - api_fieldname: owner - description: The owner of this API key, who is the creator by default. - example: 01619571e2e89242ac12000600000000 - in: body - parameter_fieldname: owner - pattern: '[a-f0-9]{32}' - readOnly: false - required: false - type: string - - _key: status - api_fieldname: status - description: The status of the API key. - enum: - - ACTIVE - - INACTIVE - enum_reference: subtenant_api_key_status_enum - example: ACTIVE - in: body - parameter_fieldname: status - readOnly: false - required: false - type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update UTC time RFC3339. - example: '2018-02-14T15:24:14Z' - format: date-time - readOnly: true - required: false - type: string - group_id: Accounts - methods: - - _key: create - description: 'Create a new API key. There is no default value for the owner ID, - and it must be from the same account where the new API key is created. + - _key: update + additional_operations: + - notes: Bulk operation is not appriate for SDK's entity model, this functionality + is covered by the update method. + operation_id: bulkSetAccountDarkColors + description: 'Update a dark theme branding color of a tenant account. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \ -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''{"name": "MyKey1"}'' + -d ''{ "color": "#f3f93e" }'' ```' drop_fields: @@ -38312,202 +43873,277 @@ entities: - etag - type - filter - - id - - created_at - - updated_at - - key - - creation_time - - last_login_time field_renames: [] fields: - _key: account_id api_fieldname: account_id - description: The ID of the account. + description: Account ID. entity_fieldname: account_id - example: 01619571e2e90242ac12000600000000 + external_param: true in: path + name: account_id parameter_fieldname: account_id - pattern: '[a-f0-9]{32}' required: true type: string - - _key: groups - api_fieldname: groups - description: A list of group IDs this API key belongs to. - entity_fieldname: groups + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + entity_fieldname: color + example: '#f3f93e' in: body - items: - type: string - parameter_fieldname: groups + parameter_fieldname: color required: false - type: array - - _key: name - api_fieldname: name - description: The display name for the API key. - entity_fieldname: name - example: API key gorgon - in: body - maxLength: 100 - parameter_fieldname: name - required: true type: string - - _key: owner - api_fieldname: owner - description: The owner of this API key, who is the creator by default. - entity_fieldname: owner - example: 01619571e2e89242ac12000600000000 - in: body - parameter_fieldname: owner - pattern: '[a-f0-9]{32}' - required: false + x-nullable: true + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: *id008 + enum_reference: subtenant_dark_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true type: string - - _key: status - api_fieldname: status - description: The status of the API key. - entity_fieldname: status - enum: &id006 - - ACTIVE - - INACTIVE - enum_reference: subtenant_api_key_status_enum - example: ACTIVE + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time in: body - parameter_fieldname: status + parameter_fieldname: updated_at + readOnly: true required: false type: string - group_id: Accounts - method: post - mode: create - operation_id: createAccountApiKey + group_id: Branding + method: put + mode: update + operation_id: setAccountDarkColor pagination: false - parameter_map: - apikey_id: id - path: /v3/accounts/{account_id}/api-keys + path: /v3/accounts/{account_id}/branding-colors/dark/{reference} request_body: json request_content_type: application/json responses: - - _key: '201' - description: New entity created. + - _key: '200' + description: Color has been set successfully. schema: - description: Represents an API key in Device Management. foreign_key: - entity: api_key - group: Accounts + entity: subtenant_light_theme_color + group: Branding properties: - - _key: account_id - api_fieldname: account_id - description: The ID of the account. - entity_fieldname: account_id - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' + - _key: color + api_fieldname: color + description: The color given as name (purple) or as a hex code. + entity_fieldname: color + example: '#f3f93e' + in: body + parameter_fieldname: color + required: false type: string - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - entity_fieldname: created_at - example: '2018-02-13T09:35:20Z' + x-nullable: true + - _key: object + api_fieldname: object + description: 'Entity name: always ''branding_color''' + entity_fieldname: object + enum: + - branding_color + external_param: true + in: body + name: object + parameter_fieldname: object + readOnly: true + required: false + schema_param: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Color name. + entity_fieldname: reference + enum: + - error_color + - primary + - secondary + - success_color + - warning_color + - canvas_background + - canvas_background_font_color + - workspace_background + - workspace_background_font_color + - info_color + - info_font_color + - primary_font_color + - secondary_font_color + - error_font_color + - success_font_color + - warning_font_color + enum_reference: light_theme_color_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' format: date-time + in: body + parameter_fieldname: updated_at + readOnly: true + required: false type: string - - _key: creation_time - api_fieldname: creation_time - description: The timestamp of the API key creation in the storage, in milliseconds. - entity_fieldname: creation_time - example: 1518630727683 - format: int64 + type: object + - _key: '400' + description: Error in input data format. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 type: integer - - _key: etag - api_fieldname: etag - description: API resource entity version. - entity_fieldname: etag - example: '1' + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - - _key: groups - api_fieldname: groups - description: A list of group IDs this API key belongs to. - entity_fieldname: groups - in: body + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. items: - type: string - parameter_fieldname: groups - required: false + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object type: array - - _key: id - api_fieldname: id - description: The ID of the API key. - entity_fieldname: id - example: 01619571f7020242ac12000600000000 - in: path - parameter_fieldname: apikey_id - pattern: '[a-f0-9]{32}' - required: true + - _key: message + description: A human readable informative explanation + example: Validation error type: string - - _key: key - api_fieldname: key - description: The API key. - entity_fieldname: key - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 + - _key: object + description: Entity name, always `error`. + enum: + - error type: string - - _key: last_login_time - api_fieldname: last_login_time - description: The timestamp of the latest API key usage, in milliseconds. - entity_fieldname: last_login_time - example: 1518630727688 - format: int64 + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 type: integer - - _key: name - api_fieldname: name - description: The display name for the API key. - entity_fieldname: name - example: API key gorgon - in: body - maxLength: 100 - parameter_fieldname: name - required: true + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - _key: object - api_fieldname: object - description: 'Entity name: always ''api-key''' - entity_fieldname: object + description: Entity name, always `error`. enum: - - api-key - type: string - - _key: owner - api_fieldname: owner - description: The owner of this API key, who is the creator by default. - entity_fieldname: owner - example: 01619571e2e89242ac12000600000000 - in: body - parameter_fieldname: owner - pattern: '[a-f0-9]{32}' - required: false + - error type: string - - _key: status - api_fieldname: status - description: The status of the API key. - entity_fieldname: status - enum: - - ACTIVE - - INACTIVE - enum_reference: api_key_status_enum - example: ACTIVE - in: body - parameter_fieldname: status - required: false + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update UTC time RFC3339. - entity_fieldname: updated_at - example: '2018-02-14T15:24:14Z' - format: date-time + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string required: - - etag - - id - - key - - name + - code + - message - object + - request_id + - type type: object - - _key: '400' - description: Error in input data, for example, missing display name. + - _key: '404' + description: Color or account not found. schema: properties: - _key: code @@ -38554,6 +44190,180 @@ entities: - request_id - type type: object + return_info: + custom: false + self: true + type: subtenant_dark_theme_color + return_type: subtenant_dark_theme_color + summary: Updates a dark theme branding color. + x_deprecation: null + x_filter: {} + primary_key_field: reference + swagger_models: + - BrandingColor + tags: + - Tenant user interface configuration - colors +- _key: subtenant_dark_theme_image + field_renames: [] + fields: + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + enum: + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: subtenant_dark_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + readOnly: false + required: false + type: string + - _key: static_uri + api_fieldname: static_uri + description: The static link to the image. + example: https://static.mbed.com/123456789.jpg + format: uri + readOnly: true + required: false + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + required: false + type: string + group_id: Branding + methods: + - _key: delete + description: 'Revert an account branding image to dark theme default. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: true + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Name of the branding images (icon or picture). + entity_fieldname: reference + enum: &id009 + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: subtenant_dark_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + group_id: Branding + method: post + mode: delete + operation_id: clearAccountDarkImage + pagination: false + path: /v3/accounts/{account_id}/branding-images/dark/{reference}/clear + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Image reverted successfully. - _key: '401' description: Authentication failure. schema: @@ -38651,7 +44461,7 @@ entities: - type type: object - _key: '404' - description: An account with the given ID does not exist. + description: Unknown image reference, or account not found. schema: properties: - _key: code @@ -38701,20 +44511,20 @@ entities: return_info: custom: false self: true - type: subtenant_api_key - return_type: subtenant_api_key - summary: Create a new API key. + type: subtenant_dark_theme_image + return_type: subtenant_dark_theme_image + summary: Revert an image to dark theme default. x_deprecation: null x_filter: {} - - _key: delete - description: 'Delete an API key. + - _key: read + description: 'Retrieve metadata of one account dark theme branding image. **Example:** ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \ -H ''Authorization: Bearer '' @@ -38725,41 +44535,122 @@ entities: - etag - type - filter + - static_uri + - updated_at field_renames: [] fields: - _key: account_id api_fieldname: account_id description: Account ID. entity_fieldname: account_id - external_param: false + external_param: true in: path name: account_id parameter_fieldname: account_id required: true type: string - - _key: id - api_fieldname: apikey_id - description: The ID of the API key to delete. - entity_fieldname: id - external_param: false + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: *id009 + enum_reference: subtenant_dark_theme_image_reference_enum in: path - name: apikey_id - parameter_fieldname: apikey_id + is_primary_key: true + name: reference required: true type: string - group_id: Accounts - method: delete - mode: delete - operation_id: deleteAccountApiKey + group_id: Branding + method: get + mode: read + operation_id: getAccountDarkImageData pagination: false - parameter_map: - apikey_id: id - path: /v3/accounts/{account_id}/api-keys/{apikey_id} + path: /v3/accounts/{account_id}/branding-images/dark/{reference} request_body: json request_content_type: application/json responses: - - _key: '204' - description: Deleted successfully. + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: subtenant_light_theme_image + group: Branding + properties: + - _key: object + api_fieldname: object + description: 'Entity name: always ''branding_image''' + entity_fieldname: object + enum: + - branding_image + readOnly: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: light_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + - _key: static_uri + api_fieldname: static_uri + description: The static link to the image. + entity_fieldname: static_uri + example: https://static.mbed.com/123456789.jpg + format: uri + readOnly: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + type: object - _key: '401' description: Authentication failure. schema: @@ -38857,7 +44748,7 @@ entities: - type type: object - _key: '404' - description: An account or API key with the specified ID does not exist. + description: Unknown image reference, or account not found. schema: properties: - _key: code @@ -38907,259 +44798,203 @@ entities: return_info: custom: false self: true - type: subtenant_api_key - return_type: subtenant_api_key - summary: Delete the API key. + type: subtenant_dark_theme_image + return_type: subtenant_dark_theme_image + summary: Get metadata of a dark theme image. x_deprecation: null x_filter: {} - - _key: policy_groups - description: 'Retrieve groups associated with the API key. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: update + additional_operations: + - notes: The multipart endpoint is used by the SDKs as it offers the same functionality + as the standard upload endpoint. + operation_id: uploadAccountDarkImage + description: Upload a new account dark theme branding image as form data in PNG + or JPEG format. drop_fields: - object - etag - type - filter - - total_count - - has_more - - data + - static_uri + - updated_at field_renames: [] fields: - _key: account_id api_fieldname: account_id description: Account ID. entity_fieldname: account_id - external_param: false + external_param: true in: path name: account_id parameter_fieldname: account_id required: true type: string - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 + - _key: image + api_fieldname: image + description: The image in PNG or JPEG format as multipart form data. + entity_fieldname: image external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' - required: false - type: string - - _key: id - api_fieldname: apikey_id - description: The ID of the API key. - entity_fieldname: id - external_param: false + in: stream + name: image + parameter_fieldname: image + required: true + type: file + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: *id009 + enum_reference: subtenant_dark_theme_image_reference_enum in: path - name: apikey_id - parameter_fieldname: apikey_id + is_primary_key: true + name: reference required: true type: string - - _key: include - api_fieldname: include - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - entity_fieldname: include - external_param: true - in: query - name: include - parameter_fieldname: include - required: false - type: string - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true - format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false - type: integer - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. - Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: subtenant_api_key_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order - required: false - type: string - foreign_key: - entity: subtenant_policy_group - group_id: Accounts - method: get - mode: policy_groups - operation_id: getGroupsOfAccountApikey - pagination: true - parameter_map: - apikey_id: id - path: /v3/accounts/{account_id}/api-keys/{apikey_id}/groups - request_body: json - request_content_type: application/json + group_id: Branding + method: post + mode: update + operation_id: uploadAccountDarkImageMultipart + pagination: false + path: /v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart + request_body: file + request_content_type: multipart/form-data responses: - - _key: '200' - description: Successful operation. + - _key: '201' + description: Image uploaded successfully. + headers: + - _key: Content-Location + description: Location of the image metadata. + type: string + - _key: Location + description: Location of the image binary. + type: string + schema: + foreign_key: + entity: subtenant_light_theme_image + group: Branding + properties: + - _key: object + api_fieldname: object + description: 'Entity name: always ''branding_image''' + entity_fieldname: object + enum: + - branding_image + readOnly: true + type: string + - _key: reference + _override: true + api_fieldname: reference + description: Name of the image. + entity_fieldname: reference + enum: + - brand_logo_portrait + - brand_logo_square + - brand_logo_landscape + - brand_logo_email + - desktop_background_landscape + - desktop_background_square + - desktop_background_portrait + - carousel_image_portrait_0 + - carousel_image_portrait_1 + - carousel_image_portrait_2 + - carousel_image_portrait_3 + - carousel_image_portrait_4 + - carousel_image_portrait_5 + - carousel_image_portrait_6 + - carousel_image_portrait_7 + - carousel_image_portrait_8 + - carousel_image_portrait_9 + - carousel_image_square_0 + - carousel_image_square_1 + - carousel_image_square_2 + - carousel_image_square_3 + - carousel_image_square_4 + - carousel_image_square_5 + - carousel_image_square_6 + - carousel_image_square_7 + - carousel_image_square_8 + - carousel_image_square_9 + - carousel_image_landscape_0 + - carousel_image_landscape_1 + - carousel_image_landscape_2 + - carousel_image_landscape_3 + - carousel_image_landscape_4 + - carousel_image_landscape_5 + - carousel_image_landscape_6 + - carousel_image_landscape_7 + - carousel_image_landscape_8 + - carousel_image_landscape_9 + enum_reference: light_theme_image_reference_enum + in: path + is_primary_key: true + name: reference + required: true + type: string + - _key: static_uri + api_fieldname: static_uri + description: The static link to the image. + entity_fieldname: static_uri + example: https://static.mbed.com/123456789.jpg + format: uri + readOnly: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update time in UTC. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + type: object + - _key: '400' + description: Error in input data format, for example, image is too large. schema: - foreign_key: - entity: subtenant_policy_group - group: Accounts - pagination: true properties: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' - required: false - type: string - - _key: data - api_fieldname: data - description: A list of entities. - entity_fieldname: data + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. items: - description: This object contains basic information about groups. - foreign_key: - entity: subtenant_policy_group - group: Accounts properties: - - _key: account_id - description: The ID of the account this group belongs to. - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: apikey_count - description: The number of API keys in this group. - example: 0 - format: int32 - type: integer - - _key: created_at - description: Creation UTC time RFC3339. - example: '2018-02-13T09:35:20Z' - format: date-time - type: string - - _key: etag - description: API resource entity version. - example: '1' - type: string - - _key: id - description: The ID of the group. - example: 01619571dec00242ac12000600000000 - pattern: '[a-f0-9]{32}' + - _key: message + description: Message describing the error condition. type: string - _key: name - description: The name of the group. - example: Administrators - maxLength: 100 - type: string - - _key: object - description: 'Entity name: always `group`.' - enum: - - group - type: string - - _key: updated_at - description: Last update UTC time RFC3339. - example: '2018-02-14T15:24:14Z' - format: date-time + description: Name of the field which caused the error. type: string - - _key: user_count - description: The number of users in this group. - example: 1 - format: int32 - type: integer required: - - account_id - - apikey_count - - etag - - id - name - - object - - user_count + - message type: object type: array - - _key: has_more - api_fieldname: has_more - description: Flag indicating whether there are more results. - entity_fieldname: has_more - example: false - type: boolean - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true - format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false - type: integer + - _key: message + description: A human readable informative explanation + example: Validation error + type: string - _key: object - api_fieldname: object - description: 'Entity name: always `list`.' - entity_fieldname: object + description: Entity name, always `error`. enum: - - list + - error type: string - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: api_key_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order - required: false + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string - - _key: total_count - api_fieldname: total_count - description: The total number of records, if requested. - entity_fieldname: total_count - example: 20 - format: int32 - type: integer required: - - data - - has_more - - limit + - code + - message - object - - total_count + - request_id + - type type: object - _key: '401' description: Authentication failure. @@ -39258,7 +45093,7 @@ entities: - type type: object - _key: '404' - description: An account or API key with the specified ID does not exist. + description: Unknown image reference. schema: properties: - _key: code @@ -39307,34 +45142,152 @@ entities: type: object return_info: custom: false - self: false - type: subtenant_policy_group - return_type: paginated_response(subtenant_policy_group) - summary: Get groups associated with the API key. + self: true + type: subtenant_dark_theme_image + return_type: subtenant_dark_theme_image + summary: Upload a dark theme image. x_deprecation: null x_filter: {} - - _key: read - description: "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ - \ \\\n -H 'Authorization: Bearer '\n```" + primary_key_field: reference + swagger_models: + - BrandingImage + tags: + - Tenant user interface configuration - images +- _key: subtenant_identity_provider + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: false + required: true + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + readOnly: true + required: false + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + in: body + maxLength: 500 + parameter_fieldname: description + readOnly: false + required: false + type: string + - _key: id + api_fieldname: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + readOnly: false + required: true + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity provider. + readOnly: true + required: false + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + in: body + maxLength: 100 + parameter_fieldname: name + readOnly: false + required: true + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this empty + to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider in PEM + format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + readOnly: false + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + enum: + - ACTIVE + - SUSPENDED + enum_reference: subtenant_identity_provider_status_enum + in: body + parameter_fieldname: status + readOnly: false + required: false + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + readOnly: true + required: false + type: string + group_id: Accounts + methods: + - _key: create + description: Create a new identity provider. drop_fields: - object - etag - type - filter + - id - created_at - updated_at - - key - - name - - groups - - owner - - status - - creation_time - - last_login_time + - is_default field_renames: [] fields: - _key: account_id api_fieldname: account_id - description: The ID of the account. + description: The ID of the account the identity provider belongs to. entity_fieldname: account_id example: 01619571e2e90242ac12000600000000 in: path @@ -39342,38 +45295,258 @@ entities: pattern: '[a-f0-9]{32}' required: true type: string - - _key: id - api_fieldname: id - description: The ID of the API key. - entity_fieldname: id - example: 01619571f7020242ac12000600000000 - in: path - parameter_fieldname: apikey_id - pattern: '[a-f0-9]{32}' + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: discovery + allowEmptyValue: true + api_fieldname: discovery + description: 'Indicates that the OpenID Connect endpoints and keys should be + set using the OpenID Connect Discovery mechanism. The following parameters + are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint + * revocation_endpoint * jwks_uri * keys' + entity_fieldname: discovery + external_param: true + in: query + name: discovery + parameter_fieldname: discovery + required: false + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name required: true type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + external_param: true + in: body + name: oidc_attributes + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java + SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign ID + tokens. PEM-encoded. + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity provider's + API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication request. + When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the POST + mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in the + JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + schema_param: true + type: object + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider in + PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: &id010 + - ACTIVE + - SUSPENDED + enum_reference: subtenant_identity_provider_status_enum + in: body + parameter_fieldname: status + required: false + type: string group_id: Accounts - method: get - mode: read - operation_id: getAccountApiKey + method: post + mode: create + operation_id: createAccountIdentityProvider pagination: false parameter_map: - apikey_id: id - path: /v3/accounts/{account_id}/api-keys/{apikey_id} + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers request_body: json request_content_type: application/json responses: - - _key: '200' - description: Successful operation. + - _key: '201' + description: New entity created. + headers: + - _key: Content-Location + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string + - _key: Location + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string schema: - description: Represents an API key in Device Management. foreign_key: - entity: api_key + entity: identity_provider group: Accounts properties: - _key: account_id api_fieldname: account_id - description: The ID of the account. + description: The ID of the account the identity provider belongs to. entity_fieldname: account_id example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -39385,57 +45558,42 @@ entities: example: '2018-02-13T09:35:20Z' format: date-time type: string - - _key: creation_time - api_fieldname: creation_time - description: The timestamp of the API key creation in the storage, in milliseconds. - entity_fieldname: creation_time - example: 1518630727683 - format: int64 - type: integer + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string - _key: etag api_fieldname: etag description: API resource entity version. entity_fieldname: etag example: '1' type: string - - _key: groups - api_fieldname: groups - description: A list of group IDs this API key belongs to. - entity_fieldname: groups - in: body - items: - type: string - parameter_fieldname: groups - required: false - type: array - _key: id api_fieldname: id - description: The ID of the API key. + description: Entity ID. entity_fieldname: id - example: 01619571f7020242ac12000600000000 + example: 01619571d01d0242ac12000600000000 in: path - parameter_fieldname: apikey_id + parameter_fieldname: identity_provider_id pattern: '[a-f0-9]{32}' required: true type: string - - _key: key - api_fieldname: key - description: The API key. - entity_fieldname: key - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 - type: string - - _key: last_login_time - api_fieldname: last_login_time - description: The timestamp of the latest API key usage, in milliseconds. - entity_fieldname: last_login_time - example: 1518630727688 - format: int64 - type: integer + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean - _key: name api_fieldname: name - description: The display name for the API key. + description: Name of the identity provider. entity_fieldname: name - example: API key gorgon in: body maxLength: 100 parameter_fieldname: name @@ -39443,34 +45601,83 @@ entities: type: string - _key: object api_fieldname: object - description: 'Entity name: always ''api-key''' + description: 'Entity name: always ''identity-provider''' entity_fieldname: object enum: - - api-key + - identity-provider type: string - - _key: owner - api_fieldname: owner - description: The owner of this API key, who is the creator by default. - entity_fieldname: owner - example: 01619571e2e89242ac12000600000000 + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes in: body - parameter_fieldname: owner - pattern: '[a-f0-9]{32}' + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true required: false - type: string + type: object - _key: status api_fieldname: status - description: The status of the API key. + description: Status of the identity provider. entity_fieldname: status enum: - ACTIVE - - INACTIVE - enum_reference: api_key_status_enum - example: ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum in: body parameter_fieldname: status required: false type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + external_param: true + in: body + name: type + parameter_fieldname: type + required: true + schema_param: true + type: string - _key: updated_at api_fieldname: updated_at description: Last update UTC time RFC3339. @@ -39481,60 +45688,12 @@ entities: required: - etag - id - - key - name - object - type: object - - _key: '401' - description: Authentication failure. - schema: - properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error - type: string - - _key: object - description: Entity name, always `error`. - enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 - type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - type type: object - - _key: '403' - description: Forbidden. + - _key: '400' + description: Error in input data, for example, too long name. schema: properties: - _key: code @@ -39581,8 +45740,8 @@ entities: - request_id - type type: object - - _key: '404' - description: An account or API key with the specified ID does not exist. + - _key: '401' + description: Authentication failure. schema: properties: - _key: code @@ -39628,241 +45787,57 @@ entities: - object - request_id - type - type: object - return_info: - custom: false - self: true - type: subtenant_api_key - return_type: subtenant_api_key - summary: Get API key details. - x_deprecation: null - x_filter: {} - - _key: update - description: 'Update API key details. - - - **Example:** - - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} - \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{"name": "TestApiKey25"}'' - - ```' - drop_fields: - - object - - etag - - type - - filter - - created_at - - updated_at - - key - - creation_time - - last_login_time - field_renames: [] - fields: - - _key: account_id - api_fieldname: account_id - description: The ID of the account. - entity_fieldname: account_id - example: 01619571e2e90242ac12000600000000 - in: path - parameter_fieldname: account_id - pattern: '[a-f0-9]{32}' - required: true - type: string - - _key: groups - api_fieldname: groups - description: A list of group IDs this API key belongs to. - entity_fieldname: groups - in: body - items: - type: string - parameter_fieldname: groups - required: false - type: array - - _key: id - api_fieldname: id - description: The ID of the API key. - entity_fieldname: id - example: 01619571f7020242ac12000600000000 - in: path - parameter_fieldname: apikey_id - pattern: '[a-f0-9]{32}' - required: true - type: string - - _key: name - api_fieldname: name - description: The display name for the API key. - entity_fieldname: name - example: API key gorgon - in: body - maxLength: 100 - parameter_fieldname: name - required: true - type: string - - _key: owner - api_fieldname: owner - description: The owner of this API key, who is the creator by default. - entity_fieldname: owner - example: 01619571e2e89242ac12000600000000 - in: body - parameter_fieldname: owner - pattern: '[a-f0-9]{32}' - required: false - type: string - - _key: status - api_fieldname: status - description: The status of the API key. - entity_fieldname: status - enum: *id006 - enum_reference: subtenant_api_key_status_enum - example: ACTIVE - in: body - parameter_fieldname: status - required: false - type: string - group_id: Accounts - method: put - mode: update - operation_id: updateAccountApiKey - pagination: false - parameter_map: - apikey_id: id - path: /v3/accounts/{account_id}/api-keys/{apikey_id} - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Successful operation. - schema: - description: Represents an API key in Device Management. - foreign_key: - entity: api_key - group: Accounts - properties: - - _key: account_id - api_fieldname: account_id - description: The ID of the account. - entity_fieldname: account_id - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: created_at - api_fieldname: created_at - description: Creation UTC time RFC3339. - entity_fieldname: created_at - example: '2018-02-13T09:35:20Z' - format: date-time - type: string - - _key: creation_time - api_fieldname: creation_time - description: The timestamp of the API key creation in the storage, in milliseconds. - entity_fieldname: creation_time - example: 1518630727683 - format: int64 - type: integer - - _key: etag - api_fieldname: etag - description: API resource entity version. - entity_fieldname: etag - example: '1' - type: string - - _key: groups - api_fieldname: groups - description: A list of group IDs this API key belongs to. - entity_fieldname: groups - in: body - items: - type: string - parameter_fieldname: groups - required: false - type: array - - _key: id - api_fieldname: id - description: The ID of the API key. - entity_fieldname: id - example: 01619571f7020242ac12000600000000 - in: path - parameter_fieldname: apikey_id - pattern: '[a-f0-9]{32}' - required: true - type: string - - _key: key - api_fieldname: key - description: The API key. - entity_fieldname: key - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 - type: string - - _key: last_login_time - api_fieldname: last_login_time - description: The timestamp of the latest API key usage, in milliseconds. - entity_fieldname: last_login_time - example: 1518630727688 - format: int64 + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 type: integer - - _key: name - api_fieldname: name - description: The display name for the API key. - entity_fieldname: name - example: API key gorgon - in: body - maxLength: 100 - parameter_fieldname: name - required: true + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - _key: object - api_fieldname: object - description: 'Entity name: always ''api-key''' - entity_fieldname: object + description: Entity name, always `error`. enum: - - api-key - type: string - - _key: owner - api_fieldname: owner - description: The owner of this API key, who is the creator by default. - entity_fieldname: owner - example: 01619571e2e89242ac12000600000000 - in: body - parameter_fieldname: owner - pattern: '[a-f0-9]{32}' - required: false + - error type: string - - _key: status - api_fieldname: status - description: The status of the API key. - entity_fieldname: status - enum: - - ACTIVE - - INACTIVE - enum_reference: api_key_status_enum - example: ACTIVE - in: body - parameter_fieldname: status - required: false + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update UTC time RFC3339. - entity_fieldname: updated_at - example: '2018-02-14T15:24:14Z' - format: date-time + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string required: - - etag - - id - - key - - name + - code + - message - object + - request_id + - type type: object - - _key: '400' - description: Error in input data, for example, missing display name. + - _key: '404' + description: Account not found. schema: properties: - _key: code @@ -39909,6 +45884,56 @@ entities: - request_id - type type: object + return_info: + custom: false + self: true + type: subtenant_identity_provider + return_type: subtenant_identity_provider + summary: Create a new identity provider. + x_deprecation: null + x_filter: {} + - _key: delete + description: Delete an identity provider by ID. + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: false + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: id + api_fieldname: identity_provider_id + description: The ID of the identity provider to delete. + entity_fieldname: id + external_param: false + in: path + name: identity_provider_id + parameter_fieldname: identity_provider_id + required: true + type: string + group_id: Accounts + method: delete + mode: delete + operation_id: deleteAccountIdentityProvider + pagination: false + parameter_map: + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Deleted successfully. - _key: '401' description: Authentication failure. schema: @@ -39958,7 +45983,7 @@ entities: - type type: object - _key: '403' - description: Forbidden. + description: Forbidden, or identity provider is in use. schema: properties: - _key: code @@ -40006,7 +46031,7 @@ entities: - type type: object - _key: '404' - description: An account ID or API key with the specified ID does not exist. + description: Account or identity provider not found. schema: properties: - _key: code @@ -40056,143 +46081,217 @@ entities: return_info: custom: false self: true - type: subtenant_api_key - return_type: subtenant_api_key - summary: Update API key details. + type: subtenant_identity_provider + return_type: subtenant_identity_provider + summary: Delete an identity provider by ID. x_deprecation: null x_filter: {} - primary_key_field: id - swagger_models: - - ApiKeyInfoReq - - ApiKeyInfoResp - - ApiKeyUpdateReq - - GroupSummaryList - tags: - - Tenant accounts - API keys -- _key: subtenant_dark_theme_color - field_renames: [] - fields: - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - example: '#f3f93e' - in: body - parameter_fieldname: color - readOnly: false - required: false - type: string - x-nullable: true - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - enum: - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: subtenant_dark_theme_color_reference_enum - in: path - is_primary_key: true - name: reference - readOnly: false - required: false - type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update time in UTC. - example: '2018-02-14T15:24:14Z' - format: date-time - in: body - parameter_fieldname: updated_at - readOnly: true - required: false - type: string - group_id: Branding - methods: - - _key: delete - description: 'Resets the branding color of a tenant account to its dark theme - default. - - - **Example:** - - ``` - - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: delete_service_provider_certificate + description: Delete a service provider certificate. drop_fields: - object - etag - type - filter + - created_at + - updated_at + - name + - description + - status + - saml2_attributes + - is_default field_renames: [] fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account the identity provider belongs to. entity_fieldname: account_id - external_param: true + example: 01619571e2e90242ac12000600000000 in: path - name: account_id parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' required: true type: string - - _key: reference - _override: true - api_fieldname: reference - description: The name of the branding color. - entity_fieldname: reference - enum: &id007 - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: subtenant_dark_theme_color_reference_enum + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' required: true type: string - group_id: Branding - method: delete - mode: delete - operation_id: resetAccountDarkColor + group_id: Accounts + method: post + mode: delete_service_provider_certificate + operation_id: deleteAccountSpCertificate pagination: false - path: /v3/accounts/{account_id}/branding-colors/dark/{reference} + parameter_map: + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/delete-sp-certificate request_body: json request_content_type: application/json responses: - - _key: '204' - description: Deleted successfully. + - _key: '200' + description: Successful operation. + headers: + - _key: Content-Location + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string + schema: + foreign_key: + entity: identity_provider + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum + in: body + parameter_fieldname: status + required: false + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + external_param: true + in: body + name: type + parameter_fieldname: type + required: true + schema_param: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - name + - object + - type + type: object - _key: '401' description: Authentication failure. schema: @@ -40290,7 +46389,7 @@ entities: - type type: object - _key: '404' - description: Color or account not found. + description: Account or identity provider not found. schema: properties: - _key: code @@ -40338,142 +46437,258 @@ entities: - type type: object return_info: - custom: true - self: false - type: void - return_type: void - spec: - return_type: void - summary: Reset branding color to default. + custom: false + self: true + type: subtenant_identity_provider + return_type: subtenant_identity_provider + summary: Delete the service provider certificate. x_deprecation: null x_filter: {} - - _key: read - description: 'Retrieve the requested dark theme branding color. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: generate_service_provider_certificate + description: Generate a new service provider certificate. drop_fields: - object - etag - type - filter - - color + - created_at - updated_at + - name + - description + - status + - saml2_attributes + - is_default field_renames: [] fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account the identity provider belongs to. entity_fieldname: account_id - external_param: true + example: 01619571e2e90242ac12000600000000 in: path - name: account_id parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' required: true type: string - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference - enum: *id007 - enum_reference: subtenant_dark_theme_color_reference_enum + - _key: algorithm + api_fieldname: algorithm + description: The algorithm and its key size used for generating the certificate. + Defaults to RSA2048. + entity_fieldname: algorithm + enum: + - RSA2048 + - RSA3072 + - EC224 + - EC256 + - EC384 + - EC521 + - ECDSA224 + - ECDSA256 + - ECDSA384 + - ECDSA521 + enum_reference: subtenant_identity_provider_algorithm_enum + external_param: true + in: body + name: algorithm + parameter_fieldname: algorithm + required: false + schema_param: true + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' required: true type: string - group_id: Branding - method: get - mode: read - operation_id: getAccountDarkColor + - _key: validity + api_fieldname: validity + description: Validity for the certificate in days. + entity_fieldname: validity + external_param: true + format: int32 + in: body + name: validity + parameter_fieldname: validity + required: false + schema_param: true + type: integer + group_id: Accounts + method: post + mode: generate_service_provider_certificate + operation_id: generateAccountSpCertificate pagination: false - path: /v3/accounts/{account_id}/branding-colors/dark/{reference} + parameter_map: + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/generate-sp-certificate request_body: json request_content_type: application/json responses: - _key: '200' description: Successful operation. + headers: + - _key: Content-Location + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string schema: foreign_key: - entity: subtenant_light_theme_color - group: Branding + entity: identity_provider + group: Accounts properties: - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - entity_fieldname: color - example: '#f3f93e' + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum in: body - parameter_fieldname: color + parameter_fieldname: status required: false type: string - x-nullable: true - - _key: object - api_fieldname: object - description: 'Entity name: always ''branding_color''' - entity_fieldname: object + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type enum: - - branding_color + - NATIVE + - MBED + - SAML2 + - OIDC external_param: true in: body - name: object - parameter_fieldname: object - readOnly: true - required: false - schema_param: true - type: string - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference - enum: - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: light_theme_color_reference_enum - in: path - is_primary_key: true - name: reference + name: type + parameter_fieldname: type required: true + schema_param: true type: string - _key: updated_at api_fieldname: updated_at - description: Last update time in UTC. + description: Last update UTC time RFC3339. entity_fieldname: updated_at example: '2018-02-14T15:24:14Z' format: date-time - in: body - parameter_fieldname: updated_at - readOnly: true - required: false type: string + required: + - etag + - id + - name + - object + - type type: object - - _key: '401' - description: Authentication failure. + - _key: '400' + description: Error in input data, for example, invalid certificate validity + value. schema: properties: - _key: code @@ -40520,8 +46735,8 @@ entities: - request_id - type type: object - - _key: '403' - description: Forbidden. + - _key: '401' + description: Authentication failure. schema: properties: - _key: code @@ -40568,8 +46783,8 @@ entities: - request_id - type type: object - - _key: '404' - description: Color or account not found. + - _key: '403' + description: Forbidden. schema: properties: - _key: code @@ -40583,201 +46798,41 @@ entities: properties: - _key: message description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error - type: string - - _key: object - description: Entity name, always `error`. - enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 - type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - - type - type: object - return_info: - custom: false - self: true - type: subtenant_dark_theme_color - return_type: subtenant_dark_theme_color - summary: Get dark theme branding color. - x_deprecation: null - x_filter: {} - - _key: update - additional_operations: - - notes: Bulk operation is not appriate for SDK's entity model, this functionality - is covered by the update method. - operation_id: bulkSetAccountDarkColors - description: 'Update a dark theme branding color of a tenant account. - - - **Example:** - - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary - \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{ "color": "#f3f93e" }'' - - ```' - drop_fields: - - object - - etag - - type - - filter - field_renames: [] - fields: - - _key: account_id - api_fieldname: account_id - description: Account ID. - entity_fieldname: account_id - external_param: true - in: path - name: account_id - parameter_fieldname: account_id - required: true - type: string - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - entity_fieldname: color - example: '#f3f93e' - in: body - parameter_fieldname: color - required: false - type: string - x-nullable: true - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference - enum: *id007 - enum_reference: subtenant_dark_theme_color_reference_enum - in: path - is_primary_key: true - name: reference - required: true - type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update time in UTC. - entity_fieldname: updated_at - example: '2018-02-14T15:24:14Z' - format: date-time - in: body - parameter_fieldname: updated_at - readOnly: true - required: false - type: string - group_id: Branding - method: put - mode: update - operation_id: setAccountDarkColor - pagination: false - path: /v3/accounts/{account_id}/branding-colors/dark/{reference} - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Color has been set successfully. - schema: - foreign_key: - entity: subtenant_light_theme_color - group: Branding - properties: - - _key: color - api_fieldname: color - description: The color given as name (purple) or as a hex code. - entity_fieldname: color - example: '#f3f93e' - in: body - parameter_fieldname: color - required: false - type: string - x-nullable: true - - _key: object - api_fieldname: object - description: 'Entity name: always ''branding_color''' - entity_fieldname: object - enum: - - branding_color - external_param: true - in: body - name: object - parameter_fieldname: object - readOnly: true - required: false - schema_param: true - type: string - - _key: reference - _override: true - api_fieldname: reference - description: Color name. - entity_fieldname: reference - enum: - - error_color - - primary - - secondary - - success_color - - warning_color - - canvas_background - - canvas_background_font_color - - workspace_background - - workspace_background_font_color - - info_color - - info_font_color - - primary_font_color - - secondary_font_color - - error_font_color - - success_font_color - - warning_font_color - enum_reference: light_theme_color_reference_enum - in: path - is_primary_key: true - name: reference - required: true + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update time in UTC. - entity_fieldname: updated_at - example: '2018-02-14T15:24:14Z' - format: date-time - in: body - parameter_fieldname: updated_at - readOnly: true - required: false + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error type: string + required: + - code + - message + - object + - request_id + - type type: object - - _key: '400' - description: Error in input data format. + - _key: '404' + description: Account or identity provider not found. schema: properties: - _key: code @@ -40805,24 +46860,309 @@ entities: example: Validation error type: string - _key: object - description: Entity name, always `error`. + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: subtenant_identity_provider + return_type: subtenant_identity_provider + summary: Generate a new service provider certificate. + x_deprecation: null + x_filter: {} + - _key: list + description: Retrieve identity providers in an array. + drop_fields: + - object + - etag + - type + - filter + - total_count + - has_more + - data + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: false + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: include + api_fieldname: include + description: 'Comma-separated additional data to return. Currently supported: + total_count.' + entity_fieldname: include + external_param: true + in: query + name: include + parameter_fieldname: include + required: false + type: string + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, DESC. + Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: subtenant_identity_provider_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + foreign_key: + entity: subtenant_identity_provider + group: Accounts + foreign_key_priority: self + group_id: Accounts + method: get + mode: list + operation_id: getAllAccountIdentityProviders + pagination: true + parameter_map: + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: subtenant_identity_provider + group: Accounts + pagination: true + properties: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + foreign_key: + entity: identity_provider + group: Accounts + properties: + - _key: account_id + description: The ID of the account the identity provider belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description for the identity provider. + maxLength: 500 + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: is_default + description: Flag indicating whether this is the global default identity + provider. + readOnly: true + type: boolean + - _key: name + description: Name of the identity provider. + maxLength: 100 + type: string + - _key: object + description: 'Entity name: always ''identity-provider''' + enum: + - identity-provider + type: string + - _key: saml2_attributes + description: Represents SAML2 specific attributes in responses. + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave + this empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM + format. This is a read-only attribute, see API documentation about + how to generate a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + type: object + - _key: status + description: Status of the identity provider. + enum: + - ACTIVE + - SUSPENDED + type: string + - _key: type + description: Identity provider type. + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - name + - object + - type + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 + - list type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: identity_provider_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer required: - - code - - message + - data + - has_more + - limit - object - - request_id - - type + - total_count type: object - _key: '401' description: Authentication failure. @@ -40921,7 +47261,7 @@ entities: - type type: object - _key: '404' - description: Color or account not found. + description: Account not found. schema: properties: - _key: code @@ -40971,177 +47311,213 @@ entities: return_info: custom: false self: true - type: subtenant_dark_theme_color - return_type: subtenant_dark_theme_color - summary: Updates a dark theme branding color. + type: subtenant_identity_provider + return_type: paginated_response(subtenant_identity_provider) + summary: Get all identity providers. x_deprecation: null x_filter: {} - primary_key_field: reference - swagger_models: - - BrandingColor - tags: - - Tenant user interface configuration - colors -- _key: subtenant_dark_theme_image - field_renames: [] - fields: - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - enum: - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: subtenant_dark_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - readOnly: false - required: false - type: string - - _key: static_uri - api_fieldname: static_uri - description: The static link to the image. - example: https://static.mbed.com/123456789.jpg - format: uri - readOnly: true - required: false - type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update time in UTC. - example: '2018-02-14T15:24:14Z' - format: date-time - readOnly: true - required: false - type: string - group_id: Branding - methods: - - _key: delete - description: 'Revert an account branding image to dark theme default. - - - **Example:** - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear - \ - - -H ''Authorization: Bearer '' - - ```' + - _key: read + description: Manage identity providers of a tenant account. drop_fields: - object - etag - type - filter + - created_at + - updated_at + - name + - description + - status + - saml2_attributes + - is_default field_renames: [] fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account the identity provider belongs to. entity_fieldname: account_id - external_param: true + example: 01619571e2e90242ac12000600000000 in: path - name: account_id parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' required: true type: string - - _key: reference - _override: true - api_fieldname: reference - description: Name of the branding images (icon or picture). - entity_fieldname: reference - enum: &id008 - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: subtenant_dark_theme_image_reference_enum + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' required: true type: string - group_id: Branding - method: post - mode: delete - operation_id: clearAccountDarkImage + group_id: Accounts + method: get + mode: read + operation_id: getAccountIdentityProvider pagination: false - path: /v3/accounts/{account_id}/branding-images/dark/{reference}/clear + parameter_map: + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} request_body: json request_content_type: application/json responses: - - _key: '204' - description: Image reverted successfully. + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: identity_provider + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum + in: body + parameter_fieldname: status + required: false + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + external_param: true + in: body + name: type + parameter_fieldname: type + required: true + schema_param: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - etag + - id + - name + - object + - type + type: object - _key: '401' description: Authentication failure. schema: @@ -41227,19 +47603,281 @@ entities: description: ID of the request. example: 0161991d63150242ac12000600000000 type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: Account or identity provider not found. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: subtenant_identity_provider + return_type: subtenant_identity_provider + summary: Retrieve identity provider by ID. + x_deprecation: null + x_filter: {} + - _key: refresh_tokens + description: Refreshes an OIDC IdP's signing keys. + drop_fields: + - object + - etag + - type + - filter + - created_at + - updated_at + - name + - description + - status + - saml2_attributes + - is_default + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + in: path + parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + group_id: Accounts + method: post + mode: refresh_tokens + operation_id: refreshAccountJwks + pagination: false + parameter_map: + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/refresh-jwks + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + headers: + - _key: Content-Location + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string + schema: + foreign_key: + entity: identity_provider + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always ''identity-provider''' + entity_fieldname: object + enum: + - identity-provider + type: string + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: + - ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum + in: body + parameter_fieldname: status + required: false + type: string + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + external_param: true + in: body + name: type + parameter_fieldname: type + required: true + schema_param: true + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time type: string required: - - code - - message + - etag + - id + - name - object - - request_id - type type: object - - _key: '404' - description: Unknown image reference, or account not found. + - _key: '400' + description: Not an OIDC IdP or JWKS URI is unspecified. schema: properties: - _key: code @@ -41286,149 +47924,6 @@ entities: - request_id - type type: object - return_info: - custom: false - self: true - type: subtenant_dark_theme_image - return_type: subtenant_dark_theme_image - summary: Revert an image to dark theme default. - x_deprecation: null - x_filter: {} - - _key: read - description: 'Retrieve metadata of one account dark theme branding image. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} - \ - - -H ''Authorization: Bearer '' - - ```' - drop_fields: - - object - - etag - - type - - filter - - static_uri - - updated_at - field_renames: [] - fields: - - _key: account_id - api_fieldname: account_id - description: Account ID. - entity_fieldname: account_id - external_param: true - in: path - name: account_id - parameter_fieldname: account_id - required: true - type: string - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference - enum: *id008 - enum_reference: subtenant_dark_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - required: true - type: string - group_id: Branding - method: get - mode: read - operation_id: getAccountDarkImageData - pagination: false - path: /v3/accounts/{account_id}/branding-images/dark/{reference} - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Successful operation. - schema: - foreign_key: - entity: subtenant_light_theme_image - group: Branding - properties: - - _key: object - api_fieldname: object - description: 'Entity name: always ''branding_image''' - entity_fieldname: object - enum: - - branding_image - readOnly: true - type: string - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference - enum: - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: light_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - required: true - type: string - - _key: static_uri - api_fieldname: static_uri - description: The static link to the image. - entity_fieldname: static_uri - example: https://static.mbed.com/123456789.jpg - format: uri - readOnly: true - type: string - - _key: updated_at - api_fieldname: updated_at - description: Last update time in UTC. - entity_fieldname: updated_at - example: '2018-02-14T15:24:14Z' - format: date-time - readOnly: true - type: string - type: object - _key: '401' description: Authentication failure. schema: @@ -41526,7 +48021,7 @@ entities: - type type: object - _key: '404' - description: Unknown image reference, or account not found. + description: Account or identity provider not found. schema: properties: - _key: code @@ -41576,158 +48071,433 @@ entities: return_info: custom: false self: true - type: subtenant_dark_theme_image - return_type: subtenant_dark_theme_image - summary: Get metadata of a dark theme image. + type: subtenant_identity_provider + return_type: subtenant_identity_provider + summary: Refreshes the OIDC signing keys. x_deprecation: null x_filter: {} - _key: update - additional_operations: - - notes: The multipart endpoint is used by the SDKs as it offers the same functionality - as the standard upload endpoint. - operation_id: uploadAccountDarkImage - description: Upload a new account dark theme branding image as form data in PNG - or JPEG format. + description: Update an existing identity provider. drop_fields: - object - etag - type - filter - - static_uri + - created_at - updated_at + - is_default field_renames: [] fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account the identity provider belongs to. entity_fieldname: account_id - external_param: true + example: 01619571e2e90242ac12000600000000 in: path - name: account_id parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' required: true type: string - - _key: image - api_fieldname: image - description: The image in PNG or JPEG format as multipart form data. - entity_fieldname: image + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: discovery + allowEmptyValue: true + api_fieldname: discovery + description: 'Indicates that the OpenID Connect endpoints and keys should be + set using the OpenID Connect Discovery mechanism. The following parameters + are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint + * revocation_endpoint * jwks_uri * keys' + entity_fieldname: discovery external_param: true - in: stream - name: image - parameter_fieldname: image - required: true - type: file - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference - enum: *id008 - enum_reference: subtenant_dark_theme_image_reference_enum + in: query + name: discovery + parameter_fieldname: discovery + required: false + type: boolean + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 in: path - is_primary_key: true - name: reference + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name required: true type: string - group_id: Branding - method: post + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + external_param: true + in: body + name: oidc_attributes + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java + SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign ID + tokens. PEM-encoded. + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity provider's + API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication request. + When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the POST + mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in the + JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + schema_param: true + type: object + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider in + PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status + enum: *id010 + enum_reference: subtenant_identity_provider_status_enum + in: body + parameter_fieldname: status + required: false + type: string + group_id: Accounts + method: put mode: update - operation_id: uploadAccountDarkImageMultipart + operation_id: updateAccountIdentityProvider pagination: false - path: /v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart - request_body: file - request_content_type: multipart/form-data + parameter_map: + identity_provider_id: id + path: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + request_body: json + request_content_type: application/json responses: - - _key: '201' - description: Image uploaded successfully. - headers: - - _key: Content-Location - description: Location of the image metadata. - type: string - - _key: Location - description: Location of the image binary. - type: string + - _key: '200' + description: Successful operation. schema: foreign_key: - entity: subtenant_light_theme_image - group: Branding + entity: identity_provider + group: Accounts properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account the identity provider belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + api_fieldname: description + description: Description for the identity provider. + entity_fieldname: description + in: body + maxLength: 500 + parameter_fieldname: description + required: false + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: Entity ID. + entity_fieldname: id + example: 01619571d01d0242ac12000600000000 + in: path + parameter_fieldname: identity_provider_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: is_default + api_fieldname: is_default + description: Flag indicating whether this is the global default identity + provider. + entity_fieldname: is_default + readOnly: true + type: boolean + - _key: name + api_fieldname: name + description: Name of the identity provider. + entity_fieldname: name + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string - _key: object api_fieldname: object - description: 'Entity name: always ''branding_image''' + description: 'Entity name: always ''identity-provider''' entity_fieldname: object enum: - - branding_image - readOnly: true + - identity-provider type: string - - _key: reference - _override: true - api_fieldname: reference - description: Name of the image. - entity_fieldname: reference + - _key: saml2_attributes + api_fieldname: saml2_attributes + description: Represents SAML2 specific attributes in responses. + entity_fieldname: saml2_attributes + in: body + parameter_fieldname: saml2_attributes + properties: + - _key: assertion_endpoint + description: URL of the service provider's assertion endpoint. Leave this + empty to use the default assertion endpoint. + type: string + x-nullable: true + - _key: idp_entity_id + description: Entity ID of the identity provider. + type: string + x-nullable: true + - _key: idp_x509_certs + description: List of public X509 certificates of the identity provider + in PEM format. + items: + type: string + type: array + x-nullable: true + - _key: slo_endpoint + description: URL of the identity provider's SLO endpoint. + type: string + x-nullable: true + - _key: sp_entity_id + description: Entity ID of the service provider. + type: string + x-nullable: true + - _key: sp_x509_cert + description: Public X509 certificate of the service provider in PEM format. + This is a read-only attribute, see API documentation about how to generate + a new one or how to delete it. + readOnly: true + type: string + x-nullable: true + - _key: sso_endpoint + description: URL of the identity provider's SSO endpoint. + type: string + x-nullable: true + required: false + type: object + - _key: status + api_fieldname: status + description: Status of the identity provider. + entity_fieldname: status enum: - - brand_logo_portrait - - brand_logo_square - - brand_logo_landscape - - brand_logo_email - - desktop_background_landscape - - desktop_background_square - - desktop_background_portrait - - carousel_image_portrait_0 - - carousel_image_portrait_1 - - carousel_image_portrait_2 - - carousel_image_portrait_3 - - carousel_image_portrait_4 - - carousel_image_portrait_5 - - carousel_image_portrait_6 - - carousel_image_portrait_7 - - carousel_image_portrait_8 - - carousel_image_portrait_9 - - carousel_image_square_0 - - carousel_image_square_1 - - carousel_image_square_2 - - carousel_image_square_3 - - carousel_image_square_4 - - carousel_image_square_5 - - carousel_image_square_6 - - carousel_image_square_7 - - carousel_image_square_8 - - carousel_image_square_9 - - carousel_image_landscape_0 - - carousel_image_landscape_1 - - carousel_image_landscape_2 - - carousel_image_landscape_3 - - carousel_image_landscape_4 - - carousel_image_landscape_5 - - carousel_image_landscape_6 - - carousel_image_landscape_7 - - carousel_image_landscape_8 - - carousel_image_landscape_9 - enum_reference: light_theme_image_reference_enum - in: path - is_primary_key: true - name: reference - required: true + - ACTIVE + - SUSPENDED + enum_reference: identity_provider_status_enum + in: body + parameter_fieldname: status + required: false type: string - - _key: static_uri - api_fieldname: static_uri - description: The static link to the image. - entity_fieldname: static_uri - example: https://static.mbed.com/123456789.jpg - format: uri - readOnly: true + - _key: type + api_fieldname: type + description: Identity provider type. + entity_fieldname: type + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + external_param: true + in: body + name: type + parameter_fieldname: type + required: true + schema_param: true type: string - _key: updated_at api_fieldname: updated_at - description: Last update time in UTC. + description: Last update UTC time RFC3339. entity_fieldname: updated_at example: '2018-02-14T15:24:14Z' format: date-time - readOnly: true type: string + required: + - etag + - id + - name + - object + - type type: object - _key: '400' - description: Error in input data format, for example, image is too large. + description: Error in input data, for example, missing name. schema: properties: - _key: code @@ -41871,7 +48641,7 @@ entities: - type type: object - _key: '404' - description: Unknown image reference. + description: Account or identity provider not found. schema: properties: - _key: code @@ -41921,16 +48691,20 @@ entities: return_info: custom: false self: true - type: subtenant_dark_theme_image - return_type: subtenant_dark_theme_image - summary: Upload a dark theme image. + type: subtenant_identity_provider + return_type: subtenant_identity_provider + summary: Update an existing identity provider. x_deprecation: null x_filter: {} - primary_key_field: reference + primary_key_field: id swagger_models: - - BrandingImage + - CertificateGenerationReq + - IdentityProviderCreationReq + - IdentityProviderInfo + - IdentityProviderList + - IdentityProviderUpdateReq tags: - - Tenant user interface configuration - images + - Tenant accounts - identity providers - _key: subtenant_light_theme_color field_renames: [] fields: @@ -42021,7 +48795,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id009 + enum: &id011 - error_color - primary - secondary @@ -42246,7 +49020,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id009 + enum: *id011 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -42539,7 +49313,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id009 + enum: *id011 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -42946,7 +49720,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id010 + enum: &id012 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -43191,7 +49965,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id010 + enum: *id012 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -43479,7 +50253,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id010 + enum: *id012 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -45867,7 +52641,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id011 + enum: &id013 - lwm2m - bootstrap enum_reference: subtenant_trusted_certificate_service_enum @@ -45879,7 +52653,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id012 + enum: &id014 - ACTIVE - INACTIVE enum_reference: subtenant_trusted_certificate_status_enum @@ -47480,7 +54254,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id011 + enum: *id013 enum_reference: subtenant_trusted_certificate_service_enum in: body parameter_fieldname: service @@ -47490,7 +54264,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id012 + enum: *id014 enum_reference: subtenant_trusted_certificate_status_enum example: ACTIVE in: body @@ -48409,14 +55183,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: &id013 + enum: &id015 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id014 + required: &id016 - id type: object parameter_fieldname: login_profiles @@ -50500,10 +57274,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: *id013 + enum: *id015 readOnly: true type: string - required: *id014 + required: *id016 type: object parameter_fieldname: login_profiles required: false @@ -52723,7 +59497,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id015 + enum: &id017 - lwm2m - bootstrap enum_reference: trusted_certificate_service_enum @@ -52735,7 +59509,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id016 + enum: &id018 - ACTIVE - INACTIVE enum_reference: trusted_certificate_status_enum @@ -54685,7 +61459,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id015 + enum: *id017 enum_reference: trusted_certificate_service_enum in: body parameter_fieldname: service @@ -54695,7 +61469,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id016 + enum: *id018 enum_reference: trusted_certificate_status_enum example: ACTIVE in: body @@ -57332,14 +64106,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: &id017 + enum: &id019 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id018 + required: &id020 - id type: object parameter_fieldname: login_profiles @@ -59793,10 +66567,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: *id017 + enum: *id019 readOnly: true type: string - required: *id018 + required: *id020 type: object parameter_fieldname: login_profiles required: false @@ -62112,6 +68886,38 @@ enums: values: - ASC - DESC +- _key: identity_provider_algorithm_enum + entity_name: identity_provider + enum_name: identity_provider_algorithm_enum + field_name: algorithm + group_id: Accounts + values: + - EC224 + - EC256 + - EC384 + - EC521 + - ECDSA224 + - ECDSA256 + - ECDSA384 + - ECDSA521 + - RSA2048 + - RSA3072 +- _key: identity_provider_order_enum + entity_name: identity_provider + enum_name: identity_provider_order_enum + field_name: order + group_id: Accounts + values: + - ASC + - DESC +- _key: identity_provider_status_enum + entity_name: identity_provider + enum_name: identity_provider_status_enum + field_name: status + group_id: Accounts + values: + - ACTIVE + - SUSPENDED - _key: light_theme_color_reference_enum entity_name: light_theme_color enum_name: light_theme_color_reference_enum @@ -62275,6 +69081,38 @@ enums: - desktop_background_landscape - desktop_background_portrait - desktop_background_square +- _key: subtenant_identity_provider_algorithm_enum + entity_name: subtenant_identity_provider + enum_name: subtenant_identity_provider_algorithm_enum + field_name: algorithm + group_id: Accounts + values: + - EC224 + - EC256 + - EC384 + - EC521 + - ECDSA224 + - ECDSA256 + - ECDSA384 + - ECDSA521 + - RSA2048 + - RSA3072 +- _key: subtenant_identity_provider_order_enum + entity_name: subtenant_identity_provider + enum_name: subtenant_identity_provider_order_enum + field_name: order + group_id: Accounts + values: + - ASC + - DESC +- _key: subtenant_identity_provider_status_enum + entity_name: subtenant_identity_provider + enum_name: subtenant_identity_provider_status_enum + field_name: status + group_id: Accounts + values: + - ACTIVE + - SUSPENDED - _key: subtenant_light_theme_color_reference_enum entity_name: subtenant_light_theme_color enum_name: subtenant_light_theme_color_reference_enum @@ -62460,6 +69298,8 @@ groups: - account - policy_group - subtenant_policy_group + - identity_provider + - subtenant_identity_provider enums: - policy_inherited_type_enum - user_status_enum @@ -62476,6 +69316,12 @@ groups: - account_order_enum - policy_group_order_enum - subtenant_policy_group_order_enum + - identity_provider_status_enum + - identity_provider_order_enum + - identity_provider_algorithm_enum + - subtenant_identity_provider_status_enum + - subtenant_identity_provider_order_enum + - subtenant_identity_provider_algorithm_enum - _key: Branding entities: - dark_theme_color From c12dfc569e4dfdee391edc981bf68d72406a34e1 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 2 Sep 2019 13:06:15 +0000 Subject: [PATCH 003/111] new SDK config changes via api-contract @ 2019-09-02 13:06 --- .../public/sdk_foundation_definition.json | 510 +++++++++++++++++- .../public/sdk_foundation_definition.yaml | 384 +++++++++++++ 2 files changed, 888 insertions(+), 6 deletions(-) diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 6f8c50d2c..ab1c379b0 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -18,7 +18,11 @@ "policy_group", "subtenant_policy_group", "identity_provider", - "subtenant_identity_provider" + "subtenant_identity_provider", + "SAML2Request", + "OIDCRequest", + "OIDCRequestClaimMapping", + "IdpPublicKey" ], "enums": [ "policy_inherited_type_enum", @@ -41,7 +45,8 @@ "identity_provider_algorithm_enum", "subtenant_identity_provider_status_enum", "subtenant_identity_provider_order_enum", - "subtenant_identity_provider_algorithm_enum" + "subtenant_identity_provider_algorithm_enum", + "OIDCRequest_token_request_mode_enum" ], "_key": "Accounts" }, @@ -587,6 +592,17 @@ "group_id": "Branding", "_key": "light_theme_image_reference_enum" }, + { + "entity_name": "OIDCRequest", + "field_name": "token_request_mode", + "enum_name": "OIDCRequest_token_request_mode_enum", + "values": [ + "GET", + "POST" + ], + "group_id": "Accounts", + "_key": "OIDCRequest_token_request_mode_enum" + }, { "entity_name": "policy_group", "field_name": "order", @@ -43483,6 +43499,10 @@ "_key": "updated_at_pattern" } ], + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequestClaimMapping" + }, "x-nullable": true, "_key": "claim_mapping" }, @@ -43532,7 +43552,11 @@ "_key": "kid" } ], - "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "IdpPublicKey" + } }, "x-nullable": true, "_key": "keys" @@ -43585,6 +43609,10 @@ } ], "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequest" + }, "name": "oidc_attributes", "in": "body", "schema_param": true, @@ -47001,6 +47029,10 @@ "_key": "updated_at_pattern" } ], + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequestClaimMapping" + }, "x-nullable": true, "_key": "claim_mapping" }, @@ -47050,7 +47082,11 @@ "_key": "kid" } ], - "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "IdpPublicKey" + } }, "x-nullable": true, "_key": "keys" @@ -47103,6 +47139,10 @@ } ], "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequest" + }, "name": "oidc_attributes", "in": "body", "schema_param": true, @@ -47834,6 +47874,35 @@ "group_id": "Accounts", "_key": "identity_provider" }, + { + "swagger_models": [ + "IdpPublicKey" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "string", + "description": "The public key.", + "api_fieldname": "key", + "readOnly": true, + "required": false, + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "api_fieldname": "kid", + "readOnly": true, + "required": false, + "_key": "kid" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "IdpPublicKey" + }, { "swagger_models": [ "BrandingColor", @@ -51119,6 +51188,345 @@ "group_id": "Accounts", "_key": "login_profile" }, + { + "swagger_models": [ + "OIDCInfo" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "api_fieldname": "authorization_endpoint", + "readOnly": true, + "required": false, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "api_fieldname": "auto_enrollment", + "readOnly": true, + "required": false, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequestClaimMapping" + }, + "x-nullable": true, + "api_fieldname": "claim_mapping", + "readOnly": true, + "required": false, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "api_fieldname": "client_id", + "readOnly": true, + "required": false, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "api_fieldname": "client_secret", + "readOnly": true, + "required": false, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "api_fieldname": "end_session_endpoint", + "readOnly": true, + "required": false, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "api_fieldname": "issuer", + "readOnly": true, + "required": false, + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "api_fieldname": "jwks_uri", + "readOnly": true, + "required": false, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "IdpPublicKey" + } + }, + "x-nullable": true, + "api_fieldname": "keys", + "readOnly": true, + "required": false, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "api_fieldname": "redirect_uri", + "readOnly": true, + "required": false, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "api_fieldname": "revocation_endpoint", + "readOnly": true, + "required": false, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "api_fieldname": "scopes", + "readOnly": true, + "required": false, + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "api_fieldname": "token_endpoint", + "readOnly": true, + "required": false, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "api_fieldname": "token_request_mode", + "readOnly": true, + "required": false, + "enum_reference": "OIDCRequest_token_request_mode_enum", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "api_fieldname": "token_response_path", + "readOnly": true, + "required": false, + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "api_fieldname": "userinfo_endpoint", + "readOnly": true, + "required": false, + "_key": "userinfo_endpoint" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "OIDCRequest" + }, + { + "swagger_models": [ + "OIDCClaimMapping" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "api_fieldname": "email", + "readOnly": true, + "required": false, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "api_fieldname": "email_verified", + "readOnly": true, + "required": false, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "api_fieldname": "family_name", + "readOnly": true, + "required": false, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "api_fieldname": "given_name", + "readOnly": true, + "required": false, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "api_fieldname": "name", + "readOnly": true, + "required": false, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "api_fieldname": "phone_number", + "readOnly": true, + "required": false, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "api_fieldname": "sub", + "readOnly": true, + "required": false, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "api_fieldname": "updated_at", + "readOnly": true, + "required": false, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "api_fieldname": "updated_at_pattern", + "readOnly": true, + "required": false, + "_key": "updated_at_pattern" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "OIDCRequestClaimMapping" + }, { "swagger_models": [ "ParentAccountInfo" @@ -54069,6 +54477,72 @@ "group_id": "Security", "_key": "pre_shared_key" }, + { + "swagger_models": [ + "SAML2Req" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "string", + "format": "byte", + "maxLength": 65535, + "description": "Contains an entity descriptor document for the identity provider. Can be used as an alternative method to provide the identity provider's attributes.", + "api_fieldname": "entity_descriptor", + "readOnly": true, + "required": false, + "_key": "entity_descriptor" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "api_fieldname": "idp_entity_id", + "readOnly": true, + "required": false, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider. Certificates must be in PEM format.", + "items": { + "type": "string" + }, + "api_fieldname": "idp_x509_certs", + "readOnly": true, + "required": false, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "api_fieldname": "slo_endpoint", + "readOnly": true, + "required": false, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider. We recommend that you leave it empty and let the system generate it.", + "api_fieldname": "sp_entity_id", + "readOnly": true, + "required": false, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "api_fieldname": "sso_endpoint", + "readOnly": true, + "required": false, + "_key": "sso_endpoint" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "SAML2Request" + }, { "swagger_models": [ "ServerCredentialsResponseData" @@ -59875,6 +60349,10 @@ "_key": "updated_at_pattern" } ], + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequestClaimMapping" + }, "x-nullable": true, "_key": "claim_mapping" }, @@ -59924,7 +60402,11 @@ "_key": "kid" } ], - "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "IdpPublicKey" + } }, "x-nullable": true, "_key": "keys" @@ -59977,6 +60459,10 @@ } ], "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequest" + }, "name": "oidc_attributes", "in": "body", "schema_param": true, @@ -63746,6 +64232,10 @@ "_key": "updated_at_pattern" } ], + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequestClaimMapping" + }, "x-nullable": true, "_key": "claim_mapping" }, @@ -63795,7 +64285,11 @@ "_key": "kid" } ], - "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded." + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "IdpPublicKey" + } }, "x-nullable": true, "_key": "keys" @@ -63848,6 +64342,10 @@ } ], "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "OIDCRequest" + }, "name": "oidc_attributes", "in": "body", "schema_param": true, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 243b941f3..cdae83566 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33193,6 +33193,9 @@ entities: description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes external_param: true + foreign_key: + entity: OIDCRequest + group: Accounts in: body name: oidc_attributes parameter_fieldname: oidc_attributes @@ -33207,6 +33210,9 @@ entities: x-nullable: true - _key: claim_mapping description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: OIDCRequestClaimMapping + group: Accounts properties: - _key: email description: Custom claim name for 'email'. @@ -33275,6 +33281,9 @@ entities: items: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. + foreign_key: + entity: IdpPublicKey + group: Accounts properties: - _key: key description: The public key. @@ -35717,6 +35726,9 @@ entities: description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes external_param: true + foreign_key: + entity: OIDCRequest + group: Accounts in: body name: oidc_attributes parameter_fieldname: oidc_attributes @@ -35731,6 +35743,9 @@ entities: x-nullable: true - _key: claim_mapping description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: OIDCRequestClaimMapping + group: Accounts properties: - _key: email description: Custom claim name for 'email'. @@ -35799,6 +35814,9 @@ entities: items: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. + foreign_key: + entity: IdpPublicKey + group: Accounts properties: - _key: key description: The public key. @@ -36255,6 +36273,27 @@ entities: - IdentityProviderUpdateReq tags: - Account - identity providers +- _key: IdpPublicKey + field_renames: [] + fields: + - _key: key + api_fieldname: key + description: The public key. + readOnly: true + required: false + type: string + - _key: kid + api_fieldname: kid + description: The public key ID. + readOnly: true + required: false + type: string + group_id: Accounts + methods: [] + primary_key_field: null + swagger_models: + - IdpPublicKey + tags: [] - _key: light_theme_color field_renames: [] fields: @@ -38655,6 +38694,268 @@ entities: swagger_models: - LoginProfile tags: [] +- _key: OIDCRequest + field_renames: [] + fields: + - _key: authorization_endpoint + api_fieldname: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + readOnly: true + required: false + type: string + x-nullable: true + - _key: auto_enrollment + api_fieldname: auto_enrollment + description: For future use. + readOnly: true + required: false + type: boolean + x-nullable: true + - _key: claim_mapping + api_fieldname: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: OIDCRequestClaimMapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat + class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + readOnly: true + required: false + type: object + x-nullable: true + - _key: client_id + api_fieldname: client_id + description: Client ID needed to authenticate and gain access to identity provider's + API. + readOnly: true + required: false + type: string + x-nullable: true + - _key: client_secret + api_fieldname: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + readOnly: true + required: false + type: string + x-nullable: true + - _key: end_session_endpoint + api_fieldname: end_session_endpoint + description: URL of the provider's end session endpoint. + readOnly: true + required: false + type: string + x-nullable: true + - _key: issuer + api_fieldname: issuer + description: Issuer of the identity provider. + readOnly: true + required: false + type: string + - _key: jwks_uri + api_fieldname: jwks_uri + description: URL of the provider's JSON web key set document. + readOnly: true + required: false + type: string + x-nullable: true + - _key: keys + api_fieldname: keys + description: Provider's public keys and key IDs used to sign ID tokens. PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign ID tokens. + PEM-encoded. + foreign_key: + entity: IdpPublicKey + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + readOnly: true + required: false + type: array + x-nullable: true + - _key: redirect_uri + api_fieldname: redirect_uri + description: The URI needed to authenticate and gain access to identity provider's + API. Leave this empty to use the default redirect URI. + readOnly: true + required: false + type: string + x-nullable: true + - _key: revocation_endpoint + api_fieldname: revocation_endpoint + description: URL of the provider's token revocation endpoint. + readOnly: true + required: false + type: string + x-nullable: true + - _key: scopes + api_fieldname: scopes + description: Space-separated list of scopes sent in the authentication request. + When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + readOnly: true + required: false + type: string + - _key: token_endpoint + api_fieldname: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + readOnly: true + required: false + type: string + x-nullable: true + - _key: token_request_mode + api_fieldname: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results in + the transmission of clear-text credentials, the client must use the POST mode. + enum: + - POST + - GET + enum_reference: OIDCRequest_token_request_mode_enum + readOnly: true + required: false + type: string + - _key: token_response_path + api_fieldname: token_response_path + description: Path to the standard data in the token response. Levels in the JSON + structure must be separated by '.' (dot) characters. + example: oidc.data + readOnly: true + required: false + type: string + - _key: userinfo_endpoint + api_fieldname: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + readOnly: true + required: false + type: string + x-nullable: true + group_id: Accounts + methods: [] + primary_key_field: null + swagger_models: + - OIDCInfo + tags: [] +- _key: OIDCRequestClaimMapping + field_renames: [] + fields: + - _key: email + api_fieldname: email + description: Custom claim name for 'email'. + example: email_address + readOnly: true + required: false + type: string + x-nullable: true + - _key: email_verified + api_fieldname: email_verified + description: Custom claim name for 'email_verified'. + readOnly: true + required: false + type: string + x-nullable: true + - _key: family_name + api_fieldname: family_name + description: Custom claim name for 'family_name'. + readOnly: true + required: false + type: string + x-nullable: true + - _key: given_name + api_fieldname: given_name + description: Custom claim name for 'given_name'. + readOnly: true + required: false + type: string + x-nullable: true + - _key: name + api_fieldname: name + description: Custom claim name for 'name'. + readOnly: true + required: false + type: string + x-nullable: true + - _key: phone_number + api_fieldname: phone_number + description: Custom claim name for 'phone_number'. + readOnly: true + required: false + type: string + x-nullable: true + - _key: sub + api_fieldname: sub + description: Custom claim name for 'sub'. + readOnly: true + required: false + type: string + x-nullable: true + - _key: updated_at + api_fieldname: updated_at + description: Custom claim name for 'updated_at'. + readOnly: true + required: false + type: string + x-nullable: true + - _key: updated_at_pattern + api_fieldname: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat + class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + readOnly: true + required: false + type: string + x-nullable: true + group_id: Accounts + methods: [] + primary_key_field: null + swagger_models: + - OIDCClaimMapping + tags: [] - _key: parent_account field_renames: [] fields: @@ -40973,6 +41274,58 @@ entities: - PreSharedKeyWithoutSecret tags: - PreSharedKeys +- _key: SAML2Request + field_renames: [] + fields: + - _key: entity_descriptor + api_fieldname: entity_descriptor + description: Contains an entity descriptor document for the identity provider. + Can be used as an alternative method to provide the identity provider's attributes. + format: byte + maxLength: 65535 + readOnly: true + required: false + type: string + - _key: idp_entity_id + api_fieldname: idp_entity_id + description: Entity ID of the identity provider. + readOnly: true + required: false + type: string + - _key: idp_x509_certs + api_fieldname: idp_x509_certs + description: List of public X509 certificates of the identity provider. Certificates + must be in PEM format. + items: + type: string + readOnly: true + required: false + type: array + - _key: slo_endpoint + api_fieldname: slo_endpoint + description: URL of the identity provider's SLO endpoint. + readOnly: true + required: false + type: string + - _key: sp_entity_id + api_fieldname: sp_entity_id + description: Entity ID of the service provider. We recommend that you leave it + empty and let the system generate it. + readOnly: true + required: false + type: string + - _key: sso_endpoint + api_fieldname: sso_endpoint + description: URL of the identity provider's SSO endpoint. + readOnly: true + required: false + type: string + group_id: Accounts + methods: [] + primary_key_field: null + swagger_models: + - SAML2Req + tags: [] - _key: server_credentials field_renames: [] fields: @@ -45332,6 +45685,9 @@ entities: description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes external_param: true + foreign_key: + entity: OIDCRequest + group: Accounts in: body name: oidc_attributes parameter_fieldname: oidc_attributes @@ -45346,6 +45702,9 @@ entities: x-nullable: true - _key: claim_mapping description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: OIDCRequestClaimMapping + group: Accounts properties: - _key: email description: Custom claim name for 'email'. @@ -45414,6 +45773,9 @@ entities: items: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. + foreign_key: + entity: IdpPublicKey + group: Accounts properties: - _key: key description: The public key. @@ -48145,6 +48507,9 @@ entities: description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes external_param: true + foreign_key: + entity: OIDCRequest + group: Accounts in: body name: oidc_attributes parameter_fieldname: oidc_attributes @@ -48159,6 +48524,9 @@ entities: x-nullable: true - _key: claim_mapping description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: OIDCRequestClaimMapping + group: Accounts properties: - _key: email description: Custom claim name for 'email'. @@ -48227,6 +48595,9 @@ entities: items: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. + foreign_key: + entity: IdpPublicKey + group: Accounts properties: - _key: key description: The public key. @@ -68983,6 +69354,14 @@ enums: - desktop_background_landscape - desktop_background_portrait - desktop_background_square +- _key: OIDCRequest_token_request_mode_enum + entity_name: OIDCRequest + enum_name: OIDCRequest_token_request_mode_enum + field_name: token_request_mode + group_id: Accounts + values: + - GET + - POST - _key: policy_group_order_enum entity_name: policy_group enum_name: policy_group_order_enum @@ -69300,6 +69679,10 @@ groups: - subtenant_policy_group - identity_provider - subtenant_identity_provider + - SAML2Request + - OIDCRequest + - OIDCRequestClaimMapping + - IdpPublicKey enums: - policy_inherited_type_enum - user_status_enum @@ -69322,6 +69705,7 @@ groups: - subtenant_identity_provider_status_enum - subtenant_identity_provider_order_enum - subtenant_identity_provider_algorithm_enum + - OIDCRequest_token_request_mode_enum - _key: Branding entities: - dark_theme_color From 36ed3cd119a32de97c816be13cd26a22106a2dc1 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 2 Sep 2019 13:22:27 +0000 Subject: [PATCH 004/111] new SDK config changes via api-contract @ 2019-09-02 13:22 --- .../public/sdk_foundation_definition.json | 54 +++++++++---------- .../public/sdk_foundation_definition.yaml | 54 +++++++++---------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index ab1c379b0..a3fc1f63b 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -19,10 +19,10 @@ "subtenant_policy_group", "identity_provider", "subtenant_identity_provider", - "SAML2Request", - "OIDCRequest", - "OIDCRequestClaimMapping", - "IdpPublicKey" + "SAML2_request", + "OIDC_request", + "OIDC_request_claim_mapping", + "identity_provider_public_key" ], "enums": [ "policy_inherited_type_enum", @@ -46,7 +46,7 @@ "subtenant_identity_provider_status_enum", "subtenant_identity_provider_order_enum", "subtenant_identity_provider_algorithm_enum", - "OIDCRequest_token_request_mode_enum" + "OIDC_request_token_mode_enum" ], "_key": "Accounts" }, @@ -593,15 +593,15 @@ "_key": "light_theme_image_reference_enum" }, { - "entity_name": "OIDCRequest", + "entity_name": "OIDC_request", "field_name": "token_request_mode", - "enum_name": "OIDCRequest_token_request_mode_enum", + "enum_name": "OIDC_request_token_mode_enum", "values": [ "GET", "POST" ], "group_id": "Accounts", - "_key": "OIDCRequest_token_request_mode_enum" + "_key": "OIDC_request_token_mode_enum" }, { "entity_name": "policy_group", @@ -43501,7 +43501,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDCRequestClaimMapping" + "entity": "OIDC_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -43555,7 +43555,7 @@ "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", "foreign_key": { "group": "Accounts", - "entity": "IdpPublicKey" + "entity": "identity_provider_public_key" } }, "x-nullable": true, @@ -43611,7 +43611,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDCRequest" + "entity": "OIDC_request" }, "name": "oidc_attributes", "in": "body", @@ -47031,7 +47031,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDCRequestClaimMapping" + "entity": "OIDC_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -47085,7 +47085,7 @@ "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", "foreign_key": { "group": "Accounts", - "entity": "IdpPublicKey" + "entity": "identity_provider_public_key" } }, "x-nullable": true, @@ -47141,7 +47141,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDCRequest" + "entity": "OIDC_request" }, "name": "oidc_attributes", "in": "body", @@ -47901,7 +47901,7 @@ "field_renames": [], "tags": [], "group_id": "Accounts", - "_key": "IdpPublicKey" + "_key": "identity_provider_public_key" }, { "swagger_models": [ @@ -51276,7 +51276,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDCRequestClaimMapping" + "entity": "OIDC_request_claim_mapping" }, "x-nullable": true, "api_fieldname": "claim_mapping", @@ -51348,7 +51348,7 @@ "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", "foreign_key": { "group": "Accounts", - "entity": "IdpPublicKey" + "entity": "identity_provider_public_key" } }, "x-nullable": true, @@ -51404,7 +51404,7 @@ "api_fieldname": "token_request_mode", "readOnly": true, "required": false, - "enum_reference": "OIDCRequest_token_request_mode_enum", + "enum_reference": "OIDC_request_token_mode_enum", "_key": "token_request_mode" }, { @@ -51429,7 +51429,7 @@ "field_renames": [], "tags": [], "group_id": "Accounts", - "_key": "OIDCRequest" + "_key": "OIDC_request" }, { "swagger_models": [ @@ -51525,7 +51525,7 @@ "field_renames": [], "tags": [], "group_id": "Accounts", - "_key": "OIDCRequestClaimMapping" + "_key": "OIDC_request_claim_mapping" }, { "swagger_models": [ @@ -54541,7 +54541,7 @@ "field_renames": [], "tags": [], "group_id": "Accounts", - "_key": "SAML2Request" + "_key": "SAML2_request" }, { "swagger_models": [ @@ -60351,7 +60351,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDCRequestClaimMapping" + "entity": "OIDC_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -60405,7 +60405,7 @@ "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", "foreign_key": { "group": "Accounts", - "entity": "IdpPublicKey" + "entity": "identity_provider_public_key" } }, "x-nullable": true, @@ -60461,7 +60461,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDCRequest" + "entity": "OIDC_request" }, "name": "oidc_attributes", "in": "body", @@ -64234,7 +64234,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDCRequestClaimMapping" + "entity": "OIDC_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -64288,7 +64288,7 @@ "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", "foreign_key": { "group": "Accounts", - "entity": "IdpPublicKey" + "entity": "identity_provider_public_key" } }, "x-nullable": true, @@ -64344,7 +64344,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDCRequest" + "entity": "OIDC_request" }, "name": "oidc_attributes", "in": "body", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index cdae83566..8964b6346 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33194,7 +33194,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDCRequest + entity: OIDC_request group: Accounts in: body name: oidc_attributes @@ -33211,7 +33211,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDCRequestClaimMapping + entity: OIDC_request_claim_mapping group: Accounts properties: - _key: email @@ -33282,7 +33282,7 @@ entities: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. foreign_key: - entity: IdpPublicKey + entity: identity_provider_public_key group: Accounts properties: - _key: key @@ -35727,7 +35727,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDCRequest + entity: OIDC_request group: Accounts in: body name: oidc_attributes @@ -35744,7 +35744,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDCRequestClaimMapping + entity: OIDC_request_claim_mapping group: Accounts properties: - _key: email @@ -35815,7 +35815,7 @@ entities: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. foreign_key: - entity: IdpPublicKey + entity: identity_provider_public_key group: Accounts properties: - _key: key @@ -36273,7 +36273,7 @@ entities: - IdentityProviderUpdateReq tags: - Account - identity providers -- _key: IdpPublicKey +- _key: identity_provider_public_key field_renames: [] fields: - _key: key @@ -38694,7 +38694,7 @@ entities: swagger_models: - LoginProfile tags: [] -- _key: OIDCRequest +- _key: OIDC_request field_renames: [] fields: - _key: authorization_endpoint @@ -38715,7 +38715,7 @@ entities: api_fieldname: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDCRequestClaimMapping + entity: OIDC_request_claim_mapping group: Accounts properties: - _key: email @@ -38804,7 +38804,7 @@ entities: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. foreign_key: - entity: IdpPublicKey + entity: identity_provider_public_key group: Accounts properties: - _key: key @@ -38856,7 +38856,7 @@ entities: enum: - POST - GET - enum_reference: OIDCRequest_token_request_mode_enum + enum_reference: OIDC_request_token_mode_enum readOnly: true required: false type: string @@ -38881,7 +38881,7 @@ entities: swagger_models: - OIDCInfo tags: [] -- _key: OIDCRequestClaimMapping +- _key: OIDC_request_claim_mapping field_renames: [] fields: - _key: email @@ -41274,7 +41274,7 @@ entities: - PreSharedKeyWithoutSecret tags: - PreSharedKeys -- _key: SAML2Request +- _key: SAML2_request field_renames: [] fields: - _key: entity_descriptor @@ -45686,7 +45686,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDCRequest + entity: OIDC_request group: Accounts in: body name: oidc_attributes @@ -45703,7 +45703,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDCRequestClaimMapping + entity: OIDC_request_claim_mapping group: Accounts properties: - _key: email @@ -45774,7 +45774,7 @@ entities: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. foreign_key: - entity: IdpPublicKey + entity: identity_provider_public_key group: Accounts properties: - _key: key @@ -48508,7 +48508,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDCRequest + entity: OIDC_request group: Accounts in: body name: oidc_attributes @@ -48525,7 +48525,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDCRequestClaimMapping + entity: OIDC_request_claim_mapping group: Accounts properties: - _key: email @@ -48596,7 +48596,7 @@ entities: description: Represents provider's public key and key ID used to sign ID tokens. PEM-encoded. foreign_key: - entity: IdpPublicKey + entity: identity_provider_public_key group: Accounts properties: - _key: key @@ -69354,9 +69354,9 @@ enums: - desktop_background_landscape - desktop_background_portrait - desktop_background_square -- _key: OIDCRequest_token_request_mode_enum - entity_name: OIDCRequest - enum_name: OIDCRequest_token_request_mode_enum +- _key: OIDC_request_token_mode_enum + entity_name: OIDC_request + enum_name: OIDC_request_token_mode_enum field_name: token_request_mode group_id: Accounts values: @@ -69679,10 +69679,10 @@ groups: - subtenant_policy_group - identity_provider - subtenant_identity_provider - - SAML2Request - - OIDCRequest - - OIDCRequestClaimMapping - - IdpPublicKey + - SAML2_request + - OIDC_request + - OIDC_request_claim_mapping + - identity_provider_public_key enums: - policy_inherited_type_enum - user_status_enum @@ -69705,7 +69705,7 @@ groups: - subtenant_identity_provider_status_enum - subtenant_identity_provider_order_enum - subtenant_identity_provider_algorithm_enum - - OIDCRequest_token_request_mode_enum + - OIDC_request_token_mode_enum - _key: Branding entities: - dark_theme_color From 3626b3f47fe62d90f36d117e5cc9c6950210afd8 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 2 Sep 2019 15:03:28 +0000 Subject: [PATCH 005/111] new SDK config changes via api-contract @ 2019-09-02 15:03 --- .../public/sdk_foundation_definition.json | 40 +++++++++---------- .../public/sdk_foundation_definition.yaml | 40 +++++++++---------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index a3fc1f63b..16aa746d8 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -19,9 +19,9 @@ "subtenant_policy_group", "identity_provider", "subtenant_identity_provider", - "SAML2_request", - "OIDC_request", - "OIDC_request_claim_mapping", + "saml2_request", + "oidc_request", + "oidc_request_claim_mapping", "identity_provider_public_key" ], "enums": [ @@ -46,7 +46,7 @@ "subtenant_identity_provider_status_enum", "subtenant_identity_provider_order_enum", "subtenant_identity_provider_algorithm_enum", - "OIDC_request_token_mode_enum" + "oidc_request_token_mode_enum" ], "_key": "Accounts" }, @@ -593,15 +593,15 @@ "_key": "light_theme_image_reference_enum" }, { - "entity_name": "OIDC_request", + "entity_name": "oidc_request", "field_name": "token_request_mode", - "enum_name": "OIDC_request_token_mode_enum", + "enum_name": "oidc_request_token_mode_enum", "values": [ "GET", "POST" ], "group_id": "Accounts", - "_key": "OIDC_request_token_mode_enum" + "_key": "oidc_request_token_mode_enum" }, { "entity_name": "policy_group", @@ -43501,7 +43501,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDC_request_claim_mapping" + "entity": "oidc_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -43611,7 +43611,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDC_request" + "entity": "oidc_request" }, "name": "oidc_attributes", "in": "body", @@ -47031,7 +47031,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDC_request_claim_mapping" + "entity": "oidc_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -47141,7 +47141,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDC_request" + "entity": "oidc_request" }, "name": "oidc_attributes", "in": "body", @@ -51276,7 +51276,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDC_request_claim_mapping" + "entity": "oidc_request_claim_mapping" }, "x-nullable": true, "api_fieldname": "claim_mapping", @@ -51404,7 +51404,7 @@ "api_fieldname": "token_request_mode", "readOnly": true, "required": false, - "enum_reference": "OIDC_request_token_mode_enum", + "enum_reference": "oidc_request_token_mode_enum", "_key": "token_request_mode" }, { @@ -51429,7 +51429,7 @@ "field_renames": [], "tags": [], "group_id": "Accounts", - "_key": "OIDC_request" + "_key": "oidc_request" }, { "swagger_models": [ @@ -51525,7 +51525,7 @@ "field_renames": [], "tags": [], "group_id": "Accounts", - "_key": "OIDC_request_claim_mapping" + "_key": "oidc_request_claim_mapping" }, { "swagger_models": [ @@ -54541,7 +54541,7 @@ "field_renames": [], "tags": [], "group_id": "Accounts", - "_key": "SAML2_request" + "_key": "saml2_request" }, { "swagger_models": [ @@ -60351,7 +60351,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDC_request_claim_mapping" + "entity": "oidc_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -60461,7 +60461,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDC_request" + "entity": "oidc_request" }, "name": "oidc_attributes", "in": "body", @@ -64234,7 +64234,7 @@ ], "foreign_key": { "group": "Accounts", - "entity": "OIDC_request_claim_mapping" + "entity": "oidc_request_claim_mapping" }, "x-nullable": true, "_key": "claim_mapping" @@ -64344,7 +64344,7 @@ "description": "Represents OIDC specific attributes.", "foreign_key": { "group": "Accounts", - "entity": "OIDC_request" + "entity": "oidc_request" }, "name": "oidc_attributes", "in": "body", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 8964b6346..43b9b7d1d 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33194,7 +33194,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDC_request + entity: oidc_request group: Accounts in: body name: oidc_attributes @@ -33211,7 +33211,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDC_request_claim_mapping + entity: oidc_request_claim_mapping group: Accounts properties: - _key: email @@ -35727,7 +35727,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDC_request + entity: oidc_request group: Accounts in: body name: oidc_attributes @@ -35744,7 +35744,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDC_request_claim_mapping + entity: oidc_request_claim_mapping group: Accounts properties: - _key: email @@ -38694,7 +38694,7 @@ entities: swagger_models: - LoginProfile tags: [] -- _key: OIDC_request +- _key: oidc_request field_renames: [] fields: - _key: authorization_endpoint @@ -38715,7 +38715,7 @@ entities: api_fieldname: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDC_request_claim_mapping + entity: oidc_request_claim_mapping group: Accounts properties: - _key: email @@ -38856,7 +38856,7 @@ entities: enum: - POST - GET - enum_reference: OIDC_request_token_mode_enum + enum_reference: oidc_request_token_mode_enum readOnly: true required: false type: string @@ -38881,7 +38881,7 @@ entities: swagger_models: - OIDCInfo tags: [] -- _key: OIDC_request_claim_mapping +- _key: oidc_request_claim_mapping field_renames: [] fields: - _key: email @@ -41274,7 +41274,7 @@ entities: - PreSharedKeyWithoutSecret tags: - PreSharedKeys -- _key: SAML2_request +- _key: saml2_request field_renames: [] fields: - _key: entity_descriptor @@ -45686,7 +45686,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDC_request + entity: oidc_request group: Accounts in: body name: oidc_attributes @@ -45703,7 +45703,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDC_request_claim_mapping + entity: oidc_request_claim_mapping group: Accounts properties: - _key: email @@ -48508,7 +48508,7 @@ entities: entity_fieldname: oidc_attributes external_param: true foreign_key: - entity: OIDC_request + entity: oidc_request group: Accounts in: body name: oidc_attributes @@ -48525,7 +48525,7 @@ entities: - _key: claim_mapping description: Mapping for non-standard OIDC claim names. foreign_key: - entity: OIDC_request_claim_mapping + entity: oidc_request_claim_mapping group: Accounts properties: - _key: email @@ -69354,9 +69354,9 @@ enums: - desktop_background_landscape - desktop_background_portrait - desktop_background_square -- _key: OIDC_request_token_mode_enum - entity_name: OIDC_request - enum_name: OIDC_request_token_mode_enum +- _key: oidc_request_token_mode_enum + entity_name: oidc_request + enum_name: oidc_request_token_mode_enum field_name: token_request_mode group_id: Accounts values: @@ -69679,9 +69679,9 @@ groups: - subtenant_policy_group - identity_provider - subtenant_identity_provider - - SAML2_request - - OIDC_request - - OIDC_request_claim_mapping + - saml2_request + - oidc_request + - oidc_request_claim_mapping - identity_provider_public_key enums: - policy_inherited_type_enum @@ -69705,7 +69705,7 @@ groups: - subtenant_identity_provider_status_enum - subtenant_identity_provider_order_enum - subtenant_identity_provider_algorithm_enum - - OIDC_request_token_mode_enum + - oidc_request_token_mode_enum - _key: Branding entities: - dark_theme_color From 373557f9b680bbc907d70a77fd1114b7d1b51855 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 9 Sep 2019 11:12:10 +0000 Subject: [PATCH 006/111] new SDK config changes via api-contract @ 2019-09-09 11:12 --- .../public/pelion_dm_public_openapi.yaml | 33 +- .../public/sdk_foundation_definition.json | 516 +++++++++++++++++- .../public/sdk_foundation_definition.yaml | 482 ++++++++++++++-- 3 files changed, 973 insertions(+), 58 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 8b2e65496..cf660da02 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -46,6 +46,8 @@ definitions: maxItems: 10 type: array x-nullable: true + business_model: + $ref: '#/definitions/BusinessModel' city: description: The city part of the postal address. Required for commercial accounts only. @@ -185,6 +187,13 @@ definitions: type: string maxItems: 10 type: array + business_model: + $ref: '#/definitions/BusinessModel' + business_model_history: + description: Business model history for this account. + items: + $ref: '#/definitions/BusinessModelHistory' + type: array city: description: The city part of the postal address. example: Cambridge @@ -607,6 +616,8 @@ definitions: maxItems: 10 type: array x-nullable: true + business_model: + $ref: '#/definitions/BusinessModel' city: description: The city part of the postal address. Required for commercial accounts only. @@ -1466,6 +1477,24 @@ definitions: - full_report_file - errors_report_file type: object + BusinessModel: + default: active_device_business_model + description: Business model for this account. Manageable by the root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + BusinessModelHistory: + properties: + business_model: + $ref: '#/definitions/BusinessModel' + updated_at: + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object CampaignDeviceMetadata: properties: campaign: @@ -8821,7 +8850,7 @@ paths: required: false type: string - description: 'Comma-separated additional data to return. Currently supported: - limits, policies, sub_accounts.' + limits, policies, sub_accounts, history.' in: query name: include required: false @@ -9142,7 +9171,7 @@ paths: required: true type: string - description: 'Comma-separated additional data to return. Currently supported: - limits, policies, sub_accounts.' + limits, policies, sub_accounts, history.' in: query name: include required: false diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 16aa746d8..7f736b80c 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -37,6 +37,7 @@ "subtenant_api_key_order_enum", "account_status_enum", "account_mfa_status_enum", + "account_business_model_enum", "account_order_enum", "policy_group_order_enum", "subtenant_policy_group_order_enum", @@ -142,6 +143,17 @@ } ], "enums": [ + { + "entity_name": "account", + "field_name": "business_model", + "enum_name": "account_business_model_enum", + "values": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "group_id": "Accounts", + "_key": "account_business_model_enum" + }, { "entity_name": "account", "field_name": "mfa_status", @@ -1650,6 +1662,23 @@ "required": false, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "api_fieldname": "business_model", + "entity_fieldname": "business_model", + "parameter_fieldname": "business_model", + "in": "body", + "required": false, + "enum_reference": "account_business_model_enum", + "_key": "business_model" + }, { "type": "string", "maxLength": 100, @@ -1910,6 +1939,49 @@ "entity_fieldname": "aliases", "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "api_fieldname": "business_model", + "entity_fieldname": "business_model", + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "api_fieldname": "business_model_history", + "entity_fieldname": "business_model_history", + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -2440,6 +2512,45 @@ }, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -3160,7 +3271,8 @@ "expiration", "admin_id", "admin_key", - "password_recovery_expiration" + "password_recovery_expiration", + "business_model_history" ], "group_id": "Accounts", "parameter_map": { @@ -4925,7 +5037,7 @@ { "name": "include", "in": "query", - "description": "Comma-separated additional data to return. Currently supported: limits, policies, sub_accounts.", + "description": "Comma-separated additional data to return. Currently supported: limits, policies, sub_accounts, history.", "required": false, "type": "string", "entity_fieldname": "include", @@ -5091,6 +5203,45 @@ }, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -5557,6 +5708,45 @@ }, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -6409,6 +6599,49 @@ "entity_fieldname": "aliases", "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "api_fieldname": "business_model", + "entity_fieldname": "business_model", + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "api_fieldname": "business_model_history", + "entity_fieldname": "business_model_history", + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -6939,6 +7172,45 @@ }, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -7605,7 +7877,9 @@ "admin_key", "admin_password", "admin_full_name", - "password_recovery_expiration" + "password_recovery_expiration", + "business_model", + "business_model_history" ], "group_id": "Accounts", "parameter_map": { @@ -7637,7 +7911,7 @@ { "name": "include", "in": "query", - "description": "Comma-separated additional data to return. Currently supported: limits, policies, sub_accounts.", + "description": "Comma-separated additional data to return. Currently supported: limits, policies, sub_accounts, history.", "required": false, "type": "string", "entity_fieldname": "include", @@ -7766,6 +8040,49 @@ "entity_fieldname": "aliases", "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "api_fieldname": "business_model", + "entity_fieldname": "business_model", + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "api_fieldname": "business_model_history", + "entity_fieldname": "business_model_history", + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -8296,6 +8613,45 @@ }, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -9034,7 +9390,9 @@ "admin_key", "admin_password", "admin_full_name", - "password_recovery_expiration" + "password_recovery_expiration", + "business_model", + "business_model_history" ], "group_id": "Accounts", "parameter_map": { @@ -9727,6 +10085,23 @@ "required": false, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "api_fieldname": "business_model", + "entity_fieldname": "business_model", + "parameter_fieldname": "business_model", + "in": "body", + "required": false, + "enum_reference": "account_business_model_enum", + "_key": "business_model" + }, { "type": "string", "maxLength": 100, @@ -10125,6 +10500,49 @@ "entity_fieldname": "aliases", "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "api_fieldname": "business_model", + "entity_fieldname": "business_model", + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "api_fieldname": "business_model_history", + "entity_fieldname": "business_model_history", + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -10655,6 +11073,45 @@ }, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, @@ -11443,7 +11900,8 @@ "admin_email", "admin_key", "admin_password", - "admin_full_name" + "admin_full_name", + "business_model_history" ], "group_id": "Accounts", "parameter_map": { @@ -12952,6 +13410,52 @@ "required": false, "_key": "aliases" }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "api_fieldname": "business_model", + "readOnly": false, + "required": false, + "enum_reference": "account_business_model_enum", + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "api_fieldname": "business_model_history", + "readOnly": true, + "required": false, + "_key": "business_model_history" + }, { "type": "string", "maxLength": 100, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 43b9b7d1d..d5174c21e 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -87,6 +87,41 @@ entities: readOnly: false required: false type: array + - _key: business_model + api_fieldname: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + enum_reference: account_business_model_enum + example: api_calls_1_business_model + readOnly: false + required: false + type: string + - _key: business_model_history + api_fieldname: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin + only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + readOnly: true + required: false + type: array - _key: city api_fieldname: city description: The city part of the postal address. @@ -956,6 +991,7 @@ entities: - admin_id - admin_key - password_recovery_expiration + - business_model_history field_renames: [] fields: - _key: action @@ -1061,6 +1097,20 @@ entities: parameter_fieldname: aliases required: false type: array + - _key: business_model + api_fieldname: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin only. + entity_fieldname: business_model + enum: &id001 + - active_device_business_model + - api_calls_1_business_model + enum_reference: account_business_model_enum + example: api_calls_1_business_model + in: body + parameter_fieldname: business_model + required: false + type: string - _key: city api_fieldname: city description: The city part of the postal address. @@ -1282,6 +1332,39 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + api_fieldname: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin + only. + entity_fieldname: business_model + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + api_fieldname: business_model_history + description: Business model history for this account. + entity_fieldname: business_model_history + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city api_fieldname: city description: The city part of the postal address. @@ -1698,6 +1781,35 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the + root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city description: The city part of the postal address. example: Cambridge @@ -3561,7 +3673,7 @@ entities: - _key: include api_fieldname: include description: 'Comma-separated additional data to return. Currently supported: - limits, policies, sub_accounts.' + limits, policies, sub_accounts, history.' entity_fieldname: include external_param: true in: query @@ -3703,6 +3815,35 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the + root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city description: The city part of the postal address. example: Cambridge @@ -4055,6 +4196,35 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the + root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by + the root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city description: The city part of the postal address. example: Cambridge @@ -4635,6 +4805,8 @@ entities: - admin_password - admin_full_name - password_recovery_expiration + - business_model + - business_model_history field_renames: [] fields: - _key: include @@ -4753,6 +4925,39 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + api_fieldname: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin + only. + entity_fieldname: business_model + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + api_fieldname: business_model_history + description: Business model history for this account. + entity_fieldname: business_model_history + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city api_fieldname: city description: The city part of the postal address. @@ -5169,6 +5374,35 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the + root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city description: The city part of the postal address. example: Cambridge @@ -5697,6 +5931,8 @@ entities: - admin_password - admin_full_name - password_recovery_expiration + - business_model + - business_model_history field_renames: [] fields: - _key: id @@ -5712,7 +5948,7 @@ entities: - _key: include api_fieldname: include description: 'Comma-separated additional data to return. Currently supported: - limits, policies, sub_accounts.' + limits, policies, sub_accounts, history.' entity_fieldname: include external_param: true in: query @@ -5823,6 +6059,39 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + api_fieldname: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin + only. + entity_fieldname: business_model + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + api_fieldname: business_model_history + description: Business model history for this account. + entity_fieldname: business_model_history + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city api_fieldname: city description: The city part of the postal address. @@ -6239,6 +6508,35 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the + root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city description: The city part of the postal address. example: Cambridge @@ -7280,6 +7578,7 @@ entities: - admin_key - admin_password - admin_full_name + - business_model_history field_renames: [] fields: - _key: address_line1 @@ -7316,6 +7615,18 @@ entities: parameter_fieldname: aliases required: false type: array + - _key: business_model + api_fieldname: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin only. + entity_fieldname: business_model + enum: *id001 + enum_reference: account_business_model_enum + example: api_calls_1_business_model + in: body + parameter_fieldname: business_model + required: false + type: string - _key: city api_fieldname: city description: The city part of the postal address. @@ -7652,6 +7963,39 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + api_fieldname: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root admin + only. + entity_fieldname: business_model + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + api_fieldname: business_model_history + description: Business model history for this account. + entity_fieldname: business_model_history + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city api_fieldname: city description: The city part of the postal address. @@ -8068,6 +8412,35 @@ entities: type: string maxItems: 10 type: array + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the root + admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the + root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: city description: The city part of the postal address. example: Cambridge @@ -9919,7 +10292,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: &id001 + enum: &id002 - ACTIVE - INACTIVE enum_reference: api_key_status_enum @@ -11764,7 +12137,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: *id001 + enum: *id002 enum_reference: api_key_status_enum example: ACTIVE in: body @@ -17907,7 +18280,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id002 + enum: &id003 - error_color - primary - secondary @@ -18380,7 +18753,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id002 + enum: *id003 enum_reference: dark_theme_color_reference_enum in: path is_primary_key: true @@ -18647,7 +19020,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id002 + enum: *id003 enum_reference: dark_theme_color_reference_enum in: path is_primary_key: true @@ -19029,7 +19402,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id003 + enum: &id004 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -19541,7 +19914,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id003 + enum: *id004 enum_reference: dark_theme_image_reference_enum in: path is_primary_key: true @@ -19817,7 +20190,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id003 + enum: *id004 enum_reference: dark_theme_image_reference_enum in: path is_primary_key: true @@ -33381,7 +33754,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id004 + enum: &id005 - ACTIVE - SUSPENDED enum_reference: identity_provider_status_enum @@ -35914,7 +36287,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id004 + enum: *id005 enum_reference: identity_provider_status_enum in: body parameter_fieldname: status @@ -36373,7 +36746,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id005 + enum: &id006 - error_color - primary - secondary @@ -36846,7 +37219,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id005 + enum: *id006 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -37129,7 +37502,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id005 + enum: *id006 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -37529,7 +37902,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id006 + enum: &id007 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -38043,7 +38416,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id006 + enum: *id007 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -38322,7 +38695,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id006 + enum: *id007 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -41939,7 +42312,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: &id007 + enum: &id008 - ACTIVE - INACTIVE enum_reference: subtenant_api_key_status_enum @@ -43296,7 +43669,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: *id007 + enum: *id008 enum_reference: subtenant_api_key_status_enum example: ACTIVE in: body @@ -43734,7 +44107,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id008 + enum: &id009 - error_color - primary - secondary @@ -43960,7 +44333,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id008 + enum: *id009 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -44253,7 +44626,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id008 + enum: *id009 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -44662,7 +45035,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id009 + enum: &id010 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -44907,7 +45280,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id009 + enum: *id010 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -45197,7 +45570,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id009 + enum: *id010 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -45873,7 +46246,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id010 + enum: &id011 - ACTIVE - SUSPENDED enum_reference: subtenant_identity_provider_status_enum @@ -48695,7 +49068,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id010 + enum: *id011 enum_reference: subtenant_identity_provider_status_enum in: body parameter_fieldname: status @@ -49166,7 +49539,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id011 + enum: &id012 - error_color - primary - secondary @@ -49391,7 +49764,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id011 + enum: *id012 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -49684,7 +50057,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id011 + enum: *id012 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -50091,7 +50464,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id012 + enum: &id013 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -50336,7 +50709,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id012 + enum: *id013 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -50624,7 +50997,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id012 + enum: *id013 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -53012,7 +53385,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id013 + enum: &id014 - lwm2m - bootstrap enum_reference: subtenant_trusted_certificate_service_enum @@ -53024,7 +53397,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id014 + enum: &id015 - ACTIVE - INACTIVE enum_reference: subtenant_trusted_certificate_status_enum @@ -54625,7 +54998,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id013 + enum: *id014 enum_reference: subtenant_trusted_certificate_service_enum in: body parameter_fieldname: service @@ -54635,7 +55008,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id014 + enum: *id015 enum_reference: subtenant_trusted_certificate_status_enum example: ACTIVE in: body @@ -55554,14 +55927,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: &id015 + enum: &id016 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id016 + required: &id017 - id type: object parameter_fieldname: login_profiles @@ -57645,10 +58018,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: *id015 + enum: *id016 readOnly: true type: string - required: *id016 + required: *id017 type: object parameter_fieldname: login_profiles required: false @@ -59868,7 +60241,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id017 + enum: &id018 - lwm2m - bootstrap enum_reference: trusted_certificate_service_enum @@ -59880,7 +60253,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id018 + enum: &id019 - ACTIVE - INACTIVE enum_reference: trusted_certificate_status_enum @@ -61830,7 +62203,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id017 + enum: *id018 enum_reference: trusted_certificate_service_enum in: body parameter_fieldname: service @@ -61840,7 +62213,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id018 + enum: *id019 enum_reference: trusted_certificate_status_enum example: ACTIVE in: body @@ -64477,14 +64850,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: &id019 + enum: &id020 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id020 + required: &id021 - id type: object parameter_fieldname: login_profiles @@ -66938,10 +67311,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: type - enum: *id019 + enum: *id020 readOnly: true type: string - required: *id020 + required: *id021 type: object parameter_fieldname: login_profiles required: false @@ -68994,6 +69367,14 @@ entities: - CertificateIssuerVerifyResponse tags: [] enums: +- _key: account_business_model_enum + entity_name: account + enum_name: account_business_model_enum + field_name: business_model + group_id: Accounts + values: + - active_device_business_model + - api_calls_1_business_model - _key: account_mfa_status_enum entity_name: account enum_name: account_mfa_status_enum @@ -69696,6 +70077,7 @@ groups: - subtenant_api_key_order_enum - account_status_enum - account_mfa_status_enum + - account_business_model_enum - account_order_enum - policy_group_order_enum - subtenant_policy_group_order_enum From e745cd8c34d0dd61cc27054474553c6497a1e83e Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 9 Sep 2019 11:13:51 +0000 Subject: [PATCH 007/111] new SDK config changes via api-contract @ 2019-09-09 11:13 --- .../public/pelion_dm_public_openapi.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index cf660da02..d67089960 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -11678,7 +11678,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the user or API key does not exist. @@ -11748,7 +11748,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the group name is too long. schema: @@ -11814,7 +11814,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the array of API keys is missing. @@ -11943,7 +11943,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the last user to remove from Administrators group. @@ -22580,7 +22580,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the user or API key does not exist. @@ -22645,7 +22645,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the group name is too long. schema: @@ -22706,7 +22706,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the array of API keys is missing. @@ -22837,7 +22837,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/GroupSummary' '400': description: Error in input data, for example, the user removing themselves from the Administrators group. From 0ae3c36b2edb7f8b7c7eaf0d0037a30b37bf6f5c Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 9 Sep 2019 11:14:42 +0000 Subject: [PATCH 008/111] new SDK config changes via api-contract @ 2019-09-09 11:14 --- .../public/pelion_dm_public_openapi.yaml | 65 +++---------------- 1 file changed, 10 insertions(+), 55 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index d67089960..f0b40def0 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6263,51 +6263,6 @@ definitions: format: date-time type: string x-nullable: true - UpdatedResponse: - description: Represents a response to an update request. - properties: - code: - description: Response code. - example: 200 - format: int32 - type: integer - id: - description: Entity ID. - example: 01619571dad80242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - message: - description: A human readable message with detailed info. - example: success - type: string - object: - description: 'Entity name: ''user'', ''api-key'', ''group'', ''policy'' or - ''account''.' - enum: - - user - - api-key - - group - - policy - - account - type: string - request_id: - description: Request ID. - example: 0161991d63150242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - type: - description: 'Response type: success.' - enum: - - success - type: string - required: - - code - - id - - message - - object - - request_id - - type - type: object UploadChunkInfo: properties: created_at: &id013 @@ -9607,7 +9562,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -9748,7 +9703,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -13047,7 +13002,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/UserInfoResp' '400': description: Error in input data. schema: @@ -13188,7 +13143,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/UserInfoResp' '400': description: Error in input data. schema: @@ -13505,7 +13460,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -13616,7 +13571,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -13820,7 +13775,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -13951,7 +13906,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -25105,7 +25060,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/UserInfoResp' '400': description: Error in input data. schema: @@ -25236,7 +25191,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UpdatedResponse' + $ref: '#/definitions/UserInfoResp' '400': description: Error in input data. schema: From deb31c7a67db6e14abd0a955dfb35915d48bed39 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 9 Sep 2019 11:18:30 +0000 Subject: [PATCH 009/111] new SDK config changes via api-contract @ 2019-09-09 11:18 --- .../public/pelion_dm_public_openapi.yaml | 3 +- .../public/sdk_foundation_definition.json | 22 ++++++------- .../public/sdk_foundation_definition.yaml | 31 +++++++++++++------ 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index f0b40def0..6d3003848 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -155,7 +155,8 @@ definitions: type: string x-nullable: true admin_id: - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present only + in the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' type: string diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 7f736b80c..27a66cf9c 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -1892,7 +1892,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "api_fieldname": "admin_id", "entity_fieldname": "admin_id", @@ -2475,7 +2475,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "_key": "admin_id" }, @@ -5166,7 +5166,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "_key": "admin_id" }, @@ -5671,7 +5671,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "_key": "admin_id" }, @@ -6552,7 +6552,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "api_fieldname": "admin_id", "entity_fieldname": "admin_id", @@ -7135,7 +7135,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "_key": "admin_id" }, @@ -7993,7 +7993,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "api_fieldname": "admin_id", "entity_fieldname": "admin_id", @@ -8576,7 +8576,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "_key": "admin_id" }, @@ -10453,7 +10453,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "api_fieldname": "admin_id", "entity_fieldname": "admin_id", @@ -11036,7 +11036,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "_key": "admin_id" }, @@ -13359,7 +13359,7 @@ "type": "string", "x-nullable": true, "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account.", + "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", "pattern": "[a-f0-9]{32}", "api_fieldname": "admin_id", "readOnly": true, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index d5174c21e..d9c914dcd 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -42,7 +42,8 @@ entities: x-nullable: true - _key: admin_id api_fieldname: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present only in + the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' readOnly: true @@ -1291,7 +1292,8 @@ entities: x-nullable: true - _key: admin_id api_fieldname: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. entity_fieldname: admin_id example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -1749,7 +1751,8 @@ entities: type: string x-nullable: true - _key: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -3783,7 +3786,8 @@ entities: type: string x-nullable: true - _key: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -4165,6 +4169,7 @@ entities: x-nullable: true - _key: admin_id description: The ID of the admin user created for this account. + Present only in the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -4884,7 +4889,8 @@ entities: x-nullable: true - _key: admin_id api_fieldname: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. entity_fieldname: admin_id example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -5342,7 +5348,8 @@ entities: type: string x-nullable: true - _key: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -6018,7 +6025,8 @@ entities: x-nullable: true - _key: admin_id api_fieldname: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. entity_fieldname: admin_id example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -6476,7 +6484,8 @@ entities: type: string x-nullable: true - _key: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -7922,7 +7931,8 @@ entities: x-nullable: true - _key: admin_id api_fieldname: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. entity_fieldname: admin_id example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -8380,7 +8390,8 @@ entities: type: string x-nullable: true - _key: admin_id - description: The ID of the admin user created for this account. + description: The ID of the admin user created for this account. Present + only in the response for the account creation. example: 01619571e2e89242ac12000600000000 pattern: '[a-f0-9]{32}' type: string From 50efc4607305b3931d7a0b33506b9010a6bcd277 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 17 Sep 2019 09:34:16 +0000 Subject: [PATCH 010/111] new SDK config changes via api-contract @ 2019-09-17 09:34 --- .../public/pelion_dm_public_openapi.yaml | 2903 ++++++++++++++--- .../public/sdk_foundation_definition.json | 1316 +++++++- .../public/sdk_foundation_definition.yaml | 975 +++++- 3 files changed, 4786 insertions(+), 408 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 6d3003848..d7ab57dff 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -285,11 +285,21 @@ definitions: minimum: 1 type: integer x-nullable: true + limitations: + description: List of account limitation objects. + items: + $ref: '#/definitions/AccountLimitation' + type: array limits: additionalProperties: type: string + deprecated: true description: List of limits as key-value pairs if requested. type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true mfa_status: description: The enforcement status of multi-factor authentication, either @@ -460,6 +470,128 @@ definitions: - object - total_count type: object + AccountLimitation: + description: This object represents an account limitation. + properties: + billing_period: + description: Billing period of the account limitation. + format: int32 + type: integer + created_at: + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + description: + description: Description of the account limitation. + readOnly: true + type: string + etag: + description: API resource entity version. + example: '1' + type: string + id: + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + inherited: + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + inherited_from: + description: Indicates where this limit is inherited from. + readOnly: true + type: string + inherited_type: + description: Indicates the type of the entity where the limitation is inherited + from. + readOnly: true + type: string + limit: + description: The value of the limit. + format: int32 + type: integer + name: + description: Name of the account limitation. + type: string + object: + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + quota: + description: Quota of the account limitation. + format: int32 + type: integer + updated_at: + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + AccountLimitationList: + properties: + after: + description: The entity ID to fetch after the given one. + example: 01619571f3c00242ac12000600000000 + type: string + data: + description: A list of entities. + items: + $ref: '#/definitions/AccountLimitation' + type: array + has_more: + description: Flag indicating whether there is more results. + example: false + type: boolean + limit: + description: 'The number of results to return, (range: 2-1000), or equals + to `total_count`' + example: 50 + format: int32 + type: integer + object: + description: 'Entity name: always ''list''' + enum: + - list + type: string + order: + description: 'The order of the records to return based on creation time. Available + values: ASC, DESC; by default ASC.' + enum: + - ASC + - DESC + type: string + total_count: + description: The total number or records, if requested. It might be returned + also for small lists. + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object AccountUpdateReq: description: Represents an account creation request. properties: @@ -4144,6 +4276,10 @@ definitions: required: - name type: object + GroupIdList: + items: + type: string + type: array GroupSummary: description: This object contains basic information about groups. properties: @@ -9520,6 +9656,7 @@ paths: delete: consumes: - application/json + deprecated: true description: 'Remove API key from groups. @@ -9583,6 +9720,11 @@ paths: summary: Remove API key from groups. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve groups associated with the API key. @@ -9661,6 +9803,7 @@ paths: post: consumes: - application/json + deprecated: true description: 'Add API key to groups. @@ -9728,40 +9871,51 @@ paths: summary: Add API key to a list of groups. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/api-keys/{apikey_id}/reset-secret: + /v3/accounts/{account_id}/api-keys/{apikey_id}/groups/add: post: - description: 'Reset the secret key of the API key. + consumes: + - application/json + description: 'Add an API key to groups. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/reset-secret + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups/add \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: resetAccountApiKeySecret + operationId: addAccountApiKeyToListedGroups parameters: - - description: Account ID. + - description: The ID of the Account. in: path name: account_id required: true type: string - - description: The ID of the API key to reset. + - description: The ID of the API key to add to the group. in: path name: apikey_id required: true type: string - - description: New API key attributes to be stored. + - description: A list of IDs of groups to update. in: body name: body - required: false + required: true schema: - $ref: '#/definitions/ApiKeyUpdateReq' + $ref: '#/definitions/GroupIdList' produces: - application/json responses: @@ -9770,7 +9924,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data format. + description: Error in input data. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -9785,39 +9939,64 @@ paths: description: An account or API key with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Reset the secret key. + '409': + description: The API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API key to a list of groups. tags: - Tenant accounts - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-colors/dark: - get: - description: 'Retrieve dark theme branding colors for an account. + /v3/accounts/{account_id}/api-keys/{apikey_id}/groups/remove: + post: + consumes: + - application/json + description: 'Remove an API key from groups. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups/remove \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: getAccountDarkColors + operationId: removeAccountApiKeyFromListedGroups parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string + - description: The ID of the API key to remove from the group. + in: path + name: apikey_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/BrandingColorList' + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -9827,40 +10006,53 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: An account or API key with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get dark theme branding colors. + summary: Remove API key from groups. tags: - - Tenant user interface configuration - colors + - Tenant accounts - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: - consumes: - - application/json - description: "Update an array of dark theme branding colors of a tenant account.\n\ - \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ - \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" - operationId: bulkSetAccountDarkColors + /v3/accounts/{account_id}/api-keys/{apikey_id}/reset-secret: + post: + description: 'Reset the secret key of the API key. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/reset-secret + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: resetAccountApiKeySecret parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: List of branding colors. + - description: The ID of the API key to reset. + in: path + name: apikey_id + required: true + type: string + - description: New API key attributes to be stored. in: body name: body - required: true + required: false schema: - items: - $ref: '#/definitions/BrandingColor' - type: array + $ref: '#/definitions/ApiKeyUpdateReq' produces: - application/json responses: - '204': - description: Colors have been set successfully. + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data format. schema: @@ -9874,47 +10066,34 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: An account or API key with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Updates an array of dark theme branding colors. + summary: Reset the secret key. tags: - - Tenant user interface configuration - colors + - Tenant accounts - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-colors/dark/{reference}: + /v3/accounts/{account_id}/branding-colors: delete: - description: 'Resets the branding color of a tenant account to its dark theme - default. - - - **Example:** + description: 'Delete account branding colors for all themes. - ``` - - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} - \ - -H ''Authorization: Bearer '' + **Example usage:** - ```' - operationId: resetAccountDarkColor + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllAccountColors parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The name of the branding color. - enum: *id019 - in: path - name: reference - required: true - type: string produces: - application/json responses: '204': - description: Deleted successfully. + description: Colors have been deleted successfully. '401': description: Authentication failure. schema: @@ -9924,30 +10103,208 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Color or account not found. + description: Account or branding colors not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Reset branding color to default. + summary: Delete all colors. tags: - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve the requested dark theme branding color. - - - **Example:** - - ``` + /v3/accounts/{account_id}/branding-colors/dark: + delete: + description: 'Delete account dark theme branding colors. - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} - \ - -H ''Authorization: Bearer '' + **Example usage:** - ```' + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllAccountDarkColors + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Colors have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account or branding colors not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete colors in the dark theme. + tags: + - Tenant user interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve dark theme branding colors for an account. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountDarkColors + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/BrandingColorList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get dark theme branding colors. + tags: + - Tenant user interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + put: + consumes: + - application/json + description: "Update an array of dark theme branding colors of a tenant account.\n\ + \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ + \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" + operationId: bulkSetAccountDarkColors + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: List of branding colors. + in: body + name: body + required: true + schema: + items: + $ref: '#/definitions/BrandingColor' + type: array + produces: + - application/json + responses: + '204': + description: Colors have been set successfully. + '400': + description: Error in input data format. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Updates an array of dark theme branding colors. + tags: + - Tenant user interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/branding-colors/dark/{reference}: + delete: + description: 'Resets the branding color of a tenant account to its dark theme + default. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: resetAccountDarkColor + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The name of the branding color. + enum: *id019 + in: path + name: reference + required: true + type: string + produces: + - application/json + responses: + '204': + description: Deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Color or account not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Reset branding color to default. + tags: + - Tenant user interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve the requested dark theme branding color. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' operationId: getAccountDarkColor parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10003,7 +10360,7 @@ paths: ```' operationId: setAccountDarkColor parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10048,6 +10405,42 @@ paths: - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/branding-colors/light: + delete: + description: 'Delete account light theme branding colors. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllAccountLightColors + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Colors have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account or branding colors not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete colors in the light theme. + tags: + - Tenant user interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve light theme branding colors for an account. @@ -10064,7 +10457,7 @@ paths: ```' operationId: getAccountLightColors parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10101,7 +10494,7 @@ paths: \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"purple\" }]'\n```" operationId: bulkSetAccountLightColors parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10157,7 +10550,7 @@ paths: ```' operationId: resetAccountLightColor parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10204,7 +10597,7 @@ paths: ```' operationId: getAccountLightColor parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10260,7 +10653,7 @@ paths: ```' operationId: setAccountLightColor parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10304,24 +10697,18 @@ paths: tags: - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/dark: - get: - description: 'Retrieve the metadata of all dark theme branding images. - - - **Example:** - - ``` + /v3/accounts/{account_id}/branding-images: + delete: + description: 'Delete account branding images for all themes. - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark - \ - -H ''Authorization: Bearer '' + **Example usage:** - ```' - operationId: getAllAccountDarkImageData + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllAccountImages parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10329,10 +10716,8 @@ paths: produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/BrandingImageList' + '204': + description: Images have been deleted successfully. '401': description: Authentication failure. schema: @@ -10342,41 +10727,122 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: Account or branding images not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get metadata of all dark theme images. + summary: Delete all images. tags: - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/dark/{reference}: - get: - description: 'Retrieve metadata of one account dark theme branding image. - - - **Example:** - - ``` + /v3/accounts/{account_id}/branding-images/dark: + delete: + description: 'Delete account dark theme branding images. - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} - \ - -H ''Authorization: Bearer '' + **Example usage:** - ```' - operationId: getAccountDarkImageData + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllAccountDarkImages parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id020 - in: path - name: reference - required: true - type: string + produces: + - application/json + responses: + '204': + description: Images have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account or branding images not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete images in the dark theme. + tags: + - Tenant user interface configuration - images + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve the metadata of all dark theme branding images. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAllAccountDarkImageData + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/BrandingImageList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get metadata of all dark theme images. + tags: + - Tenant user interface configuration - images + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/branding-images/dark/{reference}: + get: + description: 'Retrieve metadata of one account dark theme branding image. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountDarkImageData + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: Name of the branding images (icon or picture). + enum: *id020 + in: path + name: reference + required: true + type: string produces: - application/json responses: @@ -10417,7 +10883,7 @@ paths: ```' operationId: clearAccountDarkImage parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10472,7 +10938,7 @@ paths: ```' operationId: uploadAccountDarkImage parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10531,7 +10997,7 @@ paths: PNG or JPEG format. operationId: uploadAccountDarkImageMultipart parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10582,6 +11048,42 @@ paths: - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/branding-images/light: + delete: + description: 'Delete account light theme branding images. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllAccountLightImages + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Images have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account or branding images not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete images in the light theme. + tags: + - Tenant user interface configuration - images + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve the metadata of all light theme branding images. @@ -10598,7 +11100,7 @@ paths: ```' operationId: getAllAccountLightImageData parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10643,7 +11145,7 @@ paths: ```' operationId: getAccountLightImageData parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10692,7 +11194,7 @@ paths: ```' operationId: clearAccountLightImage parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10747,7 +11249,7 @@ paths: ```' operationId: uploadAccountLightImage parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10806,7 +11308,7 @@ paths: format. operationId: uploadAccountLightImageMultipart parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -10863,7 +11365,7 @@ paths: description: Retrieve identity providers in an array. operationId: getAllAccountIdentityProviders parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true @@ -11253,6 +11755,86 @@ paths: tags: - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/limitations: + get: + description: An endpoint for retrieving all limitations of an account. + operationId: aggregatorGetAccountLimitations + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: Filter for finding account limitations by inheritance. True returns + also inherited limitations. False returns only non-inherited ones. + in: query + name: inherited__eq + required: false + type: string + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/AccountLimitationList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account with the given ID not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get all limitations of an account. + tags: + - Tenant accounts - limitations + x-filter: + inherited: + - eq + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/limitations/{limitation_id}: + get: + description: An endpoint for retrieving a limitation of an account. + operationId: aggregatorGetAccountLimitation + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the limitation to be fetched. + in: path + name: limitation_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/AccountLimitation' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Limitation or account with the given ID not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get a limitation of an account. + tags: + - Tenant accounts - limitations + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/notifications: get: description: Retrieve notifications. @@ -11729,6 +12311,7 @@ paths: delete: consumes: - application/json + deprecated: true description: 'Remove API keys from groups. @@ -11791,6 +12374,11 @@ paths: summary: Remove API keys from a group. tags: - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'List the API keys of the group with details. @@ -11866,28 +12454,34 @@ paths: tags: - Tenant accounts - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}/users: - delete: - consumes: - - application/json - description: "Remove users from groups.\n\n**Example:**\n```\ncurl -X DELETE\ - \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ - \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ - \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ - ]}'\n```" - operationId: removeUsersFromAccountGroup + post: + deprecated: true + description: 'Add API keys to account groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: addApiKeysToAccountGroup parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the group to remove users from. + - description: The ID of the group to retrieve API keys for. in: path name: group_id required: true type: string - - description: A list of users to remove from the group. + - description: A list of API keys to add to the group. in: body name: body required: true @@ -11899,12 +12493,11 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummary' + $ref: '#/definitions/ApiKeyInfoRespList' '400': - description: Error in input data, for example, the last user to remove from - Administrators group. + description: Successful operation. schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/ApiKeyInfoRespList' '401': description: Authentication failure. schema: @@ -11917,58 +12510,259 @@ paths: description: An account or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove users from a group. + '409': + description: The API Key is a member of the group or account already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API keys to Account group. tags: - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'List users of the group with details. + /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add: + post: + description: 'Add API keys to account groups. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add \ -H ''Authorization: Bearer '' ```' - operationId: getUsersOfAccountGroup + operationId: addListedApiKeysToAccountGroup parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve users for. + - description: The ID of the group to retrieve API keys for. in: path name: group_id required: true type: string - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string - - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - in: query + - description: A list of API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The API key is a member of the account group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API keys to account group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove: + post: + consumes: + - application/json + description: 'Remove API keys from groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"apikeys": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: removeListedApiKeysFromAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove API keys from. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the array of API keys is + missing. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove API keys from a group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/users: + delete: + consumes: + - application/json + deprecated: true + description: "Remove users from groups.\n\n**Example:**\n```\ncurl -X DELETE\ + \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ + \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ + ]}'\n```" + operationId: removeUsersFromAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove users from. + in: path + name: group_id + required: true + type: string + - description: A list of users to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the last user to remove from + Administrators group. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove users from a group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'List a group''s users, with details. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getUsersOfAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve users for. + in: path + name: group_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to fetch after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query name: include required: false type: string @@ -12016,6 +12810,193 @@ paths: - in - nin x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + deprecated: true + description: 'Add users to account group. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: addUsersToAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve API keys for. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user is a member of the account group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add users to account group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/users/add: + post: + description: 'Add users to account group. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/add + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: addListedUsersToAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve API keys for. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user is a member of the account group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add users to account group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/users/remove: + post: + consumes: + - application/json + description: "Remove users from groups.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ + \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ + ]}'\n```" + operationId: removeListedUsersFromAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove users from. + in: path + name: group_id + required: true + type: string + - description: A list of users to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the last user to remove from + Administrators group. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove users from a group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/trusted-certificates: get: description: 'Retrieve trusted certificates in an array. @@ -12960,6 +13941,7 @@ paths: delete: consumes: - application/json + deprecated: true description: 'Remove user from groups. @@ -13023,6 +14005,11 @@ paths: summary: Remove user from groups. tags: - Tenant accounts - users + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve user''s groups. @@ -13070,18 +14057,161 @@ paths: name: account_id required: true type: string - - description: The ID of the user. + - description: The ID of the user. + in: path + name: user_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummaryList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or user with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get user's groups. + tags: + - Tenant accounts - users + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + consumes: + - application/json + deprecated: true + description: 'Add user to groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: addAccountUserToGroups + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the user to add to the group. + in: path + name: user_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + items: + type: string + type: array + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account, user, or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add user to a list of groups. + tags: + - Tenant accounts - users + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/users/{user_id}/groups/add: + post: + consumes: + - application/json + description: 'Add a user to groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/add + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: addAccountUserToListedGroups + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the user to add to the group. in: path name: user_id required: true type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummaryList' + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -13091,24 +14221,29 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or user with the specified ID does not exist. + description: An account, user, or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get user's groups. + '409': + description: The user is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add user to a list of groups. tags: - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/users/{user_id}/groups/remove: post: consumes: - application/json - description: 'Add user to groups. + description: 'Remove a user from groups. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/remove \ -H ''Authorization: Bearer '' \ @@ -13118,14 +14253,14 @@ paths: -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: addAccountUserToGroups + operationId: removeAccountUserFromListedGroups parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the user to add to the group. + - description: The ID of the user to remove from the group. in: path name: user_id required: true @@ -13135,9 +14270,7 @@ paths: name: body required: true schema: - items: - type: string - type: array + $ref: '#/definitions/GroupIdList' produces: - application/json responses: @@ -13161,11 +14294,7 @@ paths: description: An account, user, or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - '409': - description: The user is a member of the group already. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Add user to a list of groups. + summary: Remove user from groups. tags: - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -13429,6 +14558,7 @@ paths: delete: consumes: - application/json + deprecated: true description: 'Remove API key from groups. @@ -13445,16 +14575,14 @@ paths: -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: removeMyApiKeyFromGroups + operationId: removeMyApiKeyListedGroups parameters: - description: A list of IDs of groups to update. in: body name: body required: true schema: - items: - type: string - type: array + $ref: '#/definitions/GroupIdList' produces: - application/json responses: @@ -13477,6 +14605,11 @@ paths: summary: Remove API key from groups. tags: - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve groups associated with the API key. @@ -13540,6 +14673,7 @@ paths: post: consumes: - application/json + deprecated: true description: 'Add API key to groups. @@ -13592,6 +14726,119 @@ paths: summary: Add API key to a list of groups. tags: - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/api-keys/me/groups/add: + post: + consumes: + - application/json + description: 'Add API key to groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/add/ + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: addMyApiKeyToListedGroups + parameters: + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API key to a list of groups. + tags: + - Account - API keys + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/api-keys/me/groups/remove: + post: + consumes: + - application/json + description: 'Remove API key from groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: removeMyApiKeyFromListedGroups + parameters: + - description: A list of IDs of groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove API key from groups. + tags: + - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/api-keys/{apikey_id}: delete: @@ -13738,6 +14985,7 @@ paths: delete: consumes: - application/json + deprecated: true description: 'Remove API key from groups. @@ -13796,6 +15044,11 @@ paths: summary: Remove API key from groups. tags: - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve groups associated with the API key. @@ -13849,7 +15102,140 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummaryList' + $ref: '#/definitions/GroupSummaryList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An API key with the given ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get groups of the API key. + tags: + - Account - API keys + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + consumes: + - application/json + deprecated: true + description: 'Add API key to groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: addApiKeyToGroups + parameters: + - description: The ID of the API key to add to the group. + in: path + name: apikey_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + items: + type: string + type: array + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group or API key with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API key to a list of groups. + tags: + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/api-keys/{apikey_id}/groups/add: + post: + consumes: + - application/json + description: 'Add API key to groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/add + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: addApiKeyToListedGroups + parameters: + - description: The ID of the API key to add to the group. + in: path + name: apikey_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -13859,24 +15245,29 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An API key with the given ID does not exist. + description: A group or API key with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get groups of the API key. + '409': + description: The API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API key to a list of groups. tags: - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/api-keys/{apikey_id}/groups/remove: post: consumes: - application/json - description: 'Add API key to groups. + description: 'Remove API key from groups. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/remove \ -H ''Authorization: Bearer '' \ @@ -13886,9 +15277,9 @@ paths: -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: addApiKeyToGroups + operationId: removeApiKeyFromListedGroups parameters: - - description: The ID of the API key to add to the group. + - description: The ID of the API key to remove from the group. in: path name: apikey_id required: true @@ -13898,9 +15289,7 @@ paths: name: body required: true schema: - items: - type: string - type: array + $ref: '#/definitions/GroupIdList' produces: - application/json responses: @@ -13921,14 +15310,10 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: A group or API key with that ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: The API key is a member of the group already. + description: An API key with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Add API key to a list of groups. + summary: Remove API key from groups. tags: - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -14411,7 +15796,70 @@ paths: $ref: '#/definitions/InternalServerErrorResponse' summary: Get raw billing data of the firmware updates for the month. x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml + /v3/branding-colors: + delete: + description: 'Delete account branding colors for all themes. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors -H + ''Authorization: Bearer API_KEY''`' + operationId: deleteAllColors + parameters: [] + produces: + - application/json + responses: + '204': + description: Colors have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account branding colors not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete all colors. + tags: + - User interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/branding-colors/dark: + delete: + description: 'Delete account dark theme branding colors. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllDarkColors + parameters: [] + produces: + - application/json + responses: + '204': + description: Colors have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account branding colors not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete colors in the dark theme. + tags: + - User interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve the dark theme branding colors. @@ -14635,6 +16083,37 @@ paths: - User interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/branding-colors/light: + delete: + description: 'Delete account light theme branding colors. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllLightColors + parameters: [] + produces: + - application/json + responses: + '204': + description: Colors have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account branding colors not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete colors in the light theme. + tags: + - User interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve the light theme branding colors. @@ -14857,7 +16336,70 @@ paths: tags: - User interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/branding-images: + delete: + description: 'Delete account branding images for all themes. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-images -H + ''Authorization: Bearer API_KEY''`' + operationId: deleteAllImages + parameters: [] + produces: + - application/json + responses: + '204': + description: Images have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account branding images not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete all images. + tags: + - User interface configuration - images + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/branding-images/dark: + delete: + description: 'Delete account dark theme branding images. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-images/dark + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllDarkImages + parameters: [] + produces: + - application/json + responses: + '204': + description: Images have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account branding images not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete images in the dark theme. + tags: + - User interface configuration - images + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve metadata for all dark theme branding images. @@ -15103,6 +16645,37 @@ paths: - User interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/branding-images/light: + delete: + description: 'Delete account light theme branding images. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-images/light + -H ''Authorization: Bearer API_KEY''`' + operationId: deleteAllLightImages + parameters: [] + produces: + - application/json + responses: + '204': + description: Images have been deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account branding images not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete images in the light theme. + tags: + - User interface configuration - images + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve the metadata of all light theme branding images. @@ -22109,27 +23682,93 @@ paths: description: Refreshes an OIDC IdP's signing keys. operationId: refreshJwks parameters: - - description: The ID of the identity provider for which to refresh the signing - keys. + - description: The ID of the identity provider for which to refresh the signing + keys. + in: path + name: identity_provider_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + headers: + Content-Location: + description: /v3/identity-providers/{identity_provider_id} + type: string + schema: + $ref: '#/definitions/IdentityProviderInfo' + '400': + description: Not an OIDC IdP or JWKS URI is unspecified. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Identity provider not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Refreshes the OIDC signing keys. + tags: + - Account - identity providers + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/limitations: + get: + description: An endpoint for retrieving all limitations of an account. + operationId: getAccountLimitations + parameters: + - description: Filter for finding account limitations by inheritance. True returns + also inherited limitations. False returns only non-inherited ones. + in: query + name: inherited__eq + required: false + type: string + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/AccountLimitationList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get all limitations of an account. + tags: + - Account - limitations + x-filter: + inherited: + - eq + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/limitations/{limitation_id}: + get: + description: An endpoint for retrieving a limitation of an account. + operationId: getAccountLimitation + parameters: + - description: The ID of the limitation to be fetched. in: path - name: identity_provider_id + name: limitation_id required: true type: string produces: - application/json responses: '200': - description: Successful operation. - headers: - Content-Location: - description: /v3/identity-providers/{identity_provider_id} - type: string - schema: - $ref: '#/definitions/IdentityProviderInfo' - '400': - description: Not an OIDC IdP or JWKS URI is unspecified. + description: successful operation schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/AccountLimitation' '401': description: Authentication failure. schema: @@ -22139,12 +23778,12 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Identity provider not found. + description: Limitation with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Refreshes the OIDC signing keys. + summary: Get a limitation of an account. tags: - - Account - identity providers + - Account - limitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/metrics: get: @@ -22342,7 +23981,270 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummaryList' + $ref: '#/definitions/GroupSummaryList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get all group information. + tags: + - Account - policy groups + x-filter: + name: + - eq + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + consumes: + - application/json + description: 'Create a new group. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' -d ''{"name": "MyGroup1"}'' + + ```' + operationId: createGroup + parameters: + - description: Details of the group to create. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupCreationInfo' + produces: + - application/json + responses: + '201': + description: New entity created. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, invalid group name. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: A group with that name already exists. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Create a new group. + tags: + - Account - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/policy-groups/{group_id}: + delete: + description: 'Delete a group. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: deleteGroup + parameters: + - description: The ID of the group to delete. + in: path + name: group_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden, or Administrators group cannot be removed. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete a group. + tags: + - Account - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve general information about a group. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getGroupSummary + parameters: + - description: The ID of the group to retrieve. + in: path + name: group_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get group information. + tags: + - Account - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + consumes: + - application/json + description: 'Add users and API keys to a group. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: addSubjectsToGroup + parameters: + - description: The ID of the group to update. + in: path + name: group_id + required: true + type: string + - description: A list of users and API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the user or API key does + not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user of this API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add members to a group. + tags: + - Account - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + put: + consumes: + - application/json + description: 'Update a group name. + + + **Example:** + + ``` + + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "TestGroup2"}'' + + ```' + operationId: updateGroupName + parameters: + - description: The ID of the group to update. + in: path + name: group_id + required: true + type: string + - description: Details of the group to create. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupUpdateInfo' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the group name is too long. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -22351,47 +24253,59 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all group information. + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Update the group name. tags: - Account - policy groups - x-filter: - name: - - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - post: + /v3/policy-groups/{group_id}/api-keys: + delete: consumes: - application/json - description: 'Create a new group. + deprecated: true + description: 'Remove API keys from groups. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \ + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys + \ -H ''Authorization: Bearer '' \ - -H ''content-type: application/json'' -d ''{"name": "MyGroup1"}'' + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: createGroup + operationId: removeApiKeysFromGroup parameters: - - description: Details of the group to create. + - description: The ID of the group. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to remove from the group. in: body name: body required: true schema: - $ref: '#/definitions/GroupCreationInfo' + $ref: '#/definitions/SubjectList' produces: - application/json responses: - '201': - description: New entity created. + '200': + description: Successful operation. schema: $ref: '#/definitions/GroupSummary' '400': - description: Error in input data, for example, invalid group name. + description: Error in input data, for example, the array of API keys is + missing. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -22402,78 +24316,116 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '409': - description: A group with that name already exists. + '404': + description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Create a new group. + summary: Remove API keys from a group. tags: - Account - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/policy-groups/{group_id}: - delete: - description: 'Delete a group. + get: + description: 'Manage policy groups. **Example:** ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \ -H ''Authorization: Bearer '' ```' - operationId: deleteGroup + operationId: getApiKeysOfGroup parameters: - - description: The ID of the group to delete. + - description: The ID of the group. in: path name: group_id required: true type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to fetch after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string produces: - application/json responses: - '204': - description: Deleted successfully. + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, or Administrators group cannot be removed. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete a group. + summary: Get the API keys of a group. tags: - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve general information about a group. + post: + deprecated: true + description: 'Add API keys to the group. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \ -H ''Authorization: Bearer '' ```' - operationId: getGroupSummary + operationId: addApiKeysToGroup parameters: - - description: The ID of the group to retrieve. + - description: The ID of the group. in: path name: group_id required: true type: string + - description: A list of API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' produces: - application/json responses: @@ -22481,6 +24433,10 @@ paths: description: Successful operation. schema: $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the group Id does not exist. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -22493,38 +24449,42 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get group information. + '409': + description: The API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API keys to the group. tags: - Account - policy groups + x-deprecation: + comment: This endpoint is deprecated, use POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/policy-groups/{group_id}/api-keys/add: post: - consumes: - - application/json - description: 'Add users and API keys to a group. + description: 'Add API keys to the group. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{"users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + -H ''Authorization: Bearer '' ```' - operationId: addSubjectsToGroup + operationId: addListedApiKeysToGroup parameters: - - description: The ID of the group to update. + - description: The ID of the group. in: path name: group_id required: true type: string - - description: A list of users and API keys to add to the group. + - description: A list of API keys to add to the group. in: body name: body required: true @@ -22538,8 +24498,7 @@ paths: schema: $ref: '#/definitions/GroupSummary' '400': - description: Error in input data, for example, the user or API key does - not exist. + description: Error in input data, for example, the group Id does not exist. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -22555,46 +24514,47 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '409': - description: The user of this API key is a member of the group already. + description: The API key is a member of the group already. schema: $ref: '#/definitions/ErrorResponse' - summary: Add members to a group. + summary: Add API Keys to the group. tags: - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: + /v3/policy-groups/{group_id}/api-keys/remove: + post: consumes: - application/json - description: 'Update a group name. + description: 'Remove API keys from groups. **Example:** ``` - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys/remove \ -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''{"name": "TestGroup2"}'' + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: updateGroupName + operationId: removeListedApiKeysFromGroup parameters: - - description: The ID of the group to update. + - description: The ID of the group. in: path name: group_id required: true type: string - - description: Details of the group to create. + - description: A list of API keys to remove from the group. in: body name: body required: true schema: - $ref: '#/definitions/GroupUpdateInfo' + $ref: '#/definitions/SubjectList' produces: - application/json responses: @@ -22603,7 +24563,8 @@ paths: schema: $ref: '#/definitions/GroupSummary' '400': - description: Error in input data, for example, the group name is too long. + description: Error in input data, for example, the array of API keys is + missing. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -22618,22 +24579,23 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Update the group name. + summary: Remove API keys from a group. tags: - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/policy-groups/{group_id}/api-keys: + /v3/policy-groups/{group_id}/users: delete: consumes: - application/json - description: 'Remove API keys from groups. + deprecated: true + description: 'Manage policy groups. **Example:** ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \ -H ''Authorization: Bearer '' \ @@ -22643,14 +24605,14 @@ paths: -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: removeApiKeysFromGroup + operationId: removeUsersFromGroup parameters: - description: The ID of the group. in: path name: group_id required: true type: string - - description: A list of API keys to remove from the group. + - description: A list of users to remove from the group. in: body name: body required: true @@ -22664,8 +24626,8 @@ paths: schema: $ref: '#/definitions/GroupSummary' '400': - description: Error in input data, for example, the array of API keys is - missing. + description: Error in input data, for example, the user removing themselves + from the Administrators group. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -22680,25 +24642,30 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove API keys from a group. + summary: Remove users from a group. tags: - Account - policy groups + x-deprecation: + comment: This endpoint is deprecated, POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Manage policy groups. + description: 'Retrieve users of a group with details. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \ -H ''Authorization: Bearer '' ```' - operationId: getApiKeysOfGroup + operationId: getUsersOfGroup parameters: - description: The ID of the group. in: path @@ -22730,13 +24697,89 @@ paths: name: include required: false type: string + - description: An optional filter to retrieve users by status. + in: query + name: status__eq + required: false + type: string + - description: An optional filter to retrieve users with a specified set of + statuses. + in: query + name: status__in + required: false + type: string + - description: An optional filter to exclude users with a specified set of statuses. + in: query + name: status__nin + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoRespList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get users of a group. + tags: + - Account - policy groups + x-filter: + status: + - eq + - in + - nin + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + deprecated: true + description: 'Add users to the group. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: addUsersToGroup. + parameters: + - description: The ID of the group. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the group Id does not exist. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -22749,39 +24792,42 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get the API keys of a group. + '409': + description: The user is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add users to the group. tags: - Account - policy groups + x-deprecation: + comment: This endpoint is deprecated, POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/policy-groups/{group_id}/users: - delete: - consumes: - - application/json - description: 'Manage policy groups. + /v3/policy-groups/{group_id}/users/add: + post: + description: 'Add users to the group. **Example:** ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users/add \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -H ''Authorization: Bearer '' ```' - operationId: removeUsersFromGroup + operationId: addListedUsersToGroup. parameters: - description: The ID of the group. in: path name: group_id required: true type: string - - description: A list of users to remove from the group. + - description: A list of API keys to add to the group. in: body name: body required: true @@ -22795,8 +24841,7 @@ paths: schema: $ref: '#/definitions/GroupSummary' '400': - description: Error in input data, for example, the user removing themselves - from the Administrators group. + description: Error in input data, for example, the group Id does not exist. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -22811,79 +24856,60 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove users from a group. + '409': + description: The user is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add users to the group. tags: - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve users of a group with details. + /v3/policy-groups/{group_id}/users/remove: + post: + consumes: + - application/json + description: 'Manage policy groups. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users/remove \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: getUsersOfGroup + operationId: removeListedUsersFromGroup parameters: - description: The ID of the group. in: path name: group_id required: true type: string - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string - - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - in: query - name: include - required: false - type: string - - description: An optional filter to retrieve users by status. - in: query - name: status__eq - required: false - type: string - - description: An optional filter to retrieve users with a specified set of - statuses. - in: query - name: status__in - required: false - type: string - - description: An optional filter to exclude users with a specified set of statuses. - in: query - name: status__nin - required: false - type: string + - description: A list of users to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoRespList' + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the user removing themselves + from the Administrators group. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -22896,14 +24922,9 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get users of a group. + summary: Remove users from a group. tags: - Account - policy groups - x-filter: - status: - - eq - - in - - nin x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/server-credentials: get: @@ -25023,6 +27044,7 @@ paths: delete: consumes: - application/json + deprecated: true description: 'Remove user from groups. @@ -25081,6 +27103,11 @@ paths: summary: Remove user from groups. tags: - Account - users + x-deprecation: + comment: This endpoint is deprecated, use POST https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: description: 'Retrieve groups of the user. @@ -25154,6 +27181,7 @@ paths: post: consumes: - application/json + deprecated: true description: 'Add user to groups. @@ -25216,6 +27244,137 @@ paths: summary: Add user to a list of groups. tags: - Account - users + x-deprecation: + comment: This endpoint is deprecated, use POST https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/users/{user_id}/groups/add: + post: + consumes: + - application/json + description: 'Add user to groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups/add + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: addUserToListedGroups + parameters: + - description: The ID of the user to add to the group. + in: path + name: user_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A user or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add user to a list of groups. + tags: + - Account - users + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/users/{user_id}/groups/remove: + post: + consumes: + - application/json + description: 'Remove user from groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: removeUserFromListedGroups + parameters: + - description: The ID of the user to remove from the group. + in: path + name: user_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A user with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove user from groups. + tags: + - Account - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml produces: - application/json diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 27a66cf9c..585a33249 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -2136,9 +2136,126 @@ "entity_fieldname": "idle_timeout", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "api_fieldname": "limitations", + "entity_fieldname": "limitations", + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -2673,9 +2790,124 @@ "description": "The reference token expiration time, in minutes, for this account.", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -3271,6 +3503,7 @@ "expiration", "admin_id", "admin_key", + "limitations", "password_recovery_expiration", "business_model_history" ], @@ -3291,7 +3524,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "id", @@ -3710,7 +3943,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "id", @@ -4151,7 +4384,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "id", @@ -4570,7 +4803,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "id", @@ -5364,9 +5597,124 @@ "description": "The reference token expiration time, in minutes, for this account.", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -5869,9 +6217,124 @@ "description": "The reference token expiration time, in minutes, for this account.", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -6796,9 +7259,126 @@ "entity_fieldname": "idle_timeout", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "api_fieldname": "limitations", + "entity_fieldname": "limitations", + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -7333,9 +7913,124 @@ "description": "The reference token expiration time, in minutes, for this account.", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -7877,6 +8572,7 @@ "admin_key", "admin_password", "admin_full_name", + "limitations", "password_recovery_expiration", "business_model", "business_model_history" @@ -8237,9 +8933,126 @@ "entity_fieldname": "idle_timeout", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "api_fieldname": "limitations", + "entity_fieldname": "limitations", + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -8774,9 +9587,124 @@ "description": "The reference token expiration time, in minutes, for this account.", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -9390,6 +10318,7 @@ "admin_key", "admin_password", "admin_full_name", + "limitations", "password_recovery_expiration", "business_model", "business_model_history" @@ -10697,9 +11626,126 @@ "entity_fieldname": "idle_timeout", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "api_fieldname": "limitations", + "entity_fieldname": "limitations", + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -11234,9 +12280,124 @@ "description": "The reference token expiration time, in minutes, for this account.", "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -11901,6 +13062,7 @@ "admin_key", "admin_password", "admin_full_name", + "limitations", "business_model_history" ], "group_id": "Accounts", @@ -13617,9 +14779,127 @@ "required": false, "_key": "idle_timeout" }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "api_fieldname": "limitations", + "readOnly": true, + "required": false, + "_key": "limitations" + }, { "type": "object", "x-nullable": true, + "deprecated": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Superseded by the limitations parameter." + }, "description": "List of limits as key-value pairs if requested.", "additionalProperties": { "type": "string" @@ -58154,7 +59434,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -58455,7 +59735,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -58837,7 +60117,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -59392,7 +60672,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -59711,7 +60991,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -60124,7 +61404,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -62971,7 +64251,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -65625,7 +66905,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -65926,7 +67206,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -66308,7 +67588,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -66863,7 +68143,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -67182,7 +68462,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -67595,7 +68875,7 @@ { "name": "account_id", "in": "path", - "description": "Account ID.", + "description": "The ID of the account.", "required": true, "type": "string", "entity_fieldname": "account_id", @@ -69664,7 +70944,7 @@ "_key": "read" }, { - "description": "List users of the group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "List a group's users, with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index d9c914dcd..1dd7c85ea 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -254,14 +254,101 @@ entities: required: false type: integer x-nullable: true + - _key: limitations + api_fieldname: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation is inherited + from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + readOnly: true + required: false + type: array - _key: limits additionalProperties: type: string api_fieldname: limits + deprecated: true description: List of limits as key-value pairs if requested. readOnly: true required: false type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status api_fieldname: mfa_status @@ -991,6 +1078,7 @@ entities: - expiration - admin_id - admin_key + - limitations - password_recovery_expiration - business_model_history field_renames: [] @@ -1489,13 +1577,99 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + api_fieldname: limitations + description: List of account limitation objects. + entity_fieldname: limitations + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation is + inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string api_fieldname: limits + deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status api_fieldname: mfa_status @@ -1904,11 +2078,95 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation + is inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string + deprecated: true description: List of limits as key-value pairs if requested. type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status description: The enforcement status of multi-factor authentication, @@ -2357,7 +2615,7 @@ entities: fields: - _key: id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: id external_param: false in: path @@ -2669,7 +2927,7 @@ entities: fields: - _key: id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: id external_param: false in: path @@ -3003,7 +3261,7 @@ entities: fields: - _key: id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: id external_param: false in: path @@ -3315,7 +3573,7 @@ entities: fields: - _key: id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: id external_param: false in: path @@ -3939,11 +4197,95 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation + is inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string + deprecated: true description: List of limits as key-value pairs if requested. type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status description: The enforcement status of multi-factor authentication, @@ -4321,11 +4663,95 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation + is inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string + deprecated: true description: List of limits as key-value pairs if requested. type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status description: The enforcement status of multi-factor authentication, @@ -4809,6 +5235,7 @@ entities: - admin_key - admin_password - admin_full_name + - limitations - password_recovery_expiration - business_model - business_model_history @@ -5086,13 +5513,99 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + api_fieldname: limitations + description: List of account limitation objects. + entity_fieldname: limitations + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation is + inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string api_fieldname: limits + deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status api_fieldname: mfa_status @@ -5501,11 +6014,95 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation + is inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string + deprecated: true description: List of limits as key-value pairs if requested. type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status description: The enforcement status of multi-factor authentication, @@ -5937,6 +6534,7 @@ entities: - admin_key - admin_password - admin_full_name + - limitations - password_recovery_expiration - business_model - business_model_history @@ -6222,13 +6820,99 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + api_fieldname: limitations + description: List of account limitation objects. + entity_fieldname: limitations + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation is + inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string api_fieldname: limits + deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status api_fieldname: mfa_status @@ -6637,11 +7321,95 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation + is inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string + deprecated: true description: List of limits as key-value pairs if requested. type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status description: The enforcement status of multi-factor authentication, @@ -7587,6 +8355,7 @@ entities: - admin_key - admin_password - admin_full_name + - limitations - business_model_history field_renames: [] fields: @@ -8128,13 +8897,99 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + api_fieldname: limitations + description: List of account limitation objects. + entity_fieldname: limitations + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation is + inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string api_fieldname: limits + deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status api_fieldname: mfa_status @@ -8543,11 +9398,95 @@ entities: minimum: 1 type: integer x-nullable: true + - _key: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation + is inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: limits additionalProperties: type: string + deprecated: true description: List of limits as key-value pairs if requested. type: object + x-deprecation: + comment: Superseded by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true - _key: mfa_status description: The enforcement status of multi-factor authentication, @@ -44105,7 +45044,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -44331,7 +45270,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -44614,7 +45553,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -45033,7 +45972,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -45278,7 +46217,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -45558,7 +46497,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -47647,7 +48586,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: false in: path @@ -49537,7 +50476,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -49762,7 +50701,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -50045,7 +50984,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -50462,7 +51401,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -50707,7 +51646,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -50985,7 +51924,7 @@ entities: fields: - _key: account_id api_fieldname: account_id - description: Account ID. + description: The ID of the account. entity_fieldname: account_id external_param: true in: path @@ -52489,7 +53428,7 @@ entities: x_deprecation: null x_filter: {} - _key: users - description: 'List users of the group with details. + description: 'List a group''s users, with details. **Example:** From 8b81fad850d89e8ddc8597b59ae391b338aed25a Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 25 Sep 2019 12:48:47 +0000 Subject: [PATCH 011/111] new SDK config changes via api-contract @ 2019-09-25 12:48 --- .../public/pelion_dm_public_openapi.yaml | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index d7ab57dff..80eb4e3ba 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7751,13 +7751,14 @@ paths: tags: - Resources x-deprecation: - comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. The /v2/device-requests/{device-id} endpoint lets you use your own async-id, and simplifies integration by returning cached values as events through the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' - links: [] + links: + - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest x-origin: /home/circleci/project/device-server/public/swagger.yaml get: deprecated: true @@ -7859,13 +7860,14 @@ paths: tags: - Resources x-deprecation: - comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. The /v2/device-requests/{device-id} endpoint lets you use your own async-id, and simplifies integration by returning cached values as events through the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' - links: [] + links: + - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest x-origin: /home/circleci/project/device-server/public/swagger.yaml post: consumes: @@ -7970,13 +7972,14 @@ paths: tags: - Resources x-deprecation: - comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. The /v2/device-requests/{device-id} enables you to use your own async-id and simplifies the integration by returning also the cached values as events via the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' - links: [] + links: + - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest x-origin: /home/circleci/project/device-server/public/swagger.yaml put: consumes: @@ -8093,13 +8096,14 @@ paths: tags: - Resources x-deprecation: - comment: /v2/endpoints/{device-id}/{resourcePath} is replaced with [/v2/device-requests/{device-id}](../service-api-references/device-management-connect.html#createAsyncRequest). + comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. The /v2/device-requests/{device-id} endpoint lets you use your own async-id, and simplifies integration by returning cached values as events through the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' - links: [] + links: + - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/notification/callback: delete: From f01a4c1a4a0bc0f5c3a48ecdd0fbfecaa0ba3ac2 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 4 Oct 2019 10:15:44 +0000 Subject: [PATCH 012/111] new SDK config changes via api-contract @ 2019-10-04 10:15 --- .../public/pelion_dm_public_openapi.yaml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 80eb4e3ba..af540a1c0 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7752,9 +7752,6 @@ paths: - Resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. - The /v2/device-requests/{device-id} endpoint lets you use your own async-id, - and simplifies integration by returning cached values as events through - the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' links: @@ -7862,8 +7859,8 @@ paths: x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. The /v2/device-requests/{device-id} endpoint lets you use your own async-id, - and simplifies integration by returning cached values as events through - the event notification channel. + and simplifies integration by returning all resource values, cached and + non-cached, through the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' links: @@ -7973,9 +7970,6 @@ paths: - Resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. - The /v2/device-requests/{device-id} enables you to use your own async-id - and simplifies the integration by returning also the cached values as events - via the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' links: @@ -8097,9 +8091,6 @@ paths: - Resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. - The /v2/device-requests/{device-id} endpoint lets you use your own async-id, - and simplifies integration by returning cached values as events through - the event notification channel. end_of_life_at: 2020-05-017T00:00:00+00:00 issued_at: '2019-05-17T15:23:00+00:00' links: From ad504659b585e24cb2fec1569b3d227418b38b5b Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 10 Oct 2019 07:46:29 +0000 Subject: [PATCH 013/111] new SDK config changes via api-contract @ 2019-10-10 07:46 --- .../public/sdk_foundation_definition.json | 17918 +++++++++------- .../public/sdk_foundation_definition.yaml | 2546 ++- 2 files changed, 12550 insertions(+), 7914 deletions(-) diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 585a33249..38c3aed99 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -26,6 +26,7 @@ ], "enums": [ "policy_inherited_type_enum", + "login_profile_type_enum", "user_status_enum", "user_order_enum", "subtenant_user_status_enum", @@ -42,6 +43,7 @@ "policy_group_order_enum", "subtenant_policy_group_order_enum", "identity_provider_status_enum", + "identity_provider_type_enum", "identity_provider_order_enum", "identity_provider_algorithm_enum", "subtenant_identity_provider_status_enum", @@ -533,6 +535,19 @@ "group_id": "Accounts", "_key": "identity_provider_status_enum" }, + { + "entity_name": "identity_provider", + "field_name": "identity_provider_type", + "enum_name": "identity_provider_type_enum", + "values": [ + "MBED", + "NATIVE", + "OIDC", + "SAML2" + ], + "group_id": "Accounts", + "_key": "identity_provider_type_enum" + }, { "entity_name": "light_theme_color", "field_name": "reference", @@ -604,6 +619,19 @@ "group_id": "Branding", "_key": "light_theme_image_reference_enum" }, + { + "entity_name": "login_profile", + "field_name": "login_profile_type", + "enum_name": "login_profile_type_enum", + "values": [ + "MBED", + "NATIVE", + "OIDC", + "SAML2" + ], + "group_id": "Accounts", + "_key": "login_profile_type_enum" + }, { "entity_name": "oidc_request", "field_name": "token_request_mode", @@ -13276,7 +13304,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -14041,7 +14069,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -45169,7 +45197,12 @@ "methods": [ { "description": "Create a new identity provider.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "type": "string", @@ -45195,6 +45228,23 @@ "required": false, "_key": "discovery" }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "identity_provider_type", + "parameter_fieldname": "type", + "in": "body", + "required": true, + "enum_reference": "identity_provider_type_enum", + "_key": "identity_provider_type" + }, { "type": "string", "maxLength": 100, @@ -45652,7 +45702,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "identity_provider_type", "_key": "type" }, { @@ -45925,7 +45975,12 @@ }, { "description": "Delete an identity provider by ID.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "name": "identity_provider_id", @@ -46195,7 +46250,12 @@ }, { "description": "Delete a service provider certificate.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "type": "string", @@ -46377,7 +46437,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "identity_provider_type", "_key": "type" }, { @@ -46639,7 +46699,8 @@ "status", "saml2_attributes", "account_id", - "is_default" + "is_default", + "identity_provider_type" ], "group_id": "Accounts", "parameter_map": { @@ -46653,7 +46714,12 @@ }, { "description": "Generate a new service provider certificate.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "type": "string", @@ -46875,7 +46941,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "identity_provider_type", "_key": "type" }, { @@ -47210,7 +47276,8 @@ "status", "saml2_attributes", "account_id", - "is_default" + "is_default", + "identity_provider_type" ], "group_id": "Accounts", "parameter_map": { @@ -47224,7 +47291,12 @@ }, { "description": "Retrieve identity providers in an array.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "type": "string", @@ -47705,7 +47777,12 @@ }, { "description": "Retrieve by ID.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "type": "string", @@ -47880,7 +47957,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "identity_provider_type", "_key": "type" }, { @@ -48142,7 +48219,8 @@ "status", "saml2_attributes", "account_id", - "is_default" + "is_default", + "identity_provider_type" ], "group_id": "Accounts", "parameter_map": { @@ -48156,7 +48234,12 @@ }, { "description": "Refreshes an OIDC IdP's signing keys.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "type": "string", @@ -48338,7 +48421,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "identity_provider_type", "_key": "type" }, { @@ -48673,7 +48756,8 @@ "status", "saml2_attributes", "account_id", - "is_default" + "is_default", + "identity_provider_type" ], "group_id": "Accounts", "parameter_map": { @@ -48687,7 +48771,12 @@ }, { "description": "Update an existing identity provider.", - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "fields": [ { "type": "string", @@ -48725,6 +48814,23 @@ "required": true, "_key": "id" }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "identity_provider_type", + "parameter_fieldname": "type", + "in": "body", + "required": true, + "enum_reference": "identity_provider_type_enum", + "_key": "identity_provider_type" + }, { "type": "string", "maxLength": 100, @@ -49170,7 +49276,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "identity_provider_type", "_key": "type" }, { @@ -49554,6 +49660,21 @@ "required": true, "_key": "id" }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "readOnly": false, + "required": true, + "enum_reference": "identity_provider_type_enum", + "_key": "identity_provider_type" + }, { "type": "boolean", "description": "Flag indicating whether this is the global default identity provider.", @@ -49651,7 +49772,12 @@ "_key": "updated_at" } ], - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "identity_provider_type" + } + ], "tags": [ "Account - identity providers" ], @@ -52957,6 +53083,21 @@ "required": false, "_key": "id" }, + { + "type": "string", + "description": "Identity provider type.", + "readOnly": true, + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "required": false, + "enum_reference": "login_profile_type_enum", + "_key": "login_profile_type" + }, { "type": "string", "readOnly": false, @@ -52967,7 +53108,12 @@ "_key": "name" } ], - "field_renames": [], + "field_renames": [ + { + "api_fieldname": "type", + "_key": "login_profile_type" + } + ], "tags": [], "group_id": "Accounts", "_key": "login_profile" @@ -53464,8 +53610,10 @@ { "swagger_models": [ "ApiKeyInfoRespList", + "GroupCreationInfo", "GroupSummary", "GroupSummaryList", + "GroupUpdateInfo", "UserInfoRespList" ], "primary_key_field": "id", @@ -54015,215 +54163,128 @@ "_key": "api_keys" }, { - "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Create a new group.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' -d '{\"name\": \"MyGroup1\"}'\n```", "field_renames": [], "fields": [ { - "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, - "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", + "type": "object", + "properties": [ + { + "type": "array", + "description": "An array of API key IDs.", + "items": { + "type": "string" + }, + "_key": "apikeys" + }, + { + "type": "array", + "description": "An array of user IDs.", + "items": { + "type": "string" + }, + "_key": "users" + } + ], + "description": "Represents arrays of user and API key IDs.", + "name": "members", + "in": "body", + "schema_param": true, + "entity_fieldname": "members", + "api_fieldname": "members", "external_param": true, - "parameter_fieldname": "include", - "_key": "include" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", + "parameter_fieldname": "members", "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" + "_key": "members" }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "policy_group_order_enum", - "_key": "order" + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" } ], - "method": "get", - "mode": "list", + "method": "post", + "mode": "create", "responses": [ { - "description": "Successful operation.", + "description": "New entity created.", "schema": { "type": "object", "required": [ - "data", - "has_more", - "limit", + "account_id", + "apikey_count", + "etag", + "id", + "name", "object", - "total_count" + "user_count" ], "properties": [ { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { - "type": "array", - "description": "A list of entities.", - "items": { - "type": "object", - "required": [ - "account_id", - "apikey_count", - "etag", - "id", - "name", - "object", - "user_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "_key": "created_at" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always `group`.", - "enum": [ - "group" - ], - "_key": "object" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "_key": "user_count" - } - ], - "description": "This object contains basic information about groups.", - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - } - }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "entity_fieldname": "apikey_count", + "_key": "apikey_count" }, { - "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" }, { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" }, { "type": "string", - "description": "Entity name: always `list`.", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", "enum": [ - "list" + "group" ], "api_fieldname": "object", "entity_fieldname": "object", @@ -54231,42 +54292,106 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "subtenant_api_key_order_enum", - "_key": "order" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" }, { "type": "integer", "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "entity_fieldname": "user_count", + "_key": "user_count" } ], - "pagination": true, + "description": "This object contains basic information about groups.", "foreign_key": { "group": "Accounts", - "entity": "policy_group" + "entity": "subtenant_policy_group" } }, - "_key": "200" + "_key": "201" }, { - "description": "Authentication failure.", + "description": "Error in input data, for example, invalid group name.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", "schema": { "type": "object", "required": [ @@ -54410,170 +54535,136 @@ ] }, "_key": "403" + }, + { + "description": "A group with that name already exists.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "409" } ], "path": "/v3/policy-groups", - "summary": "Get all group information.", - "return_type": "paginated_response(policy_group)", + "summary": "Create a new group.", + "return_type": "policy_group", "return_info": { "self": true, "custom": false, "type": "policy_group" }, - "x_filter": { - "name": [ - "eq" - ] - }, + "x_filter": {}, "x_deprecation": null, "drop_fields": [ "object", "etag", "type", "filter", - "total_count", - "has_more", - "data", - "name__eq" + "id", + "created_at", + "updated_at", + "account_id", + "user_count", + "apikey_count" ], - "foreign_key_priority": "self", "group_id": "Accounts", "parameter_map": { "group_id": "id" }, - "operation_id": "getAllGroups", - "pagination": true, - "foreign_key": { - "group": "Accounts", - "entity": "policy_group" - }, + "operation_id": "createGroup", + "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "list" + "_key": "create" }, { - "description": "Retrieve general information about a group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a group.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { + "name": "group_id", + "in": "path", + "description": "The ID of the group to delete.", + "required": true, "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", "entity_fieldname": "id", + "api_fieldname": "group_id", + "external_param": false, "parameter_fieldname": "group_id", - "in": "path", - "required": true, "_key": "id" } ], - "method": "get", - "mode": "read", + "method": "delete", + "mode": "delete", "responses": [ { - "description": "Successful operation.", - "schema": { - "type": "object", - "required": [ - "account_id", - "apikey_count", - "etag", - "id", - "name", - "object", - "user_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "api_fieldname": "apikey_count", - "entity_fieldname": "apikey_count", - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always `group`.", - "enum": [ - "group" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "api_fieldname": "user_count", - "entity_fieldname": "user_count", - "_key": "user_count" - } - ], - "description": "This object contains basic information about groups.", - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - } - }, - "_key": "200" + "description": "Deleted successfully.", + "_key": "204" }, { "description": "Authentication failure.", @@ -54649,7 +54740,7 @@ "_key": "401" }, { - "description": "Forbidden.", + "description": "Forbidden, or Administrators group cannot be removed.", "schema": { "type": "object", "required": [ @@ -54796,7 +54887,7 @@ } ], "path": "/v3/policy-groups/{group_id}", - "summary": "Get group information.", + "summary": "Delete a group.", "return_type": "policy_group", "return_info": { "self": true, @@ -54809,26 +54900,20 @@ "object", "etag", "type", - "filter", - "created_at", - "updated_at", - "account_id", - "name", - "user_count", - "apikey_count" + "filter" ], "group_id": "Accounts", "parameter_map": { "group_id": "id" }, - "operation_id": "getGroupSummary", + "operation_id": "deleteGroup", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "delete" }, { - "description": "Retrieve users of a group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -54845,18 +54930,6 @@ "parameter_fieldname": "after", "_key": "after" }, - { - "name": "group_id", - "in": "path", - "description": "The ID of the group.", - "required": true, - "type": "string", - "entity_fieldname": "id", - "api_fieldname": "group_id", - "external_param": false, - "parameter_fieldname": "group_id", - "_key": "id" - }, { "name": "include", "in": "query", @@ -54904,7 +54977,7 @@ } ], "method": "get", - "mode": "users", + "mode": "list", "responses": [ { "description": "Successful operation.", @@ -54939,101 +55012,27 @@ "type": "object", "required": [ "account_id", - "email", + "apikey_count", "etag", "id", + "name", "object", - "status" + "user_count" ], "properties": [ { "type": "string", "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", + "description": "The ID of the account this group belongs to.", "pattern": "[a-f0-9]{32}", "_key": "account_id" }, { - "type": "array", - "description": "List of active user sessions.", - "items": { - "type": "object", - "required": [ - "account_id", - "ip_address", - "login_time", - "object", - "reference_token", - "user_agent" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The UUID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "example": "127.0.0.1", - "description": "IP address of the client.", - "api_fieldname": "ip_address", - "entity_fieldname": "ip_address", - "_key": "ip_address" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T17:52:07Z", - "description": "The login time of the user.", - "api_fieldname": "login_time", - "entity_fieldname": "login_time", - "_key": "login_time" - }, - { - "type": "string", - "description": "Entity name: always 'user-session'", - "enum": [ - "user-session" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "example": "rt_CI6+5hS8p9DrCmkRyS6u4doUdiXr71dX7MqD+g0327hYQthEkYTxMMnCwHyf1rDdk", - "description": "The reference token.", - "api_fieldname": "reference_token", - "entity_fieldname": "reference_token", - "_key": "reference_token" - }, - { - "type": "string", - "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", - "description": "User Agent header from the login request.", - "api_fieldname": "user_agent", - "entity_fieldname": "user_agent", - "_key": "user_agent" - } - ], - "description": "Represents an active user session.", - "foreign_key": { - "group": "Accounts", - "entity": "active_session" - } - }, - "_key": "active_sessions" - }, - { - "type": "string", - "example": "110 Fulbourn Rd, Cambridge, United Kingdom", - "description": "Address.", - "x-nullable": true, - "_key": "address" + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "_key": "apikey_count" }, { "type": "string", @@ -55042,35 +55041,6 @@ "description": "Creation UTC time RFC3339.", "_key": "created_at" }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "A timestamp of the user creation in the storage, in milliseconds.", - "_key": "creation_time" - }, - { - "type": "object", - "x-nullable": true, - "description": "User's account-specific custom properties. The value is a string.", - "additionalProperties": { - "type": "string" - }, - "_key": "custom_fields" - }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "example": "user@arm.com", - "description": "The email address.", - "_key": "email" - }, - { - "type": "boolean", - "example": true, - "description": "A flag indicating whether the user's email address has been verified or not.", - "_key": "email_verified" - }, { "type": "string", "example": "1", @@ -55079,230 +55049,45 @@ }, { "type": "string", - "maxLength": 100, - "example": "User Doe", - "x-nullable": true, - "description": "The full name of the user.", - "_key": "full_name" - }, - { - "type": "array", - "description": "A list of IDs of the groups this user belongs to.", - "items": { - "type": "string" - }, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the user.", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", "pattern": "[a-f0-9]{32}", "_key": "id" }, { - "type": "boolean", - "example": true, - "description": "A flag indicating that the user has accepted General Terms and Conditions.", - "_key": "is_gtc_accepted" + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "_key": "name" }, { - "type": "boolean", - "example": true, - "description": "A flag indicating that the user has consented to receive marketing information.", - "_key": "is_marketing_accepted" + "type": "string", + "description": "Entity name: always `group`.", + "enum": [ + "group" + ], + "_key": "object" }, { - "type": "boolean", - "example": true, - "description": "A flag indicating whether two-factor authentication (TOTP) has been enabled.", - "_key": "is_totp_enabled" + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" }, { "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "A timestamp of the latest login of the user, in milliseconds.", - "_key": "last_login_time" - }, - { - "type": "array", - "maxItems": 5, - "description": "Timestamps, succeedings, IP addresses and user agent information of the last five logins of the user, with timestamps in RFC3339 format.", - "items": { - "type": "object", - "required": [ - "date", - "ip_address", - "success", - "user_agent" - ], - "properties": [ - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T17:52:07Z", - "description": "UTC time RFC3339 for this login attempt.", - "api_fieldname": "date", - "entity_fieldname": "date", - "_key": "date" - }, - { - "type": "string", - "example": "127.0.0.1", - "description": "IP address of the client.", - "api_fieldname": "ip_address", - "entity_fieldname": "ip_address", - "_key": "ip_address" - }, - { - "type": "boolean", - "example": true, - "description": "Flag indicating whether login attempt was successful or not.", - "api_fieldname": "success", - "entity_fieldname": "success", - "_key": "success" - }, - { - "type": "string", - "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", - "description": "User Agent header from the login request.", - "api_fieldname": "user_agent", - "entity_fieldname": "user_agent", - "_key": "user_agent" - } - ], - "description": "Represents an entry in login history.", - "foreign_key": { - "group": "Accounts", - "entity": "login_history" - } - }, - "_key": "login_history" - }, - { - "type": "array", - "description": "A list of login profiles for the user. Specified as the identity providers the user is associated with.", - "x-nullable": true, - "items": { - "type": "object", - "required": [ - "id" - ], - "properties": [ - { - "type": "string", - "description": "ID of the identity provider.", - "readOnly": false, - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "readOnly": false, - "description": "Name of the identity provider.", - "_override": true, - "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" - }, - { - "type": "string", - "description": "Identity provider type.", - "readOnly": true, - "enum": [ - "NATIVE", - "MBED", - "SAML2", - "OIDC" - ], - "api_fieldname": "type", - "entity_fieldname": "type", - "_key": "type" - } - ], - "description": "Represents a user login profile in Device Management.", - "foreign_key": { - "group": "Accounts", - "entity": "login_profile" - } - }, - "_key": "login_profiles" - }, - { - "type": "string", - "description": "Entity name: always `user`.", - "enum": [ - "user" - ], - "_key": "object" - }, - { - "type": "string", - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password when creating a new user. It will be generated when not present in the request.", - "x-nullable": true, - "_key": "password" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "A timestamp of the latest change of the user password, in milliseconds.", - "_key": "password_changed_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "+44 (1223) 400 400", - "description": "Phone number.", - "x-nullable": true, - "_key": "phone_number" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the user. ENROLLING state indicates that the user is in the middle of the enrollment process. INVITED means that the user has not accepted the invitation request. RESET means that the password must be changed immediately. INACTIVE users are locked out and not permitted to use the system.", - "enum": [ - "ENROLLING", - "INVITED", - "ACTIVE", - "RESET", - "INACTIVE" - ], - "_key": "status" - }, - { - "type": "array", - "x-nullable": true, - "description": "A list of scratch codes for the two-factor authentication. Visible only when 2FA is requested to be enabled or the codes regenerated.", - "items": { - "type": "string" - }, - "_key": "totp_scratch_codes" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - }, - { - "pattern": "[\\w\\-,._@+=]{4,30}", - "type": "string", - "example": "admin", - "description": "A username.", - "x-nullable": true, - "_key": "username" + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "_key": "user_count" } ], - "description": "Represents a user in Device Management.", + "description": "This object contains basic information about groups.", "foreign_key": { "group": "Accounts", - "entity": "user" + "entity": "subtenant_policy_group" } }, "api_fieldname": "data", @@ -55357,7 +55142,7 @@ "default": "ASC", "external_param": true, "parameter_fieldname": "order", - "enum_reference": "account_order_enum", + "enum_reference": "subtenant_api_key_order_enum", "_key": "order" }, { @@ -55373,7 +55158,317 @@ "pagination": true, "foreign_key": { "group": "Accounts", - "entity": "user" + "entity": "policy_group" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + } + ], + "path": "/v3/policy-groups", + "summary": "Get all group information.", + "return_type": "paginated_response(policy_group)", + "return_info": { + "self": true, + "custom": false, + "type": "policy_group" + }, + "x_filter": { + "name": [ + "eq" + ] + }, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "total_count", + "has_more", + "data", + "name__eq" + ], + "foreign_key_priority": "self", + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "getAllGroups", + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "policy_group" + }, + "request_content_type": "application/json", + "request_body": "json", + "_key": "list" + }, + { + "description": "Retrieve general information about a group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "group_id", + "in": "path", + "required": true, + "_key": "id" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "account_id", + "apikey_count", + "etag", + "id", + "name", + "object", + "user_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "entity_fieldname": "apikey_count", + "_key": "apikey_count" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", + "enum": [ + "group" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "entity_fieldname": "user_count", + "_key": "user_count" + } + ], + "description": "This object contains basic information about groups.", + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" } }, "_key": "200" @@ -55598,817 +55693,249 @@ "_key": "404" } ], - "path": "/v3/policy-groups/{group_id}/users", - "summary": "Get users of a group.", - "return_type": "paginated_response(user)", + "path": "/v3/policy-groups/{group_id}", + "summary": "Get group information.", + "return_type": "policy_group", "return_info": { - "self": false, + "self": true, "custom": false, - "type": "user" - }, - "x_filter": { - "status": [ - "eq", - "in", - "nin" - ] + "type": "policy_group" }, + "x_filter": {}, "x_deprecation": null, "drop_fields": [ "object", "etag", "type", "filter", - "total_count", - "has_more", - "data", - "status__eq", - "status__in", - "status__nin" + "created_at", + "updated_at", + "account_id", + "name", + "user_count", + "apikey_count" ], "group_id": "Accounts", "parameter_map": { "group_id": "id" }, - "operation_id": "getUsersOfGroup", - "foreign_key": { - "entity": "user" - }, - "pagination": true, - "request_content_type": "application/json", - "request_body": "json", - "_key": "users" - } - ], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "readOnly": true, - "required": false, - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "api_fieldname": "apikey_count", - "readOnly": true, - "required": false, - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "readOnly": false, - "required": true, - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "api_fieldname": "name", - "readOnly": true, - "required": false, - "_key": "name" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "readOnly": true, - "required": false, - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "api_fieldname": "user_count", - "readOnly": true, - "required": false, - "_key": "user_count" - } - ], - "field_renames": [], - "tags": [ - "Account - policy groups" - ], - "group_id": "Accounts", - "_key": "policy_group" - }, - { - "swagger_models": [ - "ListOfPreSharedKeysWithoutSecret", - "PreSharedKey", - "PreSharedKeyWithoutSecret" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "Upload a PSK for an endpoint to allow it to bootstrap. The existing key cannot be overwritten, but needs\nto be deleted first in the case of re-setting a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```", - "field_renames": [], - "fields": [ - { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", - "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "pattern": "^[ -~]{16,64}$", - "example": "my-endpoint-0001", - "name": "endpoint_name", - "in": "body", - "schema_param": true, - "_key": "id" - }, - { - "type": "string", - "pattern": "^(0[xX])?[0-9a-fA-F]{32,64}$", - "description": "The secret of the PSK in hexadecimal. It is not case sensitive; 4a is same as 4A, and it is allowed with or without 0x in the beginning. The minimum length of the secret is 128 bits and maximum 256 bits.", - "example": "4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", - "name": "secret_hex", - "in": "body", - "schema_param": true, - "entity_fieldname": "secret_hex", - "api_fieldname": "secret_hex", - "external_param": true, - "parameter_fieldname": "secret_hex", - "required": true, - "_key": "secret_hex" - } - ], - "method": "post", - "mode": "create", - "responses": [ - { - "description": "Successfully created.", - "_key": "201" - }, - { - "description": "Bad request. Contains comma-separated errors INVALID_ENDPOINT_NAME, INVALID_SECRET_HEX, and MALFORMED_JSON_CONTENT.", - "schema": { - "type": "string" - }, - "_key": "400" - }, - { - "description": "Authentication failure.", - "_key": "401" - }, - { - "description": "Forbidden. You need to read and accept the PSK license in Device Management Portal.", - "_key": "403" - }, - { - "description": "Conflict. The PSK for the endpoint already exists and cannot be overwritten. Contains error KEY_ALREADY_EXISTS_FOR_ENDPOINT.", - "schema": { - "type": "string" - }, - "_key": "409" - } - ], - "path": "/v2/device-shared-keys", - "summary": "Upload a PSK to Pelion Device Management.", - "return_type": "pre_shared_key", - "return_info": { - "self": true, - "custom": false, - "type": "pre_shared_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "uploadPreSharedKey", + "operation_id": "getGroupSummary", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "create" + "_key": "read" }, { - "description": "Remove a PSK.\n\n**Example:**\n\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", + "description": "Update a group name.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", "field_renames": [], "fields": [ { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "id", "entity_fieldname": "id", - "name": "endpoint_name", + "parameter_fieldname": "group_id", "in": "path", "required": true, "_key": "id" - } - ], - "method": "delete", - "mode": "delete", - "responses": [ - { - "description": "Successfully deleted. Responds even if the endpoint does not have an associated PSK.", - "_key": "204" - }, - { - "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", - "schema": { - "type": "string" - }, - "_key": "400" - }, - { - "description": "Authentication failure.", - "_key": "401" - } - ], - "path": "/v2/device-shared-keys/{endpoint_name}", - "summary": "Remove a PSK.", - "return_type": "pre_shared_key", - "return_info": { - "self": true, - "custom": false, - "type": "pre_shared_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "deletePreSharedKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "delete" - }, - { - "description": "Retrieve pre-shared keys (PSKs) with pagination. Default page size of 50 entries.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [ - { - "type": "string", - "description": "An offset token for fetching a specific page. Provided by the server.", - "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" }, { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "integer", - "description": "The number of entries per page.", - "example": 50, - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" } ], - "method": "get", - "mode": "list", + "method": "put", + "mode": "update", "responses": [ { - "description": "List of PSKs.", + "description": "Successful operation.", "schema": { "type": "object", "required": [ + "account_id", + "apikey_count", + "etag", + "id", + "name", "object", - "limit", - "order", - "has_more", - "data" + "user_count" ], "properties": [ { "type": "string", - "description": "An offset token for current page.", - "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", - "api_fieldname": "after", - "entity_fieldname": "after", - "_key": "after" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "entity_fieldname": "apikey_count", + "_key": "apikey_count" }, { "type": "string", - "description": "An offset token for fetching the next page. Note that exactly the same limit needs to be used on the request for fetching subsequent pages.", - "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810005", - "api_fieldname": "continuation_marker", - "entity_fieldname": "continuation_marker", - "_key": "continuation_marker" + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", + "enum": [ + "group" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "entity_fieldname": "user_count", + "_key": "user_count" + } + ], + "description": "This object contains basic information about groups.", + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" + } + }, + "_key": "200" + }, + { + "description": "Error in input data, for example, the group name is too long.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" }, { "type": "array", - "description": "Array of the PSK entries. The array is empty if there are no PSKs.", - "minLength": 0, + "description": "Request fields which failed validation.", "items": { "type": "object", "required": [ - "endpoint_name" + "name", + "message" ], "properties": [ { "type": "string", - "format": "date-time", - "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", - "example": "2017-07-21T17:32:28.012Z", - "_key": "created_at" + "description": "Message describing the error condition.", + "_key": "message" }, { "type": "string", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "_key": "endpoint_name" + "description": "Name of the field which caused the error.", + "_key": "name" } - ], - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - } + ] }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" + "_key": "fields" }, { - "type": "boolean", - "description": "More results are available.", - "example": true, - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" }, { - "type": "integer", - "description": "The value of limit query parameter from the request, or default if not specified.", - "example": 50, - "api_fieldname": "limit", - "entity_fieldname": "limit", - "_key": "limit" + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" }, { "type": "string", - "description": "The type of this API object is a \"list\".", - "example": "list", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" }, { "type": "string", - "description": "Record order based on creation time.", - "example": "DESC", - "api_fieldname": "order", - "entity_fieldname": "order", - "_key": "order" + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" } - ], - "pagination": true, - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - } - }, - "_key": "200" - }, - { - "description": "Bad request. Contains the error as a string, either TOKEN_NOT_FOUND or INVALID_LIMIT.", - "_key": "400" - } - ], - "path": "/v2/device-shared-keys", - "summary": "List PSKs.", - "return_type": "paginated_response(pre_shared_key)", - "return_info": { - "self": true, - "custom": false, - "type": "pre_shared_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "order", - "has_more", - "continuation_marker", - "data" - ], - "foreign_key_priority": "self", - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "listPreSharedKeys", - "pagination": true, - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - }, - "request_content_type": "application/json", - "request_body": "json", - "_key": "list" - }, - { - "description": "Check if a PSK for an endpoint exists or not. The response does not contain the secret itself.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [ - { - "type": "string", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", - "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "entity_fieldname": "id", - "name": "endpoint_name", - "in": "path", - "required": true, - "_key": "id" - } - ], - "method": "get", - "mode": "read", - "responses": [ - { - "description": "Pre-shared key for the device (does not contain secret).", - "schema": { - "type": "object", - "required": [ - "endpoint_name" - ], - "properties": [ - { - "type": "string", - "format": "date-time", - "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", - "example": "2017-07-21T17:32:28.012Z", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - } - ], - "foreign_key": { - "group": "Security", - "entity": "pre_shared_key" - } - }, - "_key": "200" - }, - { - "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", - "schema": { - "type": "string" + ] }, "_key": "400" }, { "description": "Authentication failure.", - "_key": "401" - }, - { - "description": "The PSK does not exist.", - "_key": "404" - } - ], - "path": "/v2/device-shared-keys/{endpoint_name}", - "summary": "Get a PSK.", - "return_type": "pre_shared_key", - "return_info": { - "self": true, - "custom": false, - "type": "pre_shared_key" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "created_at" - ], - "group_id": "Security", - "parameter_map": { - "endpoint_name": "id" - }, - "operation_id": "getPreSharedKey", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "read" - } - ], - "fields": [ - { - "type": "string", - "format": "date-time", - "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", - "example": "2017-07-21T17:32:28.012Z", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "readOnly": false, - "_override": true, - "type": "string", - "api_fieldname": "endpoint_name", - "pattern": "^[ -~]{16,64}$", - "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", - "example": "my-endpoint-0001", - "required": false, - "_key": "endpoint_name" - }, - { - "description": "The Id of the pre_shared_key, shadows the endpoint_name", - "type": "string", - "getter_custom_method": "pre_shared_key_id_getter", - "setter_custom_method": "pre_shared_key_id_setter", - "_override": true, - "api_fieldname": "id", - "readOnly": false, - "required": false, - "_key": "id" - } - ], - "field_renames": [], - "tags": [ - "PreSharedKeys" - ], - "group_id": "Security", - "_key": "pre_shared_key" - }, - { - "swagger_models": [ - "SAML2Req" - ], - "primary_key_field": null, - "methods": [], - "fields": [ - { - "type": "string", - "format": "byte", - "maxLength": 65535, - "description": "Contains an entity descriptor document for the identity provider. Can be used as an alternative method to provide the identity provider's attributes.", - "api_fieldname": "entity_descriptor", - "readOnly": true, - "required": false, - "_key": "entity_descriptor" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "api_fieldname": "idp_entity_id", - "readOnly": true, - "required": false, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider. Certificates must be in PEM format.", - "items": { - "type": "string" - }, - "api_fieldname": "idp_x509_certs", - "readOnly": true, - "required": false, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "api_fieldname": "slo_endpoint", - "readOnly": true, - "required": false, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider. We recommend that you leave it empty and let the system generate it.", - "api_fieldname": "sp_entity_id", - "readOnly": true, - "required": false, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "api_fieldname": "sso_endpoint", - "readOnly": true, - "required": false, - "_key": "sso_endpoint" - } - ], - "field_renames": [], - "tags": [], - "group_id": "Accounts", - "_key": "saml2_request" - }, - { - "swagger_models": [ - "ServerCredentialsResponseData" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "Return bootstrap server credentials for client to connect to bootstrap server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [], - "method": "get", - "mode": "get_bootstrap", - "responses": [ - { - "description": "Bootstrap server credentials fetched successfully.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "format": "date-time", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "string", - "description": "Unique entity ID.", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "description": "Entity name: always `server-credentials`.", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", - "api_fieldname": "server_certificate", - "entity_fieldname": "server_certificate", - "_key": "server_certificate" - }, - { - "type": "string", - "description": "Server URI that the client connects to.", - "api_fieldname": "server_uri", - "entity_fieldname": "server_uri", - "_key": "server_uri" - } - ], - "foreign_key": { - "group": "Security", - "entity": "server_credentials" - } - }, - "examples": [ - { - "object": "server-credentials", - "id": "015fee4431fd38c98640fbfb00000000", - "etag": "1", - "created_at": "2017-12-11T14:22:20.009Z", - "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", - "server_uri": "coaps://coap.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", - "_key": "Success" - } - ], - "_key": "200" - }, - { - "description": "Bad request.", "schema": { "type": "object", "required": [ @@ -56478,10 +56005,10 @@ } ] }, - "_key": "400" + "_key": "401" }, { - "description": "Invalid access token.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -56551,128 +56078,10 @@ } ] }, - "examples": [ - { - "object": "error", - "code": 401, - "type": "invalid_auth", - "message": "Invalid access token.", - "request_id": "015fee4431fd38c98640fbfb00000000", - "_key": "Authentication Error" - } - ], - "_key": "401" - } - ], - "path": "/v3/server-credentials/bootstrap", - "summary": "Fetch bootstrap server credentials.", - "return_type": "server_credentials", - "return_info": { - "self": true, - "custom": false, - "type": "server_credentials" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "id", - "created_at", - "server_certificate", - "server_uri" - ], - "group_id": "Security", - "operation_id": "getBootstrapServerCredentials", - "additional_operations": [ - { - "operation_id": "getAllServerCredentials", - "notes": "The information returned by this endpoint can be obtained by calling `get_bootstrap`." - } - ], - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "get_bootstrap" - }, - { - "description": "Return LwM2M server credentials for client to connect to LwM2M server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \\\n-H \"Authorization: Bearer \"\n```", - "field_renames": [], - "fields": [], - "method": "get", - "mode": "get_lwm2m", - "responses": [ - { - "description": "LwM2M server credentials fetched successfully.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "format": "date-time", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "string", - "description": "Unique entity ID.", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "description": "Entity name: always `server-credentials`.", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", - "api_fieldname": "server_certificate", - "entity_fieldname": "server_certificate", - "_key": "server_certificate" - }, - { - "type": "string", - "description": "Server URI that the client connects to.", - "api_fieldname": "server_uri", - "entity_fieldname": "server_uri", - "_key": "server_uri" - } - ], - "foreign_key": { - "group": "Security", - "entity": "server_credentials" - } - }, - "examples": [ - { - "object": "server-credentials", - "id": "015fee4431fd38c98640fbfb00000000", - "etag": "1", - "created_at": "2017-12-11T14:22:20.009Z", - "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", - "server_uri": "coaps://mds.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", - "_key": "Success" - } - ], - "_key": "200" + "_key": "403" }, { - "description": "Bad request.", + "description": "A group with that ID does not exist.", "schema": { "type": "object", "required": [ @@ -56742,99 +56151,16 @@ } ] }, - "_key": "400" - }, - { - "description": "Invalid access token.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "examples": [ - { - "object": "error", - "code": 401, - "type": "invalid_auth", - "message": "Invalid access token.", - "request_id": "015fee4431fd38c98640fbfb00000000", - "_key": "Authentication Error" - } - ], - "_key": "401" + "_key": "404" } ], - "path": "/v3/server-credentials/lwm2m", - "summary": "Fetch LwM2M server credentials.", - "return_type": "server_credentials", + "path": "/v3/policy-groups/{group_id}", + "summary": "Update the group name.", + "return_type": "policy_group", "return_info": { "self": true, "custom": false, - "type": "server_credentials" + "type": "policy_group" }, "x_filter": {}, "x_deprecation": null, @@ -56843,378 +56169,572 @@ "etag", "type", "filter", - "id", "created_at", - "server_certificate", - "server_uri" - ], - "group_id": "Security", - "operation_id": "getL2M2MServerCredentials", - "additional_operations": [ - { - "operation_id": "getAllServerCredentials", - "notes": "The information returned by this endpoint can be obtained by calling `get_lwm2m`." - } + "updated_at", + "account_id", + "user_count", + "apikey_count" ], + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "updateGroupName", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "get_lwm2m" - } - ], - "fields": [ - { - "type": "string", - "format": "date-time", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "string", - "description": "Unique entity ID.", - "api_fieldname": "id", - "readOnly": true, - "required": false, - "_key": "id" - }, - { - "type": "string", - "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", - "api_fieldname": "server_certificate", - "readOnly": true, - "required": false, - "_key": "server_certificate" + "_key": "update" }, { - "type": "string", - "description": "Server URI that the client connects to.", - "api_fieldname": "server_uri", - "readOnly": true, - "required": false, - "_key": "server_uri" - } - ], - "field_renames": [], - "tags": [ - "Service security - server credentials" - ], - "group_id": "Security", - "_key": "server_credentials" - }, - { - "swagger_models": [ - "ApiKeyInfoReq", - "ApiKeyInfoResp", - "ApiKeyUpdateReq", - "GroupSummaryList" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", + "description": "Retrieve users of a group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "parameter_fieldname": "account_id", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "group_id", "in": "path", + "description": "The ID of the group.", "required": true, - "_key": "account_id" + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "group_id", + "external_param": false, + "parameter_fieldname": "group_id", + "_key": "id" }, { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", "required": false, - "_key": "groups" - }, - { "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" }, { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", "required": false, - "_key": "owner" + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" }, { "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ - "ACTIVE", - "INACTIVE" + "ASC", + "DESC" ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", "required": false, - "enum_reference": "subtenant_api_key_status_enum", - "_key": "status" + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "policy_group_order_enum", + "_key": "order" } ], - "method": "post", - "mode": "create", + "method": "get", + "mode": "users", "responses": [ { - "description": "New entity created.", + "description": "Successful operation.", "schema": { "type": "object", "required": [ - "etag", - "id", - "key", - "name", - "object" + "data", + "has_more", + "limit", + "object", + "total_count" ], "properties": [ { "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "api_fieldname": "creation_time", - "entity_fieldname": "creation_time", - "_key": "creation_time" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "_key": "id" - }, - { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "api_fieldname": "key", - "entity_fieldname": "key", - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "api_fieldname": "last_login_time", - "entity_fieldname": "last_login_time", - "_key": "last_login_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always 'api-key'", - "enum": [ - "api-key" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", "required": false, - "enum_reference": "api_key_status_enum", - "_key": "status" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "description": "Represents an API key in Device Management.", - "foreign_key": { - "group": "Accounts", - "entity": "api_key" - } - }, - "_key": "201" - }, - { - "description": "Error in input data, for example, missing display name.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" }, { "type": "array", - "description": "Request fields which failed validation.", + "description": "A list of entities.", "items": { "type": "object", "required": [ - "name", - "message" + "account_id", + "email", + "etag", + "id", + "object", + "status" ], "properties": [ { "type": "string", - "description": "Message describing the error condition.", - "_key": "message" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" + }, + { + "type": "array", + "description": "List of active user sessions.", + "items": { + "type": "object", + "required": [ + "account_id", + "ip_address", + "login_time", + "object", + "reference_token", + "user_agent" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The UUID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "example": "127.0.0.1", + "description": "IP address of the client.", + "api_fieldname": "ip_address", + "entity_fieldname": "ip_address", + "_key": "ip_address" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T17:52:07Z", + "description": "The login time of the user.", + "api_fieldname": "login_time", + "entity_fieldname": "login_time", + "_key": "login_time" + }, + { + "type": "string", + "description": "Entity name: always 'user-session'", + "enum": [ + "user-session" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "example": "rt_CI6+5hS8p9DrCmkRyS6u4doUdiXr71dX7MqD+g0327hYQthEkYTxMMnCwHyf1rDdk", + "description": "The reference token.", + "api_fieldname": "reference_token", + "entity_fieldname": "reference_token", + "_key": "reference_token" + }, + { + "type": "string", + "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", + "description": "User Agent header from the login request.", + "api_fieldname": "user_agent", + "entity_fieldname": "user_agent", + "_key": "user_agent" + } + ], + "description": "Represents an active user session.", + "foreign_key": { + "group": "Accounts", + "entity": "active_session" + } + }, + "_key": "active_sessions" }, { "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, + "example": "110 Fulbourn Rd, Cambridge, United Kingdom", + "description": "Address.", + "x-nullable": true, + "_key": "address" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "A timestamp of the user creation in the storage, in milliseconds.", + "_key": "creation_time" + }, + { + "type": "object", + "x-nullable": true, + "description": "User's account-specific custom properties. The value is a string.", + "additionalProperties": { + "type": "string" + }, + "_key": "custom_fields" + }, + { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string", + "example": "user@arm.com", + "description": "The email address.", + "_key": "email" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating whether the user's email address has been verified or not.", + "_key": "email_verified" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "maxLength": 100, + "example": "User Doe", + "x-nullable": true, + "description": "The full name of the user.", + "_key": "full_name" + }, + { + "type": "array", + "description": "A list of IDs of the groups this user belongs to.", + "items": { + "type": "string" + }, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The ID of the user.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating that the user has accepted General Terms and Conditions.", + "_key": "is_gtc_accepted" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating that the user has consented to receive marketing information.", + "_key": "is_marketing_accepted" + }, + { + "type": "boolean", + "example": true, + "description": "A flag indicating whether two-factor authentication (TOTP) has been enabled.", + "_key": "is_totp_enabled" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "A timestamp of the latest login of the user, in milliseconds.", + "_key": "last_login_time" + }, + { + "type": "array", + "maxItems": 5, + "description": "Timestamps, succeedings, IP addresses and user agent information of the last five logins of the user, with timestamps in RFC3339 format.", + "items": { + "type": "object", + "required": [ + "date", + "ip_address", + "success", + "user_agent" + ], + "properties": [ + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T17:52:07Z", + "description": "UTC time RFC3339 for this login attempt.", + "api_fieldname": "date", + "entity_fieldname": "date", + "_key": "date" + }, + { + "type": "string", + "example": "127.0.0.1", + "description": "IP address of the client.", + "api_fieldname": "ip_address", + "entity_fieldname": "ip_address", + "_key": "ip_address" + }, + { + "type": "boolean", + "example": true, + "description": "Flag indicating whether login attempt was successful or not.", + "api_fieldname": "success", + "entity_fieldname": "success", + "_key": "success" + }, + { + "type": "string", + "example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36", + "description": "User Agent header from the login request.", + "api_fieldname": "user_agent", + "entity_fieldname": "user_agent", + "_key": "user_agent" + } + ], + "description": "Represents an entry in login history.", + "foreign_key": { + "group": "Accounts", + "entity": "login_history" + } + }, + "_key": "login_history" + }, + { + "type": "array", + "description": "A list of login profiles for the user. Specified as the identity providers the user is associated with.", + "x-nullable": true, + "items": { + "type": "object", + "required": [ + "id" + ], + "properties": [ + { + "type": "string", + "description": "ID of the identity provider.", + "readOnly": false, + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "readOnly": false, + "description": "Name of the identity provider.", + "_override": true, + "api_fieldname": "name", + "entity_fieldname": "name", + "_key": "name" + }, + { + "type": "string", + "description": "Identity provider type.", + "readOnly": true, + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "login_profile_type", + "_key": "type" + } + ], + "description": "Represents a user login profile in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "login_profile" + } + }, + "_key": "login_profiles" + }, + { + "type": "string", + "description": "Entity name: always `user`.", + "enum": [ + "user" + ], + "_key": "object" + }, + { + "type": "string", + "example": "PZf9eEUH43DAPE9ULINFeuj", + "description": "The password when creating a new user. It will be generated when not present in the request.", + "x-nullable": true, + "_key": "password" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "A timestamp of the latest change of the user password, in milliseconds.", + "_key": "password_changed_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "+44 (1223) 400 400", + "description": "Phone number.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the user. ENROLLING state indicates that the user is in the middle of the enrollment process. INVITED means that the user has not accepted the invitation request. RESET means that the password must be changed immediately. INACTIVE users are locked out and not permitted to use the system.", + "enum": [ + "ENROLLING", + "INVITED", + "ACTIVE", + "RESET", + "INACTIVE" + ], + "_key": "status" + }, + { + "type": "array", + "x-nullable": true, + "description": "A list of scratch codes for the two-factor authentication. Visible only when 2FA is requested to be enabled or the codes regenerated.", + "items": { + "type": "string" + }, + "_key": "totp_scratch_codes" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + }, + { + "pattern": "[\\w\\-,._@+=]{4,30}", + "type": "string", + "example": "admin", + "description": "A username.", + "x-nullable": true, + "_key": "username" + } + ], + "description": "Represents a user in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "user" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always `list`.", "enum": [ - "error" + "list" ], + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "account_order_enum", + "_key": "order" }, { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" } - ] + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "user" + } }, - "_key": "400" + "_key": "200" }, { "description": "Authentication failure.", @@ -57363,7 +56883,7 @@ "_key": "403" }, { - "description": "An account with the given ID does not exist.", + "description": "A group with that ID does not exist.", "schema": { "type": "object", "required": [ @@ -57436,301 +56956,217 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/api-keys", - "summary": "Create a new API key.", - "return_type": "subtenant_api_key", + "path": "/v3/policy-groups/{group_id}/users", + "summary": "Get users of a group.", + "return_type": "paginated_response(user)", "return_info": { - "self": true, + "self": false, "custom": false, - "type": "subtenant_api_key" + "type": "user" + }, + "x_filter": { + "status": [ + "eq", + "in", + "nin" + ] }, - "x_filter": {}, "x_deprecation": null, "drop_fields": [ "object", "etag", "type", "filter", - "id", - "created_at", - "updated_at", - "key", - "creation_time", - "last_login_time" + "total_count", + "has_more", + "data", + "status__eq", + "status__in", + "status__nin" ], "group_id": "Accounts", "parameter_map": { - "apikey_id": "id" + "group_id": "id" }, - "operation_id": "createAccountApiKey", - "pagination": false, + "operation_id": "getUsersOfGroup", + "foreign_key": { + "entity": "user" + }, + "pagination": true, "request_content_type": "application/json", "request_body": "json", - "_key": "create" + "_key": "users" + } + ], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "readOnly": true, + "required": false, + "_key": "account_id" }, { - "description": "Delete an API key.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "readOnly": true, + "required": false, + "_key": "apikey_count" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "readOnly": false, + "required": true, + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "readOnly": false, + "required": true, + "_key": "name" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "readOnly": true, + "required": false, + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "readOnly": true, + "required": false, + "_key": "user_count" + } + ], + "field_renames": [], + "tags": [ + "Account - policy groups" + ], + "group_id": "Accounts", + "_key": "policy_group" + }, + { + "swagger_models": [ + "ListOfPreSharedKeysWithoutSecret", + "PreSharedKey", + "PreSharedKeyWithoutSecret" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Upload a PSK for an endpoint to allow it to bootstrap. The existing key cannot be overwritten, but needs\nto be deleted first in the case of re-setting a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": false, - "parameter_fieldname": "account_id", - "_key": "account_id" + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" }, { - "name": "apikey_id", - "in": "path", - "description": "The ID of the API key to delete.", - "required": true, + "description": "The Id of the pre_shared_key, shadows the endpoint_name", "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", "entity_fieldname": "id", - "api_fieldname": "apikey_id", - "external_param": false, - "parameter_fieldname": "apikey_id", - "_key": "id" - } - ], - "method": "delete", - "mode": "delete", + "pattern": "^[ -~]{16,64}$", + "example": "my-endpoint-0001", + "name": "endpoint_name", + "in": "body", + "schema_param": true, + "_key": "id" + }, + { + "type": "string", + "pattern": "^(0[xX])?[0-9a-fA-F]{32,64}$", + "description": "The secret of the PSK in hexadecimal. It is not case sensitive; 4a is same as 4A, and it is allowed with or without 0x in the beginning. The minimum length of the secret is 128 bits and maximum 256 bits.", + "example": "4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a", + "name": "secret_hex", + "in": "body", + "schema_param": true, + "entity_fieldname": "secret_hex", + "api_fieldname": "secret_hex", + "external_param": true, + "parameter_fieldname": "secret_hex", + "required": true, + "_key": "secret_hex" + } + ], + "method": "post", + "mode": "create", "responses": [ { - "description": "Deleted successfully.", - "_key": "204" + "description": "Successfully created.", + "_key": "201" }, { - "description": "Authentication failure.", + "description": "Bad request. Contains comma-separated errors INVALID_ENDPOINT_NAME, INVALID_SECRET_HEX, and MALFORMED_JSON_CONTENT.", "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] + "type": "string" }, + "_key": "400" + }, + { + "description": "Authentication failure.", "_key": "401" }, { - "description": "Forbidden.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, + "description": "Forbidden. You need to read and accept the PSK license in Device Management Portal.", "_key": "403" }, { - "description": "An account or API key with the specified ID does not exist.", + "description": "Conflict. The PSK for the endpoint already exists and cannot be overwritten. Contains error KEY_ALREADY_EXISTS_FOR_ENDPOINT.", "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] + "type": "string" }, - "_key": "404" + "_key": "409" } ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", - "summary": "Delete the API key.", - "return_type": "subtenant_api_key", + "path": "/v2/device-shared-keys", + "summary": "Upload a PSK to Pelion Device Management.", + "return_type": "pre_shared_key", "return_info": { "self": true, "custom": false, - "type": "subtenant_api_key" + "type": "pre_shared_key" }, "x_filter": {}, "x_deprecation": null, @@ -57740,37 +57176,97 @@ "type", "filter" ], - "group_id": "Accounts", + "group_id": "Security", "parameter_map": { - "apikey_id": "id" + "endpoint_name": "id" }, - "operation_id": "deleteAccountApiKey", + "operation_id": "uploadPreSharedKey", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "delete" + "_key": "create" }, { - "description": "Retrieve groups associated with the API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Remove a PSK.\n\n**Example:**\n\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [ { - "name": "account_id", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "type": "string", + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "name": "endpoint_name", "in": "path", - "description": "Account ID.", "required": true, - "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": false, - "parameter_fieldname": "account_id", - "_key": "account_id" + "_key": "id" + } + ], + "method": "delete", + "mode": "delete", + "responses": [ + { + "description": "Successfully deleted. Responds even if the endpoint does not have an associated PSK.", + "_key": "204" + }, + { + "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", + "schema": { + "type": "string" + }, + "_key": "400" }, + { + "description": "Authentication failure.", + "_key": "401" + } + ], + "path": "/v2/device-shared-keys/{endpoint_name}", + "summary": "Remove a PSK.", + "return_type": "pre_shared_key", + "return_info": { + "self": true, + "custom": false, + "type": "pre_shared_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Security", + "parameter_map": { + "endpoint_name": "id" + }, + "operation_id": "deletePreSharedKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve pre-shared keys (PSKs) with pagination. Default page size of 50 entries.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [ { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", + "description": "An offset token for fetching a specific page. Provided by the server.", + "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", "api_fieldname": "after", "entity_fieldname": "after", "name": "after", @@ -57781,175 +57277,102 @@ "_key": "after" }, { - "name": "apikey_id", - "in": "path", - "description": "The ID of the API key.", - "required": true, + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, "type": "string", - "entity_fieldname": "id", - "api_fieldname": "apikey_id", - "external_param": false, - "parameter_fieldname": "apikey_id", - "_key": "id" + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" }, { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, + "description": "The Id of the pre_shared_key, shadows the endpoint_name", "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", - "external_param": true, - "parameter_fieldname": "include", - "_key": "include" + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" }, { "type": "integer", - "format": "int32", + "description": "The number of entries per page.", "example": 50, - "description": "The number of results to return (2-1000). Default 50.", "api_fieldname": "limit", "entity_fieldname": "limit", "name": "limit", "in": "query", "required": false, - "default": 50, "external_param": true, "parameter_fieldname": "limit", "_key": "limit" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "subtenant_api_key_order_enum", - "_key": "order" } ], "method": "get", - "mode": "policy_groups", + "mode": "list", "responses": [ { - "description": "Successful operation.", + "description": "List of PSKs.", "schema": { "type": "object", "required": [ - "data", - "has_more", - "limit", "object", - "total_count" + "limit", + "order", + "has_more", + "data" ], "properties": [ { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", + "description": "An offset token for current page.", + "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810004", "api_fieldname": "after", "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", "_key": "after" }, + { + "type": "string", + "description": "An offset token for fetching the next page. Note that exactly the same limit needs to be used on the request for fetching subsequent pages.", + "example": "001e001000120010fac8f300487f11e8839a459edde8bd42f07fffffebf07fffffebb1219cc7862b64bbaf775dc545e274810005", + "api_fieldname": "continuation_marker", + "entity_fieldname": "continuation_marker", + "_key": "continuation_marker" + }, { "type": "array", - "description": "A list of entities.", + "description": "Array of the PSK entries. The array is empty if there are no PSKs.", + "minLength": 0, "items": { "type": "object", "required": [ - "account_id", - "apikey_count", - "etag", - "id", - "name", - "object", - "user_count" + "endpoint_name" ], "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "_key": "apikey_count" - }, { "type": "string", "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", + "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", + "example": "2017-07-21T17:32:28.012Z", "_key": "created_at" }, { "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always `group`.", - "enum": [ - "group" - ], - "_key": "object" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "_key": "user_count" + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "_key": "endpoint_name" } ], - "description": "This object contains basic information about groups.", "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" + "group": "Security", + "entity": "pre_shared_key" } }, "api_fieldname": "data", @@ -57958,148 +57381,392 @@ }, { "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", + "description": "More results are available.", + "example": true, "api_fieldname": "has_more", "entity_fieldname": "has_more", "_key": "has_more" }, { "type": "integer", - "format": "int32", + "description": "The value of limit query parameter from the request, or default if not specified.", "example": 50, - "description": "The number of results to return (2-1000). Default 50.", "api_fieldname": "limit", "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", "_key": "limit" }, { "type": "string", - "description": "Entity name: always `list`.", - "enum": [ - "list" - ], + "description": "The type of this API object is a \"list\".", + "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], + "description": "Record order based on creation time.", + "example": "DESC", "api_fieldname": "order", "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "api_key_order_enum", "_key": "order" - }, - { - "type": "integer", - "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" } ], "pagination": true, "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" + "group": "Security", + "entity": "pre_shared_key" } }, "_key": "200" }, { - "description": "Authentication failure.", + "description": "Bad request. Contains the error as a string, either TOKEN_NOT_FOUND or INVALID_LIMIT.", + "_key": "400" + } + ], + "path": "/v2/device-shared-keys", + "summary": "List PSKs.", + "return_type": "paginated_response(pre_shared_key)", + "return_info": { + "self": true, + "custom": false, + "type": "pre_shared_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "order", + "has_more", + "continuation_marker", + "data" + ], + "foreign_key_priority": "self", + "group_id": "Security", + "parameter_map": { + "endpoint_name": "id" + }, + "operation_id": "listPreSharedKeys", + "pagination": true, + "foreign_key": { + "group": "Security", + "entity": "pre_shared_key" + }, + "request_content_type": "application/json", + "request_body": "json", + "_key": "list" + }, + { + "description": "Check if a PSK for an endpoint exists or not. The response does not contain the secret itself.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "entity_fieldname": "id", + "name": "endpoint_name", + "in": "path", + "required": true, + "_key": "id" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Pre-shared key for the device (does not contain secret).", "schema": { "type": "object", "required": [ - "code", - "message", - "object", - "request_id", - "type" + "endpoint_name" ], "properties": [ { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "type": "string", + "format": "date-time", + "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", + "example": "2017-07-21T17:32:28.012Z", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" }, { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" + "type": "string", + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "api_fieldname": "endpoint_name", + "entity_fieldname": "endpoint_name", + "_key": "endpoint_name" + } + ], + "foreign_key": { + "group": "Security", + "entity": "pre_shared_key" + } + }, + "_key": "200" + }, + { + "description": "Bad request. Endpoint name validation failed. Contains error INVALID_ENDPOINT_NAME.", + "schema": { + "type": "string" + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "_key": "401" + }, + { + "description": "The PSK does not exist.", + "_key": "404" + } + ], + "path": "/v2/device-shared-keys/{endpoint_name}", + "summary": "Get a PSK.", + "return_type": "pre_shared_key", + "return_info": { + "self": true, + "custom": false, + "type": "pre_shared_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at" + ], + "group_id": "Security", + "parameter_map": { + "endpoint_name": "id" + }, + "operation_id": "getPreSharedKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + } + ], + "fields": [ + { + "type": "string", + "format": "date-time", + "description": "The date-time (RFC3339) when this PSK was uploaded to Device Management.", + "example": "2017-07-21T17:32:28.012Z", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "readOnly": false, + "_override": true, + "type": "string", + "api_fieldname": "endpoint_name", + "pattern": "^[ -~]{16,64}$", + "description": "The unique endpoint identifier that this PSK applies to. 16-64 [printable](https://en.wikipedia.org/wiki/ASCII#Printable_characters) (non-control) ASCII characters.", + "example": "my-endpoint-0001", + "required": false, + "_key": "endpoint_name" + }, + { + "description": "The Id of the pre_shared_key, shadows the endpoint_name", + "type": "string", + "getter_custom_method": "pre_shared_key_id_getter", + "setter_custom_method": "pre_shared_key_id_setter", + "_override": true, + "api_fieldname": "id", + "readOnly": false, + "required": false, + "_key": "id" + } + ], + "field_renames": [], + "tags": [ + "PreSharedKeys" + ], + "group_id": "Security", + "_key": "pre_shared_key" + }, + { + "swagger_models": [ + "SAML2Req" + ], + "primary_key_field": null, + "methods": [], + "fields": [ + { + "type": "string", + "format": "byte", + "maxLength": 65535, + "description": "Contains an entity descriptor document for the identity provider. Can be used as an alternative method to provide the identity provider's attributes.", + "api_fieldname": "entity_descriptor", + "readOnly": true, + "required": false, + "_key": "entity_descriptor" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "api_fieldname": "idp_entity_id", + "readOnly": true, + "required": false, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider. Certificates must be in PEM format.", + "items": { + "type": "string" + }, + "api_fieldname": "idp_x509_certs", + "readOnly": true, + "required": false, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "api_fieldname": "slo_endpoint", + "readOnly": true, + "required": false, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider. We recommend that you leave it empty and let the system generate it.", + "api_fieldname": "sp_entity_id", + "readOnly": true, + "required": false, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "api_fieldname": "sso_endpoint", + "readOnly": true, + "required": false, + "_key": "sso_endpoint" + } + ], + "field_renames": [], + "tags": [], + "group_id": "Accounts", + "_key": "saml2_request" + }, + { + "swagger_models": [ + "ServerCredentialsResponseData" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Return bootstrap server credentials for client to connect to bootstrap server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \\\n-H \"Authorization: Bearer \"\n```", + "field_renames": [], + "fields": [], + "method": "get", + "mode": "get_bootstrap", + "responses": [ + { + "description": "Bootstrap server credentials fetched successfully.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "format": "date-time", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" }, { "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" }, { "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], + "description": "Unique entity ID.", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + }, + { + "type": "string", + "description": "Entity name: always `server-credentials`.", + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", + "api_fieldname": "server_certificate", + "entity_fieldname": "server_certificate", + "_key": "server_certificate" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "description": "Server URI that the client connects to.", + "api_fieldname": "server_uri", + "entity_fieldname": "server_uri", + "_key": "server_uri" } - ] + ], + "foreign_key": { + "group": "Security", + "entity": "server_credentials" + } }, - "_key": "401" + "examples": [ + { + "object": "server-credentials", + "id": "015fee4431fd38c98640fbfb00000000", + "etag": "1", + "created_at": "2017-12-11T14:22:20.009Z", + "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", + "server_uri": "coaps://coap.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", + "_key": "Success" + } + ], + "_key": "200" }, { - "description": "Forbidden.", + "description": "Bad request.", "schema": { "type": "object", "required": [ @@ -58169,10 +57836,10 @@ } ] }, - "_key": "403" + "_key": "400" }, { - "description": "An account or API key with the specified ID does not exist.", + "description": "Invalid access token.", "schema": { "type": "object", "required": [ @@ -58242,16 +57909,26 @@ } ] }, - "_key": "404" + "examples": [ + { + "object": "error", + "code": 401, + "type": "invalid_auth", + "message": "Invalid access token.", + "request_id": "015fee4431fd38c98640fbfb00000000", + "_key": "Authentication Error" + } + ], + "_key": "401" } ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}/groups", - "summary": "Get groups associated with the API key.", - "return_type": "paginated_response(subtenant_policy_group)", + "path": "/v3/server-credentials/bootstrap", + "summary": "Fetch bootstrap server credentials.", + "return_type": "server_credentials", "return_info": { - "self": false, + "self": true, "custom": false, - "type": "subtenant_policy_group" + "type": "server_credentials" }, "x_filter": {}, "x_deprecation": null, @@ -58260,287 +57937,100 @@ "etag", "type", "filter", - "total_count", - "has_more", - "data" + "id", + "created_at", + "server_certificate", + "server_uri" ], - "group_id": "Accounts", - "parameter_map": { - "apikey_id": "id" - }, - "operation_id": "getGroupsOfAccountApikey", - "foreign_key": { - "entity": "subtenant_policy_group" - }, - "pagination": true, + "group_id": "Security", + "operation_id": "getBootstrapServerCredentials", + "additional_operations": [ + { + "operation_id": "getAllServerCredentials", + "notes": "The information returned by this endpoint can be obtained by calling `get_bootstrap`." + } + ], + "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "policy_groups" + "_key": "get_bootstrap" }, { - "description": "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", + "description": "Return LwM2M server credentials for client to connect to LwM2M server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "parameter_fieldname": "account_id", - "in": "path", - "required": true, - "_key": "account_id" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "_key": "id" - } - ], + "fields": [], "method": "get", - "mode": "read", + "mode": "get_lwm2m", "responses": [ { - "description": "Successful operation.", + "description": "LwM2M server credentials fetched successfully.", "schema": { "type": "object", - "required": [ - "etag", - "id", - "key", - "name", - "object" - ], "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, { "type": "string", "format": "date-time", - "example": "2018-02-13T09:35:20Z", "description": "Creation UTC time RFC3339.", "api_fieldname": "created_at", "entity_fieldname": "created_at", "_key": "created_at" }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "api_fieldname": "creation_time", - "entity_fieldname": "creation_time", - "_key": "creation_time" - }, { "type": "string", - "example": "1", "description": "API resource entity version.", "api_fieldname": "etag", "entity_fieldname": "etag", "_key": "etag" }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "entity_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "_key": "groups" - }, { "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", + "description": "Unique entity ID.", "api_fieldname": "id", "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, "_key": "id" }, { "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "api_fieldname": "key", - "entity_fieldname": "key", - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "api_fieldname": "last_login_time", - "entity_fieldname": "last_login_time", - "_key": "last_login_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always 'api-key'", - "enum": [ - "api-key" - ], + "description": "Entity name: always `server-credentials`.", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "entity_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "api_key_status_enum", - "_key": "status" + "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", + "api_fieldname": "server_certificate", + "entity_fieldname": "server_certificate", + "_key": "server_certificate" }, { "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" + "description": "Server URI that the client connects to.", + "api_fieldname": "server_uri", + "entity_fieldname": "server_uri", + "_key": "server_uri" } ], - "description": "Represents an API key in Device Management.", "foreign_key": { - "group": "Accounts", - "entity": "api_key" + "group": "Security", + "entity": "server_credentials" } }, + "examples": [ + { + "object": "server-credentials", + "id": "015fee4431fd38c98640fbfb00000000", + "etag": "1", + "created_at": "2017-12-11T14:22:20.009Z", + "server_certificate": "-----BEGIN CERTIFICATE-----\\nMIICNTCCAdugAwIBAgIQXCeldn1YhYpDkaBhq8+mWTAKBggqhkjOPQQDAjByMQsw\\nCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNVBAcTCUNh\\nbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIEludGVncmF0\\naW9uIEJvb3RzdHJhcENBMCAXDTE3MDUxNTE5NDkxMVoYDzIwNTIwNTE1MTk1OTEw\\nWjByMQswCQYDVQQGEwJHQjEXMBUGA1UECBMOQ2FtYnJpZGdlc2hpcmUxEjAQBgNV\\nBAcTCUNhbWJyaWRnZTEQMA4GA1UEChMHQVJNIEx0ZDEkMCIGA1UEAxMbQVJNIElu\\ndGVncmF0aW9uIEJvb3RzdHJhcENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\\ni3yGw4hU5l/gV04brCmC6n2RAGOnSgW8VMVxJzMZGy76Qfh6mgxd/LM3AZnFyb54\\nWx3ssBod3ORvVwT0Osqo0qNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMB\\nAf8wHQYDVR0OBBYEFBPvafpiPwCG9AW4tuay8dtpELQ5MBAGCSsGAQQBgjcVAQQD\\nAgEAMAoGCCqGSM49BAMCA0gAMEUCIQCiUIgPVegmSeb1cYYzKQVM+f0fFJiShdlc\\nSAKewnmoWQIgPv48oL/TDxWDVrzy+hYmesFoqryRPGlENvl0oYJ2em4=\\n-----END CERTIFICATE-----", + "server_uri": "coaps://mds.us-east-1.mbedcloud.com:5684?aid=015843e32ec902420a015e0700000000", + "_key": "Success" + } + ], "_key": "200" }, { - "description": "Authentication failure.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "401" - }, - { - "description": "Forbidden.", + "description": "Bad request.", "schema": { "type": "object", "required": [ @@ -58610,10 +58100,10 @@ } ] }, - "_key": "403" + "_key": "400" }, { - "description": "An account or API key with the specified ID does not exist.", + "description": "Invalid access token.", "schema": { "type": "object", "required": [ @@ -58683,16 +58173,26 @@ } ] }, - "_key": "404" + "examples": [ + { + "object": "error", + "code": 401, + "type": "invalid_auth", + "message": "Invalid access token.", + "request_id": "015fee4431fd38c98640fbfb00000000", + "_key": "Authentication Error" + } + ], + "_key": "401" } ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", - "summary": "Get API key details.", - "return_type": "subtenant_api_key", + "path": "/v3/server-credentials/lwm2m", + "summary": "Fetch LwM2M server credentials.", + "return_type": "server_credentials", "return_info": { "self": true, "custom": false, - "type": "subtenant_api_key" + "type": "server_credentials" }, "x_filter": {}, "x_deprecation": null, @@ -58701,28 +58201,78 @@ "etag", "type", "filter", + "id", "created_at", - "updated_at", - "key", - "name", - "groups", - "owner", - "status", - "creation_time", - "last_login_time" + "server_certificate", + "server_uri" + ], + "group_id": "Security", + "operation_id": "getL2M2MServerCredentials", + "additional_operations": [ + { + "operation_id": "getAllServerCredentials", + "notes": "The information returned by this endpoint can be obtained by calling `get_lwm2m`." + } ], - "group_id": "Accounts", - "parameter_map": { - "apikey_id": "id" - }, - "operation_id": "getAccountApiKey", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "get_lwm2m" + } + ], + "fields": [ + { + "type": "string", + "format": "date-time", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" }, { - "description": "Update API key details.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", + "type": "string", + "description": "Unique entity ID.", + "api_fieldname": "id", + "readOnly": true, + "required": false, + "_key": "id" + }, + { + "type": "string", + "description": "PEM-format X.509 server certificate used to validate the server certificate received during the TLS/DTLS handshake.", + "api_fieldname": "server_certificate", + "readOnly": true, + "required": false, + "_key": "server_certificate" + }, + { + "type": "string", + "description": "Server URI that the client connects to.", + "api_fieldname": "server_uri", + "readOnly": true, + "required": false, + "_key": "server_uri" + } + ], + "field_renames": [], + "tags": [ + "Service security - server credentials" + ], + "group_id": "Security", + "_key": "server_credentials" + }, + { + "swagger_models": [ + "ApiKeyInfoReq", + "ApiKeyInfoResp", + "ApiKeyUpdateReq", + "GroupSummaryList" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", "field_renames": [], "fields": [ { @@ -58750,18 +58300,6 @@ "required": false, "_key": "groups" }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "_key": "id" - }, { "type": "string", "maxLength": 100, @@ -58803,11 +58341,11 @@ "_key": "status" } ], - "method": "put", - "mode": "update", + "method": "post", + "mode": "create", "responses": [ { - "description": "Successful operation.", + "description": "New entity created.", "schema": { "type": "object", "required": [ @@ -58961,7 +58499,7 @@ "entity": "api_key" } }, - "_key": "200" + "_key": "201" }, { "description": "Error in input data, for example, missing display name.", @@ -59183,7 +58721,7 @@ "_key": "403" }, { - "description": "An account ID or API key with the specified ID does not exist.", + "description": "An account with the given ID does not exist.", "schema": { "type": "object", "required": [ @@ -59256,8 +58794,8 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", - "summary": "Update API key details.", + "path": "/v3/accounts/{account_id}/api-keys", + "summary": "Create a new API key.", "return_type": "subtenant_api_key", "return_info": { "self": true, @@ -59271,6 +58809,7 @@ "etag", "type", "filter", + "id", "created_at", "updated_at", "key", @@ -59281,198 +58820,39 @@ "parameter_map": { "apikey_id": "id" }, - "operation_id": "updateAccountApiKey", + "operation_id": "createAccountApiKey", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "update" - } - ], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "readOnly": false, - "required": true, - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "api_fieldname": "creation_time", - "readOnly": true, - "required": false, - "_key": "creation_time" - }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "api_fieldname": "groups", - "parameter_fieldname": "groups", - "in": "body", - "required": false, - "readOnly": false, - "_key": "groups" - }, - { - "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "parameter_fieldname": "apikey_id", - "in": "path", - "required": true, - "readOnly": false, - "_key": "id" - }, - { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "api_fieldname": "key", - "readOnly": true, - "required": false, - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "api_fieldname": "last_login_time", - "readOnly": true, - "required": false, - "_key": "last_login_time" - }, - { - "type": "string", - "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", - "api_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "readOnly": false, - "_key": "name" - }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "owner", - "parameter_fieldname": "owner", - "in": "body", - "required": false, - "readOnly": false, - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "api_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "subtenant_api_key_status_enum", - "readOnly": false, - "_key": "status" + "_key": "create" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "readOnly": true, - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant accounts - API keys" - ], - "group_id": "Accounts", - "_key": "subtenant_api_key" - }, - { - "swagger_models": [ - "BrandingColor" - ], - "primary_key_field": "reference", - "methods": [ - { - "description": "Resets the branding color of a tenant account to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an API key.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "name": "account_id", "in": "path", - "description": "The ID of the account.", + "description": "Account ID.", "required": true, "type": "string", "entity_fieldname": "account_id", "api_fieldname": "account_id", - "external_param": true, + "external_param": false, "parameter_fieldname": "account_id", "_key": "account_id" }, { - "is_primary_key": true, - "_override": true, - "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "name": "reference", + "name": "apikey_id", "in": "path", - "description": "The name of the branding color.", + "description": "The ID of the API key to delete.", "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "apikey_id", + "external_param": false, + "parameter_fieldname": "apikey_id", + "_key": "id" } ], "method": "delete", @@ -59629,7 +59009,7 @@ "_key": "403" }, { - "description": "Color or account not found.", + "description": "An account or API key with the specified ID does not exist.", "schema": { "type": "object", "required": [ @@ -59702,13 +59082,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", - "summary": "Reset branding color to default.", - "return_type": "void", + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", + "summary": "Delete the API key.", + "return_type": "subtenant_api_key", "return_info": { - "self": false, - "custom": true, - "type": "void" + "self": true, + "custom": false, + "type": "subtenant_api_key" }, "x_filter": {}, "x_deprecation": null, @@ -59718,205 +59098,343 @@ "type", "filter" ], - "group_id": "Branding", - "operation_id": "resetAccountDarkColor", - "spec": { - "return_type": "void" + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" }, + "operation_id": "deleteAccountApiKey", "pagination": false, "request_content_type": "application/json", "request_body": "json", "_key": "delete" }, { - "description": "Retrieve the requested dark theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve groups associated with the API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "name": "account_id", "in": "path", - "description": "The ID of the account.", + "description": "Account ID.", "required": true, "type": "string", "entity_fieldname": "account_id", "api_fieldname": "account_id", - "external_param": true, + "external_param": false, "parameter_fieldname": "account_id", "_key": "account_id" }, { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "apikey_id", "in": "path", + "description": "The ID of the API key.", "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "apikey_id", + "external_param": false, + "parameter_fieldname": "apikey_id", + "_key": "id" + }, + { + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "subtenant_api_key_order_enum", + "_key": "order" } ], "method": "get", - "mode": "read", + "mode": "policy_groups", "responses": [ { "description": "Successful operation.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "_key": "color" - }, - { - "type": "string", - "description": "Entity name: always 'branding_color'", - "readOnly": true, - "enum": [ - "branding_color" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "name": "object", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", - "required": false, - "_key": "object" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "light_theme_color_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_color" - } - }, - "_key": "200" - }, - { - "description": "Authentication failure.", "schema": { "type": "object", "required": [ - "code", - "message", + "data", + "has_more", + "limit", "object", - "request_id", - "type" + "total_count" ], "properties": [ { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" }, { "type": "array", - "description": "Request fields which failed validation.", + "description": "A list of entities.", "items": { "type": "object", "required": [ + "account_id", + "apikey_count", + "etag", + "id", "name", - "message" + "object", + "user_count" ], "properties": [ { "type": "string", - "description": "Message describing the error condition.", - "_key": "message" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" + }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "_key": "apikey_count" }, { "type": "string", - "description": "Name of the field which caused the error.", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", + "enum": [ + "group" + ], + "_key": "object" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "_key": "user_count" } - ] + ], + "description": "This object contains basic information about groups.", + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" + } }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" }, { - "type": "string", - "description": "Entity name, always `error`.", + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Entity name: always `list`.", + "enum": [ + "list" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "api_key_order_enum", + "_key": "order" + }, + { + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" + } + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_policy_group" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", "enum": [ "error" ], @@ -60012,7 +59530,7 @@ "_key": "403" }, { - "description": "Color or account not found.", + "description": "An account or API key with the specified ID does not exist.", "schema": { "type": "object", "required": [ @@ -60085,13 +59603,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", - "summary": "Get dark theme branding color.", - "return_type": "subtenant_dark_theme_color", + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}/groups", + "summary": "Get groups associated with the API key.", + "return_type": "paginated_response(subtenant_policy_group)", "return_info": { - "self": true, + "self": false, "custom": false, - "type": "subtenant_dark_theme_color" + "type": "subtenant_policy_group" }, "x_filter": {}, "x_deprecation": null, @@ -60100,399 +59618,4290 @@ "etag", "type", "filter", - "color", - "updated_at" + "total_count", + "has_more", + "data" ], - "group_id": "Branding", - "operation_id": "getAccountDarkColor", - "pagination": false, + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "getGroupsOfAccountApikey", + "foreign_key": { + "entity": "subtenant_policy_group" + }, + "pagination": true, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "policy_groups" }, { - "description": "Update a dark theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "description": "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "The ID of the account.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": true, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "_key": "color" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", "in": "path", "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" + "_key": "id" } ], - "method": "put", - "mode": "update", + "method": "get", + "mode": "read", "responses": [ { - "description": "Color has been set successfully.", + "description": "Successful operation.", "schema": { "type": "object", + "required": [ + "etag", + "id", + "key", + "name", + "object" + ], "properties": [ { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "api_fieldname": "creation_time", + "entity_fieldname": "creation_time", + "_key": "creation_time" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", "in": "body", "required": false, - "_key": "color" + "_key": "groups" }, { "type": "string", - "description": "Entity name: always 'branding_color'", - "readOnly": true, + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "api_fieldname": "key", + "entity_fieldname": "key", + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "api_fieldname": "last_login_time", + "entity_fieldname": "last_login_time", + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'api-key'", "enum": [ - "branding_color" + "api-key" ], "api_fieldname": "object", "entity_fieldname": "object", - "name": "object", + "_key": "object" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", "required": false, - "_key": "object" + "_key": "owner" }, { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" + "ACTIVE", + "INACTIVE" ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "light_theme_color_reference_enum", - "_key": "reference" + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "api_key_status_enum", + "_key": "status" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, + "description": "Last update UTC time RFC3339.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, "_key": "updated_at" } ], + "description": "Represents an API key in Device Management.", "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_color" + "group": "Accounts", + "entity": "api_key" } }, "_key": "200" }, { - "description": "Error in input data format.", + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "An account or API key with the specified ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", + "summary": "Get API key details.", + "return_type": "subtenant_api_key", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_api_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at", + "updated_at", + "key", + "name", + "groups", + "owner", + "status", + "creation_time", + "last_login_time" + ], + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "getAccountApiKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Update API key details.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", + "in": "path", + "required": true, + "_key": "account_id" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_api_key_status_enum", + "_key": "status" + } + ], + "method": "put", + "mode": "update", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "key", + "name", + "object" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "api_fieldname": "creation_time", + "entity_fieldname": "creation_time", + "_key": "creation_time" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "entity_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "api_fieldname": "key", + "entity_fieldname": "key", + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "api_fieldname": "last_login_time", + "entity_fieldname": "last_login_time", + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'api-key'", + "enum": [ + "api-key" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "entity_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "api_key_status_enum", + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "description": "Represents an API key in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } + }, + "_key": "200" + }, + { + "description": "Error in input data, for example, missing display name.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "An account ID or API key with the specified ID does not exist.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}", + "summary": "Update API key details.", + "return_type": "subtenant_api_key", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_api_key" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at", + "updated_at", + "key", + "creation_time", + "last_login_time" + ], + "group_id": "Accounts", + "parameter_map": { + "apikey_id": "id" + }, + "operation_id": "updateAccountApiKey", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "update" + } + ], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "readOnly": false, + "required": true, + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "api_fieldname": "creation_time", + "readOnly": true, + "required": false, + "_key": "creation_time" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "api_fieldname": "groups", + "parameter_fieldname": "groups", + "in": "body", + "required": false, + "readOnly": false, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "parameter_fieldname": "apikey_id", + "in": "path", + "required": true, + "readOnly": false, + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "api_fieldname": "key", + "readOnly": true, + "required": false, + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "api_fieldname": "last_login_time", + "readOnly": true, + "required": false, + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", + "api_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "readOnly": false, + "_key": "name" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "owner", + "parameter_fieldname": "owner", + "in": "body", + "required": false, + "readOnly": false, + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "api_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_api_key_status_enum", + "readOnly": false, + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "readOnly": true, + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant accounts - API keys" + ], + "group_id": "Accounts", + "_key": "subtenant_api_key" + }, + { + "swagger_models": [ + "BrandingColor" + ], + "primary_key_field": "reference", + "methods": [ + { + "description": "Resets the branding color of a tenant account to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "is_primary_key": true, + "_override": true, + "type": "string", + "api_fieldname": "reference", + "entity_fieldname": "reference", + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "name": "reference", + "in": "path", + "description": "The name of the branding color.", + "required": true, + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" + } + ], + "method": "delete", + "mode": "delete", + "responses": [ + { + "description": "Deleted successfully.", + "_key": "204" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Color or account not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", + "summary": "Reset branding color to default.", + "return_type": "void", + "return_info": { + "self": false, + "custom": true, + "type": "void" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "resetAccountDarkColor", + "spec": { + "return_type": "void" + }, + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve the requested dark theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, + { + "type": "string", + "description": "Entity name: always 'branding_color'", + "readOnly": true, + "enum": [ + "branding_color" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "name": "object", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", + "required": false, + "_key": "object" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_color_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_color" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Color or account not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", + "summary": "Get dark theme branding color.", + "return_type": "subtenant_dark_theme_color", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_dark_theme_color" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "color", + "updated_at" + ], + "group_id": "Branding", + "operation_id": "getAccountDarkColor", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Update a dark theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "method": "put", + "mode": "update", + "responses": [ + { + "description": "Color has been set successfully.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, + { + "type": "string", + "description": "Entity name: always 'branding_color'", + "readOnly": true, + "enum": [ + "branding_color" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "name": "object", + "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", + "required": false, + "_key": "object" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_color_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_color" + } + }, + "_key": "200" + }, + { + "description": "Error in input data format.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Color or account not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", + "summary": "Updates a dark theme branding color.", + "return_type": "subtenant_dark_theme_color", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_dark_theme_color" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "setAccountDarkColor", + "additional_operations": [ + { + "operation_id": "bulkSetAccountDarkColors", + "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." + } + ], + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "update" + } + ], + "fields": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "readOnly": false, + "_key": "color" + }, + { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", + "required": false, + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "readOnly": false, + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant user interface configuration - colors" + ], + "group_id": "Branding", + "_key": "subtenant_dark_theme_color" + }, + { + "swagger_models": [ + "BrandingImage" + ], + "primary_key_field": "reference", + "methods": [ + { + "description": "Revert an account branding image to dark theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "is_primary_key": true, + "_override": true, + "type": "string", + "api_fieldname": "reference", + "entity_fieldname": "reference", + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "name": "reference", + "in": "path", + "description": "Name of the branding images (icon or picture).", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "post", + "mode": "delete", + "responses": [ + { + "description": "Image reverted successfully.", + "_key": "204" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Unknown image reference, or account not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/clear", + "summary": "Revert an image to dark theme default.", + "return_type": "subtenant_dark_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_dark_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "clearAccountDarkImage", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve metadata of one account dark theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_image_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_image" + } + }, + "_key": "200" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Unknown image reference, or account not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}", + "summary": "Get metadata of a dark theme image.", + "return_type": "subtenant_dark_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_dark_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "static_uri", + "updated_at" + ], + "group_id": "Branding", + "operation_id": "getAccountDarkImageData", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "read" + }, + { + "description": "Upload a new account dark theme branding image as form data in PNG or JPEG format.", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "in": "stream", + "name": "image", + "description": "The image in PNG or JPEG format as multipart form data.", + "required": true, + "type": "file", + "entity_fieldname": "image", + "api_fieldname": "image", + "external_param": true, + "parameter_fieldname": "image", + "_key": "image" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "post", + "mode": "update", + "responses": [ + { + "description": "Image uploaded successfully.", + "headers": [ + { + "type": "string", + "description": "Location of the image metadata.", + "_key": "Content-Location" + }, + { + "type": "string", + "description": "Location of the image binary.", + "_key": "Location" + } + ], + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "light_theme_image_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_light_theme_image" + } + }, + "_key": "201" + }, + { + "description": "Error in input data format, for example, image is too large.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "403" + }, + { + "description": "Unknown image reference.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart", + "summary": "Upload a dark theme image.", + "return_type": "subtenant_dark_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_dark_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "static_uri", + "updated_at" + ], + "group_id": "Branding", + "operation_id": "uploadAccountDarkImageMultipart", + "additional_operations": [ + { + "operation_id": "uploadAccountDarkImage", + "notes": "The multipart endpoint is used by the SDKs as it offers the same functionality as the standard upload endpoint." + } + ], + "pagination": false, + "request_content_type": "multipart/form-data", + "request_body": "file", + "_key": "update" + } + ], + "fields": [ + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", + "required": false, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "readOnly": false, + "_key": "reference" + }, + { + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "required": false, + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant user interface configuration - images" + ], + "group_id": "Branding", + "_key": "subtenant_dark_theme_image" + }, + { + "swagger_models": [ + "CertificateGenerationReq", + "IdentityProviderCreationReq", + "IdentityProviderInfo", + "IdentityProviderList", + "IdentityProviderUpdateReq" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "Create a new identity provider.", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", + "in": "path", + "required": true, + "_key": "account_id" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "in": "query", + "name": "discovery", + "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", + "type": "boolean", + "allowEmptyValue": true, + "entity_fieldname": "discovery", + "api_fieldname": "discovery", + "external_param": true, + "parameter_fieldname": "discovery", + "required": false, + "_key": "discovery" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "name": "oidc_attributes", + "in": "body", + "schema_param": true, + "entity_fieldname": "oidc_attributes", + "api_fieldname": "oidc_attributes", + "external_param": true, + "parameter_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_identity_provider_status_enum", + "_key": "status" + } + ], + "method": "post", + "mode": "create", + "responses": [ + { + "description": "New entity created.", + "headers": [ + { + "type": "string", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "_key": "Content-Location" + }, + { + "type": "string", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "_key": "Location" + } + ], "schema": { "type": "object", "required": [ - "code", - "message", + "etag", + "id", + "name", "object", - "request_id", "type" ], "properties": [ { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" }, { "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "400" - }, - { - "description": "Authentication failure.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" }, { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" }, { "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always 'identity-provider'", "enum": [ - "error" + "identity-provider" ], + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "401" - }, - { - "description": "Forbidden.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Status of the identity provider.", "enum": [ - "error" + "ACTIVE", + "SUSPENDED" ], - "_key": "object" + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "parameter_fieldname": "type", + "in": "body", + "required": true, + "enum_reference": "identity_provider_type_enum", + "_key": "type" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" } - ] + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } }, - "_key": "403" + "_key": "201" }, { - "description": "Color or account not found.", + "description": "Error in input data, for example, too long name.", "schema": { "type": "object", "required": [ @@ -60549,197 +63958,20 @@ "_key": "object" }, { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/branding-colors/dark/{reference}", - "summary": "Updates a dark theme branding color.", - "return_type": "subtenant_dark_theme_color", - "return_info": { - "self": true, - "custom": false, - "type": "subtenant_dark_theme_color" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Branding", - "operation_id": "setAccountDarkColor", - "additional_operations": [ - { - "operation_id": "bulkSetAccountDarkColors", - "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." - } - ], - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "update" - } - ], - "fields": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "readOnly": false, - "_key": "color" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", - "required": false, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "readOnly": false, - "_key": "reference" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant user interface configuration - colors" - ], - "group_id": "Branding", - "_key": "subtenant_dark_theme_color" - }, - { - "swagger_models": [ - "BrandingImage" - ], - "primary_key_field": "reference", - "methods": [ - { - "description": "Revert an account branding image to dark theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", - "field_renames": [], - "fields": [ - { - "name": "account_id", - "in": "path", - "description": "The ID of the account.", - "required": true, - "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": true, - "parameter_fieldname": "account_id", - "_key": "account_id" - }, - { - "is_primary_key": true, - "_override": true, - "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "name": "reference", - "in": "path", - "description": "Name of the branding images (icon or picture).", - "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" - } - ], - "method": "post", - "mode": "delete", - "responses": [ - { - "description": "Image reverted successfully.", - "_key": "204" + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" }, { "description": "Authentication failure.", @@ -60888,7 +64120,7 @@ "_key": "403" }, { - "description": "Unknown image reference, or account not found.", + "description": "Account not found.", "schema": { "type": "object", "required": [ @@ -60961,13 +64193,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/clear", - "summary": "Revert an image to dark theme default.", - "return_type": "subtenant_dark_theme_image", + "path": "/v3/accounts/{account_id}/identity-providers", + "summary": "Create a new identity provider.", + "return_type": "subtenant_identity_provider", "return_info": { "self": true, "custom": false, - "type": "subtenant_dark_theme_image" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -60975,182 +64207,57 @@ "object", "etag", "type", - "filter" + "filter", + "id", + "created_at", + "updated_at", + "is_default" ], - "group_id": "Branding", - "operation_id": "clearAccountDarkImage", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "createAccountIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "delete" + "_key": "create" }, { - "description": "Retrieve metadata of one account dark theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an identity provider by ID.", "field_renames": [], "fields": [ { "name": "account_id", "in": "path", - "description": "The ID of the account.", + "description": "Account ID.", "required": true, "type": "string", "entity_fieldname": "account_id", "api_fieldname": "account_id", - "external_param": true, + "external_param": false, "parameter_fieldname": "account_id", "_key": "account_id" }, { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "name": "identity_provider_id", "in": "path", + "description": "The ID of the identity provider to delete.", "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "identity_provider_id", + "external_param": false, + "parameter_fieldname": "identity_provider_id", + "_key": "id" } ], - "method": "get", - "mode": "read", + "method": "delete", + "mode": "delete", "responses": [ { - "description": "Successful operation.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "description": "Entity name: always 'branding_image'", - "readOnly": true, - "enum": [ - "branding_image" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "light_theme_image_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_image" - } - }, - "_key": "200" + "description": "Deleted successfully.", + "_key": "204" }, { "description": "Authentication failure.", @@ -61226,7 +64333,7 @@ "_key": "401" }, { - "description": "Forbidden.", + "description": "Forbidden, or identity provider is in use.", "schema": { "type": "object", "required": [ @@ -61299,7 +64406,7 @@ "_key": "403" }, { - "description": "Unknown image reference, or account not found.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -61372,13 +64479,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}", - "summary": "Get metadata of a dark theme image.", - "return_type": "subtenant_dark_theme_image", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "summary": "Delete an identity provider by ID.", + "return_type": "subtenant_identity_provider", "return_info": { "self": true, "custom": false, - "type": "subtenant_dark_theme_image" + "type": "subtenant_identity_provider" }, "x_filter": {}, "x_deprecation": null, @@ -61386,281 +64493,253 @@ "object", "etag", "type", - "filter", - "static_uri", - "updated_at" + "filter" ], - "group_id": "Branding", - "operation_id": "getAccountDarkImageData", + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "deleteAccountIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "delete" }, { - "description": "Upload a new account dark theme branding image as form data in PNG or JPEG format.", + "description": "Delete a service provider certificate.", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "The ID of the account.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": true, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", - "_key": "account_id" - }, - { - "in": "stream", - "name": "image", - "description": "The image in PNG or JPEG format as multipart form data.", + "in": "path", "required": true, - "type": "file", - "entity_fieldname": "image", - "api_fieldname": "image", - "external_param": true, - "parameter_fieldname": "image", - "_key": "image" + "_key": "account_id" }, { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" + "_key": "id" } ], "method": "post", - "mode": "update", + "mode": "delete_service_provider_certificate", "responses": [ { - "description": "Image uploaded successfully.", + "description": "Successful operation.", "headers": [ { "type": "string", - "description": "Location of the image metadata.", + "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", "_key": "Content-Location" - }, - { - "type": "string", - "description": "Location of the image binary.", - "_key": "Location" } ], "schema": { "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], "properties": [ { "type": "string", - "description": "Entity name: always 'branding_image'", - "readOnly": true, - "enum": [ - "branding_image" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", "in": "path", "required": true, - "enum_reference": "light_theme_image_reference_enum", - "_key": "reference" + "_key": "id" }, { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" }, { "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_light_theme_image" - } - }, - "_key": "201" - }, - { - "description": "Error in input data format, for example, image is too large.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" }, { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Status of the identity provider.", "enum": [ - "error" + "ACTIVE", + "SUSPENDED" ], - "_key": "object" + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "parameter_fieldname": "type", + "in": "body", + "required": true, + "enum_reference": "identity_provider_type_enum", + "_key": "type" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" } - ] + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } }, - "_key": "400" + "_key": "200" }, { "description": "Authentication failure.", @@ -61809,7 +64888,7 @@ "_key": "403" }, { - "description": "Unknown image reference.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -61834,517 +64913,166 @@ "type": "object", "required": [ "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart", - "summary": "Upload a dark theme image.", - "return_type": "subtenant_dark_theme_image", - "return_info": { - "self": true, - "custom": false, - "type": "subtenant_dark_theme_image" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "static_uri", - "updated_at" - ], - "group_id": "Branding", - "operation_id": "uploadAccountDarkImageMultipart", - "additional_operations": [ - { - "operation_id": "uploadAccountDarkImage", - "notes": "The multipart endpoint is used by the SDKs as it offers the same functionality as the standard upload endpoint." - } - ], - "pagination": false, - "request_content_type": "multipart/form-data", - "request_body": "file", - "_key": "update" - } - ], - "fields": [ - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", - "required": false, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "readOnly": false, - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "required": false, - "_key": "static_uri" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant user interface configuration - images" - ], - "group_id": "Branding", - "_key": "subtenant_dark_theme_image" - }, - { - "swagger_models": [ - "CertificateGenerationReq", - "IdentityProviderCreationReq", - "IdentityProviderInfo", - "IdentityProviderList", - "IdentityProviderUpdateReq" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "Create a new identity provider.", - "field_renames": [], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "parameter_fieldname": "account_id", - "in": "path", - "required": true, - "_key": "account_id" - }, - { - "type": "string", - "maxLength": 500, - "description": "Description for the identity provider.", - "api_fieldname": "description", - "entity_fieldname": "description", - "parameter_fieldname": "description", - "in": "body", - "required": false, - "_key": "description" - }, - { - "in": "query", - "name": "discovery", - "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", - "type": "boolean", - "allowEmptyValue": true, - "entity_fieldname": "discovery", - "api_fieldname": "discovery", - "external_param": true, - "parameter_fieldname": "discovery", - "required": false, - "_key": "discovery" - }, - { - "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "object", - "required": false, - "properties": [ - { - "type": "string", - "description": "URL of the OAuth 2.0 authorization endpoint.", - "x-nullable": true, - "_key": "authorization_endpoint" - }, - { - "type": "boolean", - "description": "For future use.", - "x-nullable": true, - "_key": "auto_enrollment" - }, - { - "description": "Mapping for non-standard OIDC claim names.", - "type": "object", - "properties": [ - { - "type": "string", - "description": "Custom claim name for 'email'.", - "example": "email_address", - "x-nullable": true, - "_key": "email" - }, - { - "type": "string", - "description": "Custom claim name for 'email_verified'.", - "x-nullable": true, - "_key": "email_verified" - }, - { - "type": "string", - "description": "Custom claim name for 'family_name'.", - "x-nullable": true, - "_key": "family_name" - }, - { - "type": "string", - "description": "Custom claim name for 'given_name'.", - "x-nullable": true, - "_key": "given_name" - }, - { - "type": "string", - "description": "Custom claim name for 'name'.", - "x-nullable": true, - "_key": "name" - }, - { - "type": "string", - "description": "Custom claim name for 'phone_number'.", - "x-nullable": true, - "_key": "phone_number" - }, - { - "type": "string", - "description": "Custom claim name for 'sub'.", - "x-nullable": true, - "_key": "sub" - }, - { - "type": "string", - "description": "Custom claim name for 'updated_at'.", - "x-nullable": true, - "_key": "updated_at" - }, - { - "type": "string", - "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", - "example": "yyyy-MM-dd'T'HH:mm:ssXXX", - "x-nullable": true, - "_key": "updated_at_pattern" - } - ], - "foreign_key": { - "group": "Accounts", - "entity": "oidc_request_claim_mapping" - }, - "x-nullable": true, - "_key": "claim_mapping" - }, - { - "type": "string", - "description": "Client ID needed to authenticate and gain access to identity provider's API.", - "x-nullable": true, - "_key": "client_id" - }, - { - "type": "string", - "description": "Client secret needed to authenticate and gain access to identity provider's API.", - "x-nullable": true, - "_key": "client_secret" - }, - { - "type": "string", - "description": "URL of the provider's end session endpoint.", - "x-nullable": true, - "_key": "end_session_endpoint" - }, - { - "type": "string", - "description": "Issuer of the identity provider.", - "_key": "issuer" - }, - { - "type": "string", - "description": "URL of the provider's JSON web key set document.", - "x-nullable": true, - "_key": "jwks_uri" - }, - { - "type": "array", - "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", - "items": { - "type": "object", - "properties": [ - { - "type": "string", - "description": "The public key.", - "_key": "key" - }, - { - "type": "string", - "description": "The public key ID.", - "_key": "kid" - } - ], - "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", - "foreign_key": { - "group": "Accounts", - "entity": "identity_provider_public_key" - } - }, - "x-nullable": true, - "_key": "keys" - }, - { - "type": "string", - "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", - "x-nullable": true, - "_key": "redirect_uri" - }, - { - "type": "string", - "description": "URL of the provider's token revocation endpoint.", - "x-nullable": true, - "_key": "revocation_endpoint" - }, - { - "type": "string", - "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", - "example": "openid email", - "_key": "scopes" - }, - { - "type": "string", - "description": "URL of the OAuth 2.0 authorization endpoint.", - "x-nullable": true, - "_key": "token_endpoint" - }, - { - "type": "string", - "enum": [ - "POST", - "GET" - ], - "default": "POST", - "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", - "_key": "token_request_mode" - }, - { - "type": "string", - "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", - "example": "oidc.data", - "_key": "token_response_path" - }, - { - "type": "string", - "description": "URL of the OAuth 2.0 UserInfo endpoint.", - "x-nullable": true, - "_key": "userinfo_endpoint" - } - ], - "description": "Represents OIDC specific attributes.", - "foreign_key": { - "group": "Accounts", - "entity": "oidc_request" + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] }, - "name": "oidc_attributes", - "in": "body", - "schema_param": true, - "entity_fieldname": "oidc_attributes", - "api_fieldname": "oidc_attributes", - "external_param": true, - "parameter_fieldname": "oidc_attributes", - "_key": "oidc_attributes" + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/delete-sp-certificate", + "summary": "Delete the service provider certificate.", + "return_type": "subtenant_identity_provider", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_identity_provider" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "is_default" + ], + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "deleteAccountSpCertificate", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete_service_provider_certificate" + }, + { + "description": "Generate a new service provider certificate.", + "field_renames": [], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "parameter_fieldname": "account_id", + "in": "path", + "required": true, + "_key": "account_id" }, { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } + "type": "string", + "description": "The algorithm and its key size used for generating the certificate. Defaults to RSA2048.", + "enum": [ + "RSA2048", + "RSA3072", + "EC224", + "EC256", + "EC384", + "EC521", + "ECDSA224", + "ECDSA256", + "ECDSA384", + "ECDSA521" ], - "description": "Represents SAML2 specific attributes in responses.", - "api_fieldname": "saml2_attributes", - "entity_fieldname": "saml2_attributes", - "parameter_fieldname": "saml2_attributes", + "name": "algorithm", "in": "body", + "schema_param": true, + "entity_fieldname": "algorithm", + "api_fieldname": "algorithm", + "external_param": true, + "parameter_fieldname": "algorithm", "required": false, - "_key": "saml2_attributes" + "enum_reference": "subtenant_identity_provider_algorithm_enum", + "_key": "algorithm" }, { "type": "string", - "description": "Status of the identity provider.", - "enum": [ - "ACTIVE", - "SUSPENDED" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "integer", + "format": "int32", + "description": "Validity for the certificate in days.", + "name": "validity", "in": "body", + "schema_param": true, + "entity_fieldname": "validity", + "api_fieldname": "validity", + "external_param": true, + "parameter_fieldname": "validity", "required": false, - "enum_reference": "subtenant_identity_provider_status_enum", - "_key": "status" + "_key": "validity" } ], "method": "post", - "mode": "create", + "mode": "generate_service_provider_certificate", "responses": [ { - "description": "New entity created.", + "description": "Successful operation.", "headers": [ { "type": "string", "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", "_key": "Content-Location" - }, - { - "type": "string", - "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", - "_key": "Location" } ], "schema": { @@ -62416,136 +65144,353 @@ }, { "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "parameter_fieldname": "type", + "in": "body", + "required": true, + "enum_reference": "identity_provider_type_enum", + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } + }, + "_key": "200" + }, + { + "description": "Error in input data, for example, invalid certificate validity value.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Authentication failure.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" }, { "type": "string", - "description": "Entity name: always 'identity-provider'", + "description": "Entity name, always `error`.", "enum": [ - "identity-provider" + "error" ], - "api_fieldname": "object", - "entity_fieldname": "object", "_key": "object" }, - { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } - ], - "description": "Represents SAML2 specific attributes in responses.", - "api_fieldname": "saml2_attributes", - "entity_fieldname": "saml2_attributes", - "parameter_fieldname": "saml2_attributes", - "in": "body", - "required": false, - "_key": "saml2_attributes" - }, { "type": "string", - "description": "Status of the identity provider.", - "enum": [ - "ACTIVE", - "SUSPENDED" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "identity_provider_status_enum", - "_key": "status" + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" }, { "type": "string", - "description": "Identity provider type.", - "enum": [ - "NATIVE", - "MBED", - "SAML2", - "OIDC" - ], - "api_fieldname": "type", - "entity_fieldname": "type", - "name": "type", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "type", - "required": true, + "description": "Error type used to categorise the error.", + "example": "validation_error", "_key": "type" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" } - ], - "foreign_key": { - "group": "Accounts", - "entity": "identity_provider" - } + ] }, - "_key": "201" + "_key": "403" }, { - "description": "Error in input data, for example, too long name.", + "description": "Account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -62615,7 +65560,371 @@ } ] }, - "_key": "400" + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/generate-sp-certificate", + "summary": "Generate a new service provider certificate.", + "return_type": "subtenant_identity_provider", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_identity_provider" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "is_default" + ], + "group_id": "Accounts", + "parameter_map": { + "identity_provider_id": "id" + }, + "operation_id": "generateAccountSpCertificate", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "generate_service_provider_certificate" + }, + { + "description": "Retrieve identity providers in an array.", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": false, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", + "required": false, + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "subtenant_identity_provider_order_enum", + "_key": "order" + } + ], + "method": "get", + "mode": "list", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "data", + "has_more", + "limit", + "object", + "total_count" + ], + "properties": [ + { + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" + }, + { + "type": "array", + "description": "A list of entities.", + "items": { + "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } + }, + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" + }, + { + "type": "string", + "description": "Entity name: always `list`.", + "enum": [ + "list" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "identity_provider_order_enum", + "_key": "order" + }, + { + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" + } + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_identity_provider" + } + }, + "_key": "200" }, { "description": "Authentication failure.", @@ -62838,8 +66147,8 @@ } ], "path": "/v3/accounts/{account_id}/identity-providers", - "summary": "Create a new identity provider.", - "return_type": "subtenant_identity_provider", + "summary": "Get all identity providers.", + "return_type": "paginated_response(subtenant_identity_provider)", "return_info": { "self": true, "custom": false, @@ -62852,56 +66161,253 @@ "etag", "type", "filter", - "id", - "created_at", - "updated_at", - "is_default" + "total_count", + "has_more", + "data" ], + "foreign_key_priority": "self", "group_id": "Accounts", "parameter_map": { "identity_provider_id": "id" }, - "operation_id": "createAccountIdentityProvider", - "pagination": false, + "operation_id": "getAllAccountIdentityProviders", + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "subtenant_identity_provider" + }, "request_content_type": "application/json", "request_body": "json", - "_key": "create" + "_key": "list" }, { - "description": "Delete an identity provider by ID.", + "description": "Manage identity providers of a tenant account.", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": false, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { - "name": "identity_provider_id", - "in": "path", - "description": "The ID of the identity provider to delete.", - "required": true, "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", "entity_fieldname": "id", - "api_fieldname": "identity_provider_id", - "external_param": false, "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, "_key": "id" } ], - "method": "delete", - "mode": "delete", + "method": "get", + "mode": "read", "responses": [ { - "description": "Deleted successfully.", - "_key": "204" + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "etag", + "id", + "name", + "object", + "type" + ], + "properties": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "entity_fieldname": "is_default", + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'identity-provider'", + "enum": [ + "identity-provider" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "identity_provider_status_enum", + "_key": "status" + }, + { + "type": "string", + "description": "Identity provider type.", + "enum": [ + "NATIVE", + "MBED", + "SAML2", + "OIDC" + ], + "api_fieldname": "type", + "entity_fieldname": "type", + "parameter_fieldname": "type", + "in": "body", + "required": true, + "enum_reference": "identity_provider_type_enum", + "_key": "type" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider" + } + }, + "_key": "200" }, { "description": "Authentication failure.", @@ -62977,7 +66483,7 @@ "_key": "401" }, { - "description": "Forbidden, or identity provider is in use.", + "description": "Forbidden.", "schema": { "type": "object", "required": [ @@ -63124,7 +66630,7 @@ } ], "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", - "summary": "Delete an identity provider by ID.", + "summary": "Retrieve identity provider by ID.", "return_type": "subtenant_identity_provider", "return_info": { "self": true, @@ -63137,20 +66643,27 @@ "object", "etag", "type", - "filter" + "filter", + "created_at", + "updated_at", + "name", + "description", + "status", + "saml2_attributes", + "is_default" ], "group_id": "Accounts", "parameter_map": { "identity_provider_id": "id" }, - "operation_id": "deleteAccountIdentityProvider", + "operation_id": "getAccountIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "delete" + "_key": "read" }, { - "description": "Delete a service provider certificate.", + "description": "Refreshes an OIDC IdP's signing keys.", "field_renames": [], "fields": [ { @@ -63179,7 +66692,7 @@ } ], "method": "post", - "mode": "delete_service_provider_certificate", + "mode": "refresh_tokens", "responses": [ { "description": "Successful operation.", @@ -63362,12 +66875,10 @@ ], "api_fieldname": "type", "entity_fieldname": "type", - "name": "type", - "in": "body", - "schema_param": true, - "external_param": true, "parameter_fieldname": "type", + "in": "body", "required": true, + "enum_reference": "identity_provider_type_enum", "_key": "type" }, { @@ -63387,6 +66898,79 @@ }, "_key": "200" }, + { + "description": "Not an OIDC IdP or JWKS URI is unspecified.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, { "description": "Authentication failure.", "schema": { @@ -63607,8 +67191,8 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/delete-sp-certificate", - "summary": "Delete the service provider certificate.", + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/refresh-jwks", + "summary": "Refreshes the OIDC signing keys.", "return_type": "subtenant_identity_provider", "return_info": { "self": true, @@ -63634,14 +67218,14 @@ "parameter_map": { "identity_provider_id": "id" }, - "operation_id": "deleteAccountSpCertificate", + "operation_id": "refreshAccountJwks", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "delete_service_provider_certificate" + "_key": "refresh_tokens" }, { - "description": "Generate a new service provider certificate.", + "description": "Update an existing identity provider.", "field_renames": [], "fields": [ { @@ -63658,29 +67242,27 @@ }, { "type": "string", - "description": "The algorithm and its key size used for generating the certificate. Defaults to RSA2048.", - "enum": [ - "RSA2048", - "RSA3072", - "EC224", - "EC256", - "EC384", - "EC521", - "ECDSA224", - "ECDSA256", - "ECDSA384", - "ECDSA521" - ], - "name": "algorithm", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "entity_fieldname": "description", + "parameter_fieldname": "description", "in": "body", - "schema_param": true, - "entity_fieldname": "algorithm", - "api_fieldname": "algorithm", + "required": false, + "_key": "description" + }, + { + "in": "query", + "name": "discovery", + "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", + "type": "boolean", + "allowEmptyValue": true, + "entity_fieldname": "discovery", + "api_fieldname": "discovery", "external_param": true, - "parameter_fieldname": "algorithm", + "parameter_fieldname": "discovery", "required": false, - "enum_reference": "subtenant_identity_provider_algorithm_enum", - "_key": "algorithm" + "_key": "discovery" }, { "type": "string", @@ -63695,32 +67277,295 @@ "_key": "id" }, { - "type": "integer", - "format": "int32", - "description": "Validity for the certificate in days.", - "name": "validity", + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "name": "oidc_attributes", "in": "body", "schema_param": true, - "entity_fieldname": "validity", - "api_fieldname": "validity", + "entity_fieldname": "oidc_attributes", + "api_fieldname": "oidc_attributes", "external_param": true, - "parameter_fieldname": "validity", + "parameter_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "entity_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", "required": false, - "_key": "validity" + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "entity_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_identity_provider_status_enum", + "_key": "status" } ], - "method": "post", - "mode": "generate_service_provider_certificate", + "method": "put", + "mode": "update", "responses": [ { "description": "Successful operation.", - "headers": [ - { - "type": "string", - "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", - "_key": "Content-Location" - } - ], "schema": { "type": "object", "required": [ @@ -63893,12 +67738,10 @@ ], "api_fieldname": "type", "entity_fieldname": "type", - "name": "type", - "in": "body", - "schema_param": true, - "external_param": true, "parameter_fieldname": "type", + "in": "body", "required": true, + "enum_reference": "identity_provider_type_enum", "_key": "type" }, { @@ -63919,7 +67762,7 @@ "_key": "200" }, { - "description": "Error in input data, for example, invalid certificate validity value.", + "description": "Error in input data, for example, missing name.", "schema": { "type": "object", "required": [ @@ -64210,9 +68053,9 @@ }, "_key": "404" } - ], - "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/generate-sp-certificate", - "summary": "Generate a new service provider certificate.", + ], + "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", + "summary": "Update an existing identity provider.", "return_type": "subtenant_identity_provider", "return_info": { "self": true, @@ -64228,24 +68071,181 @@ "filter", "created_at", "updated_at", - "name", - "description", - "status", - "saml2_attributes", "is_default" ], "group_id": "Accounts", "parameter_map": { "identity_provider_id": "id" }, - "operation_id": "generateAccountSpCertificate", + "operation_id": "updateAccountIdentityProvider", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "generate_service_provider_certificate" + "_key": "update" + } + ], + "fields": [ + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account the identity provider belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "readOnly": false, + "required": true, + "_key": "account_id" }, { - "description": "Retrieve identity providers in an array.", + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, + { + "type": "string", + "maxLength": 500, + "description": "Description for the identity provider.", + "api_fieldname": "description", + "parameter_fieldname": "description", + "in": "body", + "required": false, + "readOnly": false, + "_key": "description" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "parameter_fieldname": "identity_provider_id", + "in": "path", + "required": true, + "readOnly": false, + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this is the global default identity provider.", + "readOnly": true, + "api_fieldname": "is_default", + "required": false, + "_key": "is_default" + }, + { + "type": "string", + "maxLength": 100, + "description": "Name of the identity provider.", + "api_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "readOnly": false, + "_key": "name" + }, + { + "type": "object", + "properties": [ + { + "type": "string", + "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", + "x-nullable": true, + "_key": "assertion_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the identity provider.", + "x-nullable": true, + "_key": "idp_entity_id" + }, + { + "type": "array", + "description": "List of public X509 certificates of the identity provider in PEM format.", + "items": { + "type": "string" + }, + "x-nullable": true, + "_key": "idp_x509_certs" + }, + { + "type": "string", + "description": "URL of the identity provider's SLO endpoint.", + "x-nullable": true, + "_key": "slo_endpoint" + }, + { + "type": "string", + "description": "Entity ID of the service provider.", + "x-nullable": true, + "_key": "sp_entity_id" + }, + { + "type": "string", + "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", + "readOnly": true, + "x-nullable": true, + "_key": "sp_x509_cert" + }, + { + "type": "string", + "description": "URL of the identity provider's SSO endpoint.", + "x-nullable": true, + "_key": "sso_endpoint" + } + ], + "description": "Represents SAML2 specific attributes in responses.", + "api_fieldname": "saml2_attributes", + "parameter_fieldname": "saml2_attributes", + "in": "body", + "required": false, + "readOnly": false, + "_key": "saml2_attributes" + }, + { + "type": "string", + "description": "Status of the identity provider.", + "enum": [ + "ACTIVE", + "SUSPENDED" + ], + "api_fieldname": "status", + "parameter_fieldname": "status", + "in": "body", + "required": false, + "enum_reference": "subtenant_identity_provider_status_enum", + "readOnly": false, + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "readOnly": true, + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant accounts - identity providers" + ], + "group_id": "Accounts", + "_key": "subtenant_identity_provider" + }, + { + "swagger_models": [ + "BrandingColor" + ], + "primary_key_field": "reference", + "methods": [ + { + "description": "Resets the branding color of a tenant account to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -64256,323 +68256,48 @@ "type": "string", "entity_fieldname": "account_id", "api_fieldname": "account_id", - "external_param": false, + "external_param": true, "parameter_fieldname": "account_id", "_key": "account_id" }, { + "is_primary_key": true, + "_override": true, "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, - "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", - "external_param": true, - "parameter_fieldname": "include", - "_key": "include" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "api_fieldname": "reference", + "entity_fieldname": "reference", "enum": [ - "ASC", - "DESC" + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "subtenant_identity_provider_order_enum", - "_key": "order" + "name": "reference", + "in": "path", + "description": "The name of the branding color.", + "required": true, + "enum_reference": "subtenant_light_theme_color_reference_enum", + "_key": "reference" } ], - "method": "get", - "mode": "list", + "method": "delete", + "mode": "delete", "responses": [ { - "description": "Successful operation.", - "schema": { - "type": "object", - "required": [ - "data", - "has_more", - "limit", - "object", - "total_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "type": "array", - "description": "A list of entities.", - "items": { - "type": "object", - "required": [ - "etag", - "id", - "name", - "object", - "type" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "_key": "created_at" - }, - { - "type": "string", - "maxLength": 500, - "description": "Description for the identity provider.", - "_key": "description" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "boolean", - "description": "Flag indicating whether this is the global default identity provider.", - "readOnly": true, - "_key": "is_default" - }, - { - "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always 'identity-provider'", - "enum": [ - "identity-provider" - ], - "_key": "object" - }, - { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } - ], - "description": "Represents SAML2 specific attributes in responses.", - "_key": "saml2_attributes" - }, - { - "type": "string", - "description": "Status of the identity provider.", - "enum": [ - "ACTIVE", - "SUSPENDED" - ], - "_key": "status" - }, - { - "type": "string", - "description": "Identity provider type.", - "enum": [ - "NATIVE", - "MBED", - "SAML2", - "OIDC" - ], - "_key": "type" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Accounts", - "entity": "identity_provider" - } - }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" - }, - { - "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Entity name: always `list`.", - "enum": [ - "list" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "identity_provider_order_enum", - "_key": "order" - }, - { - "type": "integer", - "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" - } - ], - "pagination": true, - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_identity_provider" - } - }, - "_key": "200" + "description": "Deleted successfully.", + "_key": "204" }, { "description": "Authentication failure.", @@ -64721,7 +68446,7 @@ "_key": "403" }, { - "description": "Account not found.", + "description": "Color or account not found.", "schema": { "type": "object", "required": [ @@ -64794,13 +68519,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/identity-providers", - "summary": "Get all identity providers.", - "return_type": "paginated_response(subtenant_identity_provider)", + "path": "/v3/accounts/{account_id}/branding-colors/light/{reference}", + "summary": "Reset branding color to default.", + "return_type": "void", "return_info": { - "self": true, - "custom": false, - "type": "subtenant_identity_provider" + "self": false, + "custom": true, + "type": "void" }, "x_filter": {}, "x_deprecation": null, @@ -64808,53 +68533,64 @@ "object", "etag", "type", - "filter", - "total_count", - "has_more", - "data" + "filter" ], - "foreign_key_priority": "self", - "group_id": "Accounts", - "parameter_map": { - "identity_provider_id": "id" - }, - "operation_id": "getAllAccountIdentityProviders", - "pagination": true, - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_identity_provider" + "group_id": "Branding", + "operation_id": "resetAccountLightColor", + "spec": { + "return_type": "void" }, + "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "list" + "_key": "delete" }, { - "description": "Manage identity providers of a tenant account.", + "description": "Retrieve the requested light theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference}\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, "parameter_fieldname": "account_id", - "in": "path", - "required": true, "_key": "account_id" }, { + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "identity_provider_id", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", "in": "path", "required": true, - "_key": "id" + "enum_reference": "subtenant_light_theme_color_reference_enum", + "_key": "reference" } ], "method": "get", @@ -64864,197 +68600,84 @@ "description": "Successful operation.", "schema": { "type": "object", - "required": [ - "etag", - "id", - "name", - "object", - "type" - ], "properties": [ { "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "maxLength": 500, - "description": "Description for the identity provider.", - "api_fieldname": "description", - "entity_fieldname": "description", - "parameter_fieldname": "description", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", "in": "body", "required": false, - "_key": "description" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" + "_key": "color" }, { "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "identity_provider_id", - "in": "path", - "required": true, - "_key": "id" - }, - { - "type": "boolean", - "description": "Flag indicating whether this is the global default identity provider.", + "description": "Entity name: always 'branding_color'", "readOnly": true, - "api_fieldname": "is_default", - "entity_fieldname": "is_default", - "_key": "is_default" - }, - { - "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always 'identity-provider'", "enum": [ - "identity-provider" + "branding_color" ], "api_fieldname": "object", "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } - ], - "description": "Represents SAML2 specific attributes in responses.", - "api_fieldname": "saml2_attributes", - "entity_fieldname": "saml2_attributes", - "parameter_fieldname": "saml2_attributes", + "name": "object", "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", "required": false, - "_key": "saml2_attributes" + "_key": "object" }, { - "type": "string", - "description": "Status of the identity provider.", "enum": [ - "ACTIVE", - "SUSPENDED" + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "identity_provider_status_enum", - "_key": "status" - }, - { "type": "string", - "description": "Identity provider type.", - "enum": [ - "NATIVE", - "MBED", - "SAML2", - "OIDC" - ], - "api_fieldname": "type", - "entity_fieldname": "type", - "name": "type", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "type", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", "required": true, - "_key": "type" + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", + "description": "Last update time in UTC.", + "readOnly": true, "api_fieldname": "updated_at", "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, "_key": "updated_at" } ], "foreign_key": { - "group": "Accounts", - "entity": "identity_provider" + "group": "Branding", + "entity": "subtenant_dark_theme_color" } }, "_key": "200" @@ -65206,7 +68829,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "Color or account not found.", "schema": { "type": "object", "required": [ @@ -65279,13 +68902,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", - "summary": "Retrieve identity provider by ID.", - "return_type": "subtenant_identity_provider", + "path": "/v3/accounts/{account_id}/branding-colors/light/{reference}", + "summary": "Get light theme branding color.", + "return_type": "subtenant_light_theme_color", "return_info": { "self": true, "custom": false, - "type": "subtenant_identity_provider" + "type": "subtenant_light_theme_color" }, "x_filter": {}, "x_deprecation": null, @@ -65294,264 +68917,180 @@ "etag", "type", "filter", - "created_at", - "updated_at", - "name", - "description", - "status", - "saml2_attributes", - "is_default" + "color", + "updated_at" ], - "group_id": "Accounts", - "parameter_map": { - "identity_provider_id": "id" - }, - "operation_id": "getAccountIdentityProvider", + "group_id": "Branding", + "operation_id": "getAccountLightColor", "pagination": false, "request_content_type": "application/json", "request_body": "json", "_key": "read" }, { - "description": "Refreshes an OIDC IdP's signing keys.", + "description": "Update a light theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", "field_renames": [], "fields": [ { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, "parameter_fieldname": "account_id", - "in": "path", - "required": true, "_key": "account_id" }, { "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "identity_provider_id", - "in": "path", - "required": true, - "_key": "id" - } - ], - "method": "post", - "mode": "refresh_tokens", - "responses": [ + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "_key": "color" + }, { - "description": "Successful operation.", - "headers": [ - { - "type": "string", - "description": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", - "_key": "Content-Location" - } - ], - "schema": { - "type": "object", - "required": [ - "etag", - "id", - "name", - "object", - "type" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "maxLength": 500, - "description": "Description for the identity provider.", - "api_fieldname": "description", - "entity_fieldname": "description", - "parameter_fieldname": "description", - "in": "body", - "required": false, - "_key": "description" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "identity_provider_id", - "in": "path", - "required": true, - "_key": "id" - }, - { - "type": "boolean", - "description": "Flag indicating whether this is the global default identity provider.", - "readOnly": true, - "api_fieldname": "is_default", - "entity_fieldname": "is_default", - "_key": "is_default" - }, - { - "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always 'identity-provider'", - "enum": [ - "identity-provider" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } - ], - "description": "Represents SAML2 specific attributes in responses.", - "api_fieldname": "saml2_attributes", - "entity_fieldname": "saml2_attributes", - "parameter_fieldname": "saml2_attributes", + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_light_theme_color_reference_enum", + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "method": "put", + "mode": "update", + "responses": [ + { + "description": "Color set successfully.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "entity_fieldname": "color", + "parameter_fieldname": "color", "in": "body", "required": false, - "_key": "saml2_attributes" + "_key": "color" }, { "type": "string", - "description": "Status of the identity provider.", + "description": "Entity name: always 'branding_color'", + "readOnly": true, "enum": [ - "ACTIVE", - "SUSPENDED" + "branding_color" ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", + "api_fieldname": "object", + "entity_fieldname": "object", + "name": "object", "in": "body", + "schema_param": true, + "external_param": true, + "parameter_fieldname": "object", "required": false, - "enum_reference": "identity_provider_status_enum", - "_key": "status" + "_key": "object" }, { - "type": "string", - "description": "Identity provider type.", "enum": [ - "NATIVE", - "MBED", - "SAML2", - "OIDC" + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" ], - "api_fieldname": "type", - "entity_fieldname": "type", - "name": "type", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "type", + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", "required": true, - "_key": "type" + "enum_reference": "subtenant_dark_theme_color_reference_enum", + "_key": "reference" }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", + "description": "Last update time in UTC.", + "readOnly": true, "api_fieldname": "updated_at", "entity_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, "_key": "updated_at" } ], "foreign_key": { - "group": "Accounts", - "entity": "identity_provider" + "group": "Branding", + "entity": "subtenant_dark_theme_color" } }, "_key": "200" }, { - "description": "Not an OIDC IdP or JWKS URI is unspecified.", + "description": "Error in input data format.", "schema": { "type": "object", "required": [ @@ -65770,7 +69309,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "Color or account not found.", "schema": { "type": "object", "required": [ @@ -65843,13 +69382,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/refresh-jwks", - "summary": "Refreshes the OIDC signing keys.", - "return_type": "subtenant_identity_provider", + "path": "/v3/accounts/{account_id}/branding-colors/light/{reference}", + "summary": "Updates light theme branding color.", + "return_type": "subtenant_light_theme_color", "return_info": { "self": true, "custom": false, - "type": "subtenant_identity_provider" + "type": "subtenant_light_theme_color" }, "x_filter": {}, "x_deprecation": null, @@ -65857,566 +69396,316 @@ "object", "etag", "type", - "filter", - "created_at", - "updated_at", - "name", - "description", - "status", - "saml2_attributes", - "is_default" + "filter" + ], + "group_id": "Branding", + "operation_id": "setAccountLightColor", + "additional_operations": [ + { + "operation_id": "bulkSetAccountLightColors", + "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." + } ], - "group_id": "Accounts", - "parameter_map": { - "identity_provider_id": "id" - }, - "operation_id": "refreshAccountJwks", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "refresh_tokens" + "_key": "update" + } + ], + "fields": [ + { + "type": "string", + "example": "#f3f93e", + "description": "The color given as name (purple) or as a hex code.", + "x-nullable": true, + "api_fieldname": "color", + "parameter_fieldname": "color", + "in": "body", + "required": false, + "readOnly": false, + "_key": "color" }, { - "description": "Update an existing identity provider.", - "field_renames": [], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "parameter_fieldname": "account_id", - "in": "path", - "required": true, - "_key": "account_id" - }, - { - "type": "string", - "maxLength": 500, - "description": "Description for the identity provider.", - "api_fieldname": "description", - "entity_fieldname": "description", - "parameter_fieldname": "description", - "in": "body", - "required": false, - "_key": "description" - }, - { - "in": "query", - "name": "discovery", - "description": "Indicates that the OpenID Connect endpoints and keys should be set using the OpenID Connect Discovery mechanism. The following parameters are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint * revocation_endpoint * jwks_uri * keys", - "type": "boolean", - "allowEmptyValue": true, - "entity_fieldname": "discovery", - "api_fieldname": "discovery", - "external_param": true, - "parameter_fieldname": "discovery", - "required": false, - "_key": "discovery" - }, - { - "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "identity_provider_id", - "in": "path", - "required": true, - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" - }, - { - "type": "object", - "required": false, - "properties": [ - { - "type": "string", - "description": "URL of the OAuth 2.0 authorization endpoint.", - "x-nullable": true, - "_key": "authorization_endpoint" - }, - { - "type": "boolean", - "description": "For future use.", - "x-nullable": true, - "_key": "auto_enrollment" - }, - { - "description": "Mapping for non-standard OIDC claim names.", - "type": "object", - "properties": [ - { - "type": "string", - "description": "Custom claim name for 'email'.", - "example": "email_address", - "x-nullable": true, - "_key": "email" - }, - { - "type": "string", - "description": "Custom claim name for 'email_verified'.", - "x-nullable": true, - "_key": "email_verified" - }, - { - "type": "string", - "description": "Custom claim name for 'family_name'.", - "x-nullable": true, - "_key": "family_name" - }, - { - "type": "string", - "description": "Custom claim name for 'given_name'.", - "x-nullable": true, - "_key": "given_name" - }, - { - "type": "string", - "description": "Custom claim name for 'name'.", - "x-nullable": true, - "_key": "name" - }, - { - "type": "string", - "description": "Custom claim name for 'phone_number'.", - "x-nullable": true, - "_key": "phone_number" - }, - { - "type": "string", - "description": "Custom claim name for 'sub'.", - "x-nullable": true, - "_key": "sub" - }, - { - "type": "string", - "description": "Custom claim name for 'updated_at'.", - "x-nullable": true, - "_key": "updated_at" - }, - { - "type": "string", - "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", - "example": "yyyy-MM-dd'T'HH:mm:ssXXX", - "x-nullable": true, - "_key": "updated_at_pattern" - } - ], - "foreign_key": { - "group": "Accounts", - "entity": "oidc_request_claim_mapping" - }, - "x-nullable": true, - "_key": "claim_mapping" - }, - { - "type": "string", - "description": "Client ID needed to authenticate and gain access to identity provider's API.", - "x-nullable": true, - "_key": "client_id" - }, - { - "type": "string", - "description": "Client secret needed to authenticate and gain access to identity provider's API.", - "x-nullable": true, - "_key": "client_secret" - }, - { - "type": "string", - "description": "URL of the provider's end session endpoint.", - "x-nullable": true, - "_key": "end_session_endpoint" - }, - { - "type": "string", - "description": "Issuer of the identity provider.", - "_key": "issuer" - }, - { - "type": "string", - "description": "URL of the provider's JSON web key set document.", - "x-nullable": true, - "_key": "jwks_uri" - }, - { - "type": "array", - "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", - "items": { - "type": "object", - "properties": [ - { - "type": "string", - "description": "The public key.", - "_key": "key" - }, - { - "type": "string", - "description": "The public key ID.", - "_key": "kid" - } - ], - "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", - "foreign_key": { - "group": "Accounts", - "entity": "identity_provider_public_key" - } - }, - "x-nullable": true, - "_key": "keys" - }, - { - "type": "string", - "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", - "x-nullable": true, - "_key": "redirect_uri" - }, - { - "type": "string", - "description": "URL of the provider's token revocation endpoint.", - "x-nullable": true, - "_key": "revocation_endpoint" - }, - { - "type": "string", - "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", - "example": "openid email", - "_key": "scopes" - }, - { - "type": "string", - "description": "URL of the OAuth 2.0 authorization endpoint.", - "x-nullable": true, - "_key": "token_endpoint" - }, - { - "type": "string", - "enum": [ - "POST", - "GET" - ], - "default": "POST", - "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", - "_key": "token_request_mode" - }, - { - "type": "string", - "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", - "example": "oidc.data", - "_key": "token_response_path" - }, - { - "type": "string", - "description": "URL of the OAuth 2.0 UserInfo endpoint.", - "x-nullable": true, - "_key": "userinfo_endpoint" - } - ], - "description": "Represents OIDC specific attributes.", - "foreign_key": { - "group": "Accounts", - "entity": "oidc_request" - }, - "name": "oidc_attributes", - "in": "body", - "schema_param": true, - "entity_fieldname": "oidc_attributes", - "api_fieldname": "oidc_attributes", - "external_param": true, - "parameter_fieldname": "oidc_attributes", - "_key": "oidc_attributes" - }, - { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } - ], - "description": "Represents SAML2 specific attributes in responses.", - "api_fieldname": "saml2_attributes", - "entity_fieldname": "saml2_attributes", - "parameter_fieldname": "saml2_attributes", - "in": "body", - "required": false, - "_key": "saml2_attributes" + "enum": [ + "error_color", + "primary", + "secondary", + "success_color", + "warning_color", + "canvas_background", + "canvas_background_font_color", + "workspace_background", + "workspace_background_font_color", + "info_color", + "info_font_color", + "primary_font_color", + "secondary_font_color", + "error_font_color", + "success_font_color", + "warning_font_color" + ], + "type": "string", + "description": "Color name.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", + "required": false, + "enum_reference": "subtenant_light_theme_color_reference_enum", + "readOnly": false, + "_key": "reference" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "parameter_fieldname": "updated_at", + "in": "body", + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant user interface configuration - colors" + ], + "group_id": "Branding", + "_key": "subtenant_light_theme_color" + }, + { + "swagger_models": [ + "BrandingImage" + ], + "primary_key_field": "reference", + "methods": [ + { + "description": "Revert an account branding image to light theme default.\n\n**Example:**\n```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" }, { + "is_primary_key": true, + "_override": true, "type": "string", - "description": "Status of the identity provider.", + "api_fieldname": "reference", + "entity_fieldname": "reference", "enum": [ - "ACTIVE", - "SUSPENDED" + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "subtenant_identity_provider_status_enum", - "_key": "status" + "name": "reference", + "in": "path", + "description": "Name of the branding images (icon or picture).", + "required": true, + "enum_reference": "subtenant_light_theme_image_reference_enum", + "_key": "reference" } ], - "method": "put", - "mode": "update", + "method": "post", + "mode": "delete", "responses": [ { - "description": "Successful operation.", + "description": "Image reverted successfully.", + "_key": "204" + }, + { + "description": "Authentication failure.", "schema": { "type": "object", "required": [ - "etag", - "id", - "name", + "code", + "message", "object", + "request_id", "type" ], "properties": [ { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" }, { "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" }, { "type": "string", - "maxLength": 500, - "description": "Description for the identity provider.", - "api_fieldname": "description", - "entity_fieldname": "description", - "parameter_fieldname": "description", - "in": "body", - "required": false, - "_key": "description" + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" }, { "type": "string", - "example": "1", - "description": "API resource entity version.", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" }, { "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "entity_fieldname": "id", - "parameter_fieldname": "identity_provider_id", - "in": "path", - "required": true, - "_key": "id" + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" }, { - "type": "boolean", - "description": "Flag indicating whether this is the global default identity provider.", - "readOnly": true, - "api_fieldname": "is_default", - "entity_fieldname": "is_default", - "_key": "is_default" + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" }, { "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "api_fieldname": "name", - "entity_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "_key": "name" + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" }, { "type": "string", - "description": "Entity name: always 'identity-provider'", + "description": "Entity name, always `error`.", "enum": [ - "identity-provider" + "error" ], - "api_fieldname": "object", - "entity_fieldname": "object", "_key": "object" }, - { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } - ], - "description": "Represents SAML2 specific attributes in responses.", - "api_fieldname": "saml2_attributes", - "entity_fieldname": "saml2_attributes", - "parameter_fieldname": "saml2_attributes", - "in": "body", - "required": false, - "_key": "saml2_attributes" - }, { "type": "string", - "description": "Status of the identity provider.", - "enum": [ - "ACTIVE", - "SUSPENDED" - ], - "api_fieldname": "status", - "entity_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "identity_provider_status_enum", - "_key": "status" + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" }, { "type": "string", - "description": "Identity provider type.", - "enum": [ - "NATIVE", - "MBED", - "SAML2", - "OIDC" - ], - "api_fieldname": "type", - "entity_fieldname": "type", - "name": "type", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "type", - "required": true, + "description": "Error type used to categorise the error.", + "example": "validation_error", "_key": "type" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" } - ], - "foreign_key": { - "group": "Accounts", - "entity": "identity_provider" - } + ] }, - "_key": "200" + "_key": "403" }, { - "description": "Error in input data, for example, missing name.", + "description": "Unknown image reference, or account not found.", "schema": { "type": "object", "required": [ @@ -66470,23 +69759,215 @@ "enum": [ "error" ], - "_key": "object" + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/accounts/{account_id}/branding-images/light/{reference}/clear", + "summary": "Revert an image to light theme default.", + "return_type": "subtenant_light_theme_image", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_light_theme_image" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter" + ], + "group_id": "Branding", + "operation_id": "clearAccountLightImage", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" + }, + { + "description": "Retrieve metadata for one account light theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "The ID of the account.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": true, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_light_theme_image_reference_enum", + "_key": "reference" + } + ], + "method": "get", + "mode": "read", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "Entity name: always 'branding_image'", + "readOnly": true, + "enum": [ + "branding_image" + ], + "api_fieldname": "object", + "entity_fieldname": "object", + "_key": "object" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" } - ] + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_dark_theme_image" + } }, - "_key": "400" + "_key": "200" }, { "description": "Authentication failure.", @@ -66635,7 +70116,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "Unknown image reference, or account not found.", "schema": { "type": "object", "required": [ @@ -66708,13 +70189,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", - "summary": "Update an existing identity provider.", - "return_type": "subtenant_identity_provider", + "path": "/v3/accounts/{account_id}/branding-images/light/{reference}", + "summary": "Get metadata of a light theme image.", + "return_type": "subtenant_light_theme_image", "return_info": { "self": true, "custom": false, - "type": "subtenant_identity_provider" + "type": "subtenant_light_theme_image" }, "x_filter": {}, "x_deprecation": null, @@ -66723,183 +70204,18 @@ "etag", "type", "filter", - "created_at", - "updated_at", - "is_default" + "static_uri", + "updated_at" ], - "group_id": "Accounts", - "parameter_map": { - "identity_provider_id": "id" - }, - "operation_id": "updateAccountIdentityProvider", + "group_id": "Branding", + "operation_id": "getAccountLightImageData", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "update" - } - ], - "fields": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account the identity provider belongs to.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "account_id", - "readOnly": false, - "required": true, - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "string", - "maxLength": 500, - "description": "Description for the identity provider.", - "api_fieldname": "description", - "parameter_fieldname": "description", - "in": "body", - "required": false, - "readOnly": false, - "_key": "description" - }, - { - "type": "string", - "example": "01619571d01d0242ac12000600000000", - "description": "Entity ID.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "id", - "parameter_fieldname": "identity_provider_id", - "in": "path", - "required": true, - "readOnly": false, - "_key": "id" - }, - { - "type": "boolean", - "description": "Flag indicating whether this is the global default identity provider.", - "readOnly": true, - "api_fieldname": "is_default", - "required": false, - "_key": "is_default" - }, - { - "type": "string", - "maxLength": 100, - "description": "Name of the identity provider.", - "api_fieldname": "name", - "parameter_fieldname": "name", - "in": "body", - "required": true, - "readOnly": false, - "_key": "name" - }, - { - "type": "object", - "properties": [ - { - "type": "string", - "description": "URL of the service provider's assertion endpoint. Leave this empty to use the default assertion endpoint.", - "x-nullable": true, - "_key": "assertion_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the identity provider.", - "x-nullable": true, - "_key": "idp_entity_id" - }, - { - "type": "array", - "description": "List of public X509 certificates of the identity provider in PEM format.", - "items": { - "type": "string" - }, - "x-nullable": true, - "_key": "idp_x509_certs" - }, - { - "type": "string", - "description": "URL of the identity provider's SLO endpoint.", - "x-nullable": true, - "_key": "slo_endpoint" - }, - { - "type": "string", - "description": "Entity ID of the service provider.", - "x-nullable": true, - "_key": "sp_entity_id" - }, - { - "type": "string", - "description": "Public X509 certificate of the service provider in PEM format. This is a read-only attribute, see API documentation about how to generate a new one or how to delete it.", - "readOnly": true, - "x-nullable": true, - "_key": "sp_x509_cert" - }, - { - "type": "string", - "description": "URL of the identity provider's SSO endpoint.", - "x-nullable": true, - "_key": "sso_endpoint" - } - ], - "description": "Represents SAML2 specific attributes in responses.", - "api_fieldname": "saml2_attributes", - "parameter_fieldname": "saml2_attributes", - "in": "body", - "required": false, - "readOnly": false, - "_key": "saml2_attributes" - }, - { - "type": "string", - "description": "Status of the identity provider.", - "enum": [ - "ACTIVE", - "SUSPENDED" - ], - "api_fieldname": "status", - "parameter_fieldname": "status", - "in": "body", - "required": false, - "enum_reference": "subtenant_identity_provider_status_enum", - "readOnly": false, - "_key": "status" + "_key": "read" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "api_fieldname": "updated_at", - "readOnly": true, - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant accounts - identity providers" - ], - "group_id": "Accounts", - "_key": "subtenant_identity_provider" - }, - { - "swagger_models": [ - "BrandingColor" - ], - "primary_key_field": "reference", - "methods": [ - { - "description": "Resets the branding color of a tenant account to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Upload a new account branding image as form data in PNG or JPEG format.", "field_renames": [], "fields": [ { @@ -66915,192 +70231,183 @@ "_key": "account_id" }, { + "in": "stream", + "name": "image", + "description": "The image in PNG or JPEG format as multipart form data.", + "required": true, + "type": "file", + "entity_fieldname": "image", + "api_fieldname": "image", + "external_param": true, + "parameter_fieldname": "image", + "_key": "image" + }, + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", "is_primary_key": true, "_override": true, - "type": "string", "api_fieldname": "reference", "entity_fieldname": "reference", - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], "name": "reference", "in": "path", - "description": "The name of the branding color.", "required": true, - "enum_reference": "subtenant_light_theme_color_reference_enum", + "enum_reference": "subtenant_light_theme_image_reference_enum", "_key": "reference" } ], - "method": "delete", - "mode": "delete", + "method": "post", + "mode": "update", "responses": [ { - "description": "Deleted successfully.", - "_key": "204" - }, - { - "description": "Authentication failure.", + "description": "Image uploaded successfully.", + "headers": [ + { + "type": "string", + "description": "Location of the image metadata.", + "_key": "Content-Location" + }, + { + "type": "string", + "description": "Location of the image binary.", + "_key": "Location" + } + ], "schema": { "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, { "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always 'branding_image'", + "readOnly": true, "enum": [ - "error" + "branding_image" ], + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "401" - }, - { - "description": "Forbidden.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", "enum": [ - "error" + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" ], - "_key": "object" + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "entity_fieldname": "reference", + "name": "reference", + "in": "path", + "required": true, + "enum_reference": "subtenant_dark_theme_image_reference_enum", + "_key": "reference" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "entity_fieldname": "static_uri", + "_key": "static_uri" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" } - ] + ], + "foreign_key": { + "group": "Branding", + "entity": "subtenant_dark_theme_image" + } }, - "_key": "403" + "_key": "201" }, { - "description": "Color or account not found.", + "description": "Error in input data format, for example, image is too large.", "schema": { "type": "object", "required": [ @@ -67170,171 +70477,7 @@ } ] }, - "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/branding-colors/light/{reference}", - "summary": "Reset branding color to default.", - "return_type": "void", - "return_info": { - "self": false, - "custom": true, - "type": "void" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Branding", - "operation_id": "resetAccountLightColor", - "spec": { - "return_type": "void" - }, - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "delete" - }, - { - "description": "Retrieve the requested light theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference}\n-H 'Authorization: Bearer '\n```", - "field_renames": [], - "fields": [ - { - "name": "account_id", - "in": "path", - "description": "The ID of the account.", - "required": true, - "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": true, - "parameter_fieldname": "account_id", - "_key": "account_id" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_light_theme_color_reference_enum", - "_key": "reference" - } - ], - "method": "get", - "mode": "read", - "responses": [ - { - "description": "Successful operation.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "_key": "color" - }, - { - "type": "string", - "description": "Entity name: always 'branding_color'", - "readOnly": true, - "enum": [ - "branding_color" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "name": "object", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", - "required": false, - "_key": "object" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_dark_theme_color" - } - }, - "_key": "200" + "_key": "400" }, { "description": "Authentication failure.", @@ -67483,7 +70626,7 @@ "_key": "403" }, { - "description": "Color or account not found.", + "description": "Unknown image reference.", "schema": { "type": "object", "required": [ @@ -67556,13 +70699,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-colors/light/{reference}", - "summary": "Get light theme branding color.", - "return_type": "subtenant_light_theme_color", + "path": "/v3/accounts/{account_id}/branding-images/light/{reference}/upload-multipart", + "summary": "Upload a light theme image.", + "return_type": "subtenant_light_theme_image", "return_info": { "self": true, "custom": false, - "type": "subtenant_light_theme_color" + "type": "subtenant_light_theme_image" }, "x_filter": {}, "x_deprecation": null, @@ -67571,250 +70714,418 @@ "etag", "type", "filter", - "color", + "static_uri", "updated_at" ], "group_id": "Branding", - "operation_id": "getAccountLightColor", + "operation_id": "uploadAccountLightImageMultipart", + "additional_operations": [ + { + "operation_id": "uploadAccountLightImage", + "notes": "The multipart request is more generic and better supported by SDKs." + } + ], "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "read" + "request_content_type": "multipart/form-data", + "request_body": "file", + "_key": "update" + } + ], + "fields": [ + { + "enum": [ + "brand_logo_portrait", + "brand_logo_square", + "brand_logo_landscape", + "brand_logo_email", + "desktop_background_landscape", + "desktop_background_square", + "desktop_background_portrait", + "carousel_image_portrait_0", + "carousel_image_portrait_1", + "carousel_image_portrait_2", + "carousel_image_portrait_3", + "carousel_image_portrait_4", + "carousel_image_portrait_5", + "carousel_image_portrait_6", + "carousel_image_portrait_7", + "carousel_image_portrait_8", + "carousel_image_portrait_9", + "carousel_image_square_0", + "carousel_image_square_1", + "carousel_image_square_2", + "carousel_image_square_3", + "carousel_image_square_4", + "carousel_image_square_5", + "carousel_image_square_6", + "carousel_image_square_7", + "carousel_image_square_8", + "carousel_image_square_9", + "carousel_image_landscape_0", + "carousel_image_landscape_1", + "carousel_image_landscape_2", + "carousel_image_landscape_3", + "carousel_image_landscape_4", + "carousel_image_landscape_5", + "carousel_image_landscape_6", + "carousel_image_landscape_7", + "carousel_image_landscape_8", + "carousel_image_landscape_9" + ], + "type": "string", + "description": "Name of the image.", + "is_primary_key": true, + "_override": true, + "api_fieldname": "reference", + "name": "reference", + "in": "path", + "required": false, + "enum_reference": "subtenant_light_theme_image_reference_enum", + "readOnly": false, + "_key": "reference" }, { - "description": "Update a light theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "type": "string", + "format": "uri", + "example": "https://static.mbed.com/123456789.jpg", + "description": "The static link to the image.", + "readOnly": true, + "api_fieldname": "static_uri", + "required": false, + "_key": "static_uri" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update time in UTC.", + "readOnly": true, + "api_fieldname": "updated_at", + "required": false, + "_key": "updated_at" + } + ], + "field_renames": [], + "tags": [ + "Tenant user interface configuration - images" + ], + "group_id": "Branding", + "_key": "subtenant_light_theme_image" + }, + { + "swagger_models": [ + "ApiKeyInfoRespList", + "GroupCreationInfo", + "GroupSummary", + "GroupSummaryList", + "GroupUpdateInfo", + "UserInfoRespList" + ], + "primary_key_field": "id", + "methods": [ + { + "description": "List the API keys of the group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "name": "account_id", "in": "path", - "description": "The ID of the account.", + "description": "Account ID.", "required": true, "type": "string", "entity_fieldname": "account_id", "api_fieldname": "account_id", - "external_param": true, + "external_param": false, "parameter_fieldname": "account_id", "_key": "account_id" }, { "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", "required": false, - "_key": "color" + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" }, { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", + "name": "group_id", "in": "path", + "description": "The ID of the group to retrieve API keys for.", "required": true, - "enum_reference": "subtenant_light_theme_color_reference_enum", - "_key": "reference" + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "group_id", + "external_param": false, + "parameter_fieldname": "group_id", + "_key": "id" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", + "name": "include", + "in": "query", + "description": "Comma-separated additional data to return. Currently supported: total_count.", "required": false, - "_key": "updated_at" - } - ], - "method": "put", - "mode": "update", - "responses": [ + "type": "string", + "entity_fieldname": "include", + "api_fieldname": "include", + "external_param": true, + "parameter_fieldname": "include", + "_key": "include" + }, { - "description": "Color set successfully.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "entity_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "_key": "color" - }, - { - "type": "string", - "description": "Entity name: always 'branding_color'", - "readOnly": true, - "enum": [ - "branding_color" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "name": "object", - "in": "body", - "schema_param": true, - "external_param": true, - "parameter_fieldname": "object", - "required": false, - "_key": "object" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_dark_theme_color_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_dark_theme_color" - } - }, - "_key": "200" + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" }, { - "description": "Error in input data format.", + "type": "string", + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "subtenant_policy_group_order_enum", + "_key": "order" + } + ], + "method": "get", + "mode": "api_keys", + "responses": [ + { + "description": "Successful operation.", "schema": { "type": "object", "required": [ - "code", - "message", + "data", + "has_more", + "limit", "object", - "request_id", - "type" + "total_count" ], "properties": [ { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "type": "string", + "example": "01619571f3c00242ac12000600000000", + "description": "The entity ID to fetch after the given one.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "after", + "entity_fieldname": "after", + "name": "after", + "in": "query", + "required": false, + "external_param": true, + "parameter_fieldname": "after", + "_key": "after" }, { "type": "array", - "description": "Request fields which failed validation.", + "description": "A list of entities.", "items": { "type": "object", "required": [ + "etag", + "id", + "key", "name", - "message" + "object" ], "properties": [ { "type": "string", - "description": "Message describing the error condition.", - "_key": "message" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account.", + "pattern": "[a-f0-9]{32}", + "_key": "account_id" }, { "type": "string", - "description": "Name of the field which caused the error.", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727683, + "description": "The timestamp of the API key creation in the storage, in milliseconds.", + "_key": "creation_time" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "array", + "description": "A list of group IDs this API key belongs to.", + "items": { + "type": "string" + }, + "_key": "groups" + }, + { + "type": "string", + "example": "01619571f7020242ac12000600000000", + "description": "The ID of the API key.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "string", + "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", + "description": "The API key.", + "_key": "key" + }, + { + "type": "integer", + "format": "int64", + "example": 1518630727688, + "description": "The timestamp of the latest API key usage, in milliseconds.", + "_key": "last_login_time" + }, + { + "type": "string", + "maxLength": 100, + "example": "API key gorgon", + "description": "The display name for the API key.", "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'api-key'", + "enum": [ + "api-key" + ], + "_key": "object" + }, + { + "type": "string", + "example": "01619571e2e89242ac12000600000000", + "description": "The owner of this API key, who is the creator by default.", + "pattern": "[a-f0-9]{32}", + "_key": "owner" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the API key.", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "_key": "status" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" } - ] + ], + "description": "Represents an API key in Device Management.", + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } }, - "_key": "fields" + "api_fieldname": "data", + "entity_fieldname": "data", + "_key": "data" }, { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "type": "boolean", + "example": false, + "description": "Flag indicating whether there are more results.", + "api_fieldname": "has_more", + "entity_fieldname": "has_more", + "_key": "has_more" + }, + { + "type": "integer", + "format": "int32", + "example": 50, + "description": "The number of results to return (2-1000). Default 50.", + "api_fieldname": "limit", + "entity_fieldname": "limit", + "name": "limit", + "in": "query", + "required": false, + "default": 50, + "external_param": true, + "parameter_fieldname": "limit", + "_key": "limit" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always `list`.", "enum": [ - "error" + "list" ], + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "enum": [ + "ASC", + "DESC" + ], + "api_fieldname": "order", + "entity_fieldname": "order", + "name": "order", + "in": "query", + "required": false, + "default": "ASC", + "external_param": true, + "parameter_fieldname": "order", + "enum_reference": "policy_group_order_enum", + "_key": "order" }, { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "type": "integer", + "format": "int32", + "example": 20, + "description": "The total number of records, if requested.", + "api_fieldname": "total_count", + "entity_fieldname": "total_count", + "_key": "total_count" } - ] + ], + "pagination": true, + "foreign_key": { + "group": "Accounts", + "entity": "api_key" + } }, - "_key": "400" + "_key": "200" }, { "description": "Authentication failure.", @@ -67963,7 +71274,7 @@ "_key": "403" }, { - "description": "Color or account not found.", + "description": "An account or group with that ID does not exist.", "schema": { "type": "object", "required": [ @@ -68036,13 +71347,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-colors/light/{reference}", - "summary": "Updates light theme branding color.", - "return_type": "subtenant_light_theme_color", + "path": "/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys", + "summary": "Get API keys of a group.", + "return_type": "paginated_response(subtenant_api_key)", "return_info": { - "self": true, + "self": false, "custom": false, - "type": "subtenant_light_theme_color" + "type": "subtenant_api_key" }, "x_filter": {}, "x_deprecation": null, @@ -68050,316 +71361,199 @@ "object", "etag", "type", - "filter" - ], - "group_id": "Branding", - "operation_id": "setAccountLightColor", - "additional_operations": [ - { - "operation_id": "bulkSetAccountLightColors", - "notes": "Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method." - } + "filter", + "total_count", + "has_more", + "data" ], - "pagination": false, + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "getApiKeysOfAccountGroup", + "foreign_key": { + "entity": "subtenant_api_key" + }, + "pagination": true, "request_content_type": "application/json", "request_body": "json", - "_key": "update" - } - ], - "fields": [ - { - "type": "string", - "example": "#f3f93e", - "description": "The color given as name (purple) or as a hex code.", - "x-nullable": true, - "api_fieldname": "color", - "parameter_fieldname": "color", - "in": "body", - "required": false, - "readOnly": false, - "_key": "color" - }, - { - "enum": [ - "error_color", - "primary", - "secondary", - "success_color", - "warning_color", - "canvas_background", - "canvas_background_font_color", - "workspace_background", - "workspace_background_font_color", - "info_color", - "info_font_color", - "primary_font_color", - "secondary_font_color", - "error_font_color", - "success_font_color", - "warning_font_color" - ], - "type": "string", - "description": "Color name.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", - "required": false, - "enum_reference": "subtenant_light_theme_color_reference_enum", - "readOnly": false, - "_key": "reference" + "_key": "api_keys" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "parameter_fieldname": "updated_at", - "in": "body", - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant user interface configuration - colors" - ], - "group_id": "Branding", - "_key": "subtenant_light_theme_color" - }, - { - "swagger_models": [ - "BrandingImage" - ], - "primary_key_field": "reference", - "methods": [ - { - "description": "Revert an account branding image to light theme default.\n\n**Example:**\n```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Create a new group.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyGroup1\"}'\n```", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "The ID of the account.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": true, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { - "is_primary_key": true, - "_override": true, - "type": "string", - "api_fieldname": "reference", - "entity_fieldname": "reference", - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" + "type": "object", + "properties": [ + { + "type": "array", + "description": "An array of API key IDs.", + "items": { + "type": "string" + }, + "_key": "apikeys" + }, + { + "type": "array", + "description": "An array of user IDs.", + "items": { + "type": "string" + }, + "_key": "users" + } ], - "name": "reference", - "in": "path", - "description": "Name of the branding images (icon or picture).", + "description": "Represents arrays of user and API key IDs.", + "name": "members", + "in": "body", + "schema_param": true, + "entity_fieldname": "members", + "api_fieldname": "members", + "external_param": true, + "parameter_fieldname": "members", + "required": false, + "_key": "members" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", "required": true, - "enum_reference": "subtenant_light_theme_image_reference_enum", - "_key": "reference" + "_key": "name" } ], "method": "post", - "mode": "delete", + "mode": "create", "responses": [ { - "description": "Image reverted successfully.", - "_key": "204" - }, - { - "description": "Authentication failure.", + "description": "New entity created.", "schema": { "type": "object", "required": [ - "code", - "message", + "account_id", + "apikey_count", + "etag", + "id", + "name", "object", - "request_id", - "type" + "user_count" ], "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, { "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "entity_fieldname": "apikey_count", + "_key": "apikey_count" }, { "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "401" - }, - { - "description": "Forbidden.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" }, { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" + "type": "string", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "group_id", + "in": "path", + "required": true, + "_key": "id" }, { "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" }, { "type": "string", - "description": "Entity name, always `error`.", + "description": "Entity name: always `group`.", "enum": [ - "error" + "group" ], + "api_fieldname": "object", + "entity_fieldname": "object", "_key": "object" }, { "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" }, { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "entity_fieldname": "user_count", + "_key": "user_count" } - ] + ], + "description": "This object contains basic information about groups.", + "foreign_key": { + "group": "Accounts", + "entity": "policy_group" + } }, - "_key": "403" + "_key": "201" }, { - "description": "Unknown image reference, or account not found.", + "description": "Error in input data, for example, invalid group name.", "schema": { "type": "object", "required": [ @@ -68429,199 +71623,7 @@ } ] }, - "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/branding-images/light/{reference}/clear", - "summary": "Revert an image to light theme default.", - "return_type": "subtenant_light_theme_image", - "return_info": { - "self": true, - "custom": false, - "type": "subtenant_light_theme_image" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter" - ], - "group_id": "Branding", - "operation_id": "clearAccountLightImage", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "delete" - }, - { - "description": "Retrieve metadata for one account light theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", - "field_renames": [], - "fields": [ - { - "name": "account_id", - "in": "path", - "description": "The ID of the account.", - "required": true, - "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": true, - "parameter_fieldname": "account_id", - "_key": "account_id" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_light_theme_image_reference_enum", - "_key": "reference" - } - ], - "method": "get", - "mode": "read", - "responses": [ - { - "description": "Successful operation.", - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "description": "Entity name: always 'branding_image'", - "readOnly": true, - "enum": [ - "branding_image" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_dark_theme_image" - } - }, - "_key": "200" + "_key": "400" }, { "description": "Authentication failure.", @@ -68770,7 +71772,7 @@ "_key": "403" }, { - "description": "Unknown image reference, or account not found.", + "description": "An account with the specified ID does not exist.", "schema": { "type": "object", "required": [ @@ -68841,227 +71843,9 @@ ] }, "_key": "404" - } - ], - "path": "/v3/accounts/{account_id}/branding-images/light/{reference}", - "summary": "Get metadata of a light theme image.", - "return_type": "subtenant_light_theme_image", - "return_info": { - "self": true, - "custom": false, - "type": "subtenant_light_theme_image" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "static_uri", - "updated_at" - ], - "group_id": "Branding", - "operation_id": "getAccountLightImageData", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "read" - }, - { - "description": "Upload a new account branding image as form data in PNG or JPEG format.", - "field_renames": [], - "fields": [ - { - "name": "account_id", - "in": "path", - "description": "The ID of the account.", - "required": true, - "type": "string", - "entity_fieldname": "account_id", - "api_fieldname": "account_id", - "external_param": true, - "parameter_fieldname": "account_id", - "_key": "account_id" - }, - { - "in": "stream", - "name": "image", - "description": "The image in PNG or JPEG format as multipart form data.", - "required": true, - "type": "file", - "entity_fieldname": "image", - "api_fieldname": "image", - "external_param": true, - "parameter_fieldname": "image", - "_key": "image" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_light_theme_image_reference_enum", - "_key": "reference" - } - ], - "method": "post", - "mode": "update", - "responses": [ - { - "description": "Image uploaded successfully.", - "headers": [ - { - "type": "string", - "description": "Location of the image metadata.", - "_key": "Content-Location" - }, - { - "type": "string", - "description": "Location of the image binary.", - "_key": "Location" - } - ], - "schema": { - "type": "object", - "properties": [ - { - "type": "string", - "description": "Entity name: always 'branding_image'", - "readOnly": true, - "enum": [ - "branding_image" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "entity_fieldname": "reference", - "name": "reference", - "in": "path", - "required": true, - "enum_reference": "subtenant_dark_theme_image_reference_enum", - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "entity_fieldname": "static_uri", - "_key": "static_uri" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "foreign_key": { - "group": "Branding", - "entity": "subtenant_dark_theme_image" - } - }, - "_key": "201" }, { - "description": "Error in input data format, for example, image is too large.", + "description": "A group with that name already exists.", "schema": { "type": "object", "required": [ @@ -69131,7 +71915,75 @@ } ] }, - "_key": "400" + "_key": "409" + } + ], + "path": "/v3/accounts/{account_id}/policy-groups", + "summary": "Create a new group.", + "return_type": "subtenant_policy_group", + "return_info": { + "self": true, + "custom": false, + "type": "subtenant_policy_group" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ + "object", + "etag", + "type", + "filter", + "id", + "created_at", + "updated_at", + "user_count", + "apikey_count" + ], + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "createAccountGroup", + "pagination": false, + "request_content_type": "application/json", + "request_body": "json", + "_key": "create" + }, + { + "description": "Delete a group.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "field_renames": [], + "fields": [ + { + "name": "account_id", + "in": "path", + "description": "Account ID.", + "required": true, + "type": "string", + "entity_fieldname": "account_id", + "api_fieldname": "account_id", + "external_param": false, + "parameter_fieldname": "account_id", + "_key": "account_id" + }, + { + "name": "group_id", + "in": "path", + "description": "The ID of the group to delete.", + "required": true, + "type": "string", + "entity_fieldname": "id", + "api_fieldname": "group_id", + "external_param": false, + "parameter_fieldname": "group_id", + "_key": "id" + } + ], + "method": "delete", + "mode": "delete", + "responses": [ + { + "description": "Deleted successfully.", + "_key": "204" }, { "description": "Authentication failure.", @@ -69207,7 +72059,7 @@ "_key": "401" }, { - "description": "Forbidden.", + "description": "Forbidden, or Administrators group cannot be removed.", "schema": { "type": "object", "required": [ @@ -69280,7 +72132,7 @@ "_key": "403" }, { - "description": "Unknown image reference.", + "description": "An account or group with that ID does not exist.", "schema": { "type": "object", "required": [ @@ -69353,13 +72205,13 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/branding-images/light/{reference}/upload-multipart", - "summary": "Upload a light theme image.", - "return_type": "subtenant_light_theme_image", + "path": "/v3/accounts/{account_id}/policy-groups/{group_id}", + "summary": "Delete a group.", + "return_type": "subtenant_policy_group", "return_info": { "self": true, "custom": false, - "type": "subtenant_light_theme_image" + "type": "subtenant_policy_group" }, "x_filter": {}, "x_deprecation": null, @@ -69367,116 +72219,20 @@ "object", "etag", "type", - "filter", - "static_uri", - "updated_at" - ], - "group_id": "Branding", - "operation_id": "uploadAccountLightImageMultipart", - "additional_operations": [ - { - "operation_id": "uploadAccountLightImage", - "notes": "The multipart request is more generic and better supported by SDKs." - } + "filter" ], + "group_id": "Accounts", + "parameter_map": { + "group_id": "id" + }, + "operation_id": "deleteAccountGroup", "pagination": false, - "request_content_type": "multipart/form-data", - "request_body": "file", - "_key": "update" - } - ], - "fields": [ - { - "enum": [ - "brand_logo_portrait", - "brand_logo_square", - "brand_logo_landscape", - "brand_logo_email", - "desktop_background_landscape", - "desktop_background_square", - "desktop_background_portrait", - "carousel_image_portrait_0", - "carousel_image_portrait_1", - "carousel_image_portrait_2", - "carousel_image_portrait_3", - "carousel_image_portrait_4", - "carousel_image_portrait_5", - "carousel_image_portrait_6", - "carousel_image_portrait_7", - "carousel_image_portrait_8", - "carousel_image_portrait_9", - "carousel_image_square_0", - "carousel_image_square_1", - "carousel_image_square_2", - "carousel_image_square_3", - "carousel_image_square_4", - "carousel_image_square_5", - "carousel_image_square_6", - "carousel_image_square_7", - "carousel_image_square_8", - "carousel_image_square_9", - "carousel_image_landscape_0", - "carousel_image_landscape_1", - "carousel_image_landscape_2", - "carousel_image_landscape_3", - "carousel_image_landscape_4", - "carousel_image_landscape_5", - "carousel_image_landscape_6", - "carousel_image_landscape_7", - "carousel_image_landscape_8", - "carousel_image_landscape_9" - ], - "type": "string", - "description": "Name of the image.", - "is_primary_key": true, - "_override": true, - "api_fieldname": "reference", - "name": "reference", - "in": "path", - "required": false, - "enum_reference": "subtenant_light_theme_image_reference_enum", - "readOnly": false, - "_key": "reference" - }, - { - "type": "string", - "format": "uri", - "example": "https://static.mbed.com/123456789.jpg", - "description": "The static link to the image.", - "readOnly": true, - "api_fieldname": "static_uri", - "required": false, - "_key": "static_uri" + "request_content_type": "application/json", + "request_body": "json", + "_key": "delete" }, { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update time in UTC.", - "readOnly": true, - "api_fieldname": "updated_at", - "required": false, - "_key": "updated_at" - } - ], - "field_renames": [], - "tags": [ - "Tenant user interface configuration - images" - ], - "group_id": "Branding", - "_key": "subtenant_light_theme_image" - }, - { - "swagger_models": [ - "ApiKeyInfoRespList", - "GroupSummary", - "GroupSummaryList", - "UserInfoRespList" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "List the API keys of the group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -69505,18 +72261,6 @@ "parameter_fieldname": "after", "_key": "after" }, - { - "name": "group_id", - "in": "path", - "description": "The ID of the group to retrieve API keys for.", - "required": true, - "type": "string", - "entity_fieldname": "id", - "api_fieldname": "group_id", - "external_param": false, - "parameter_fieldname": "group_id", - "_key": "id" - }, { "name": "include", "in": "query", @@ -69564,7 +72308,7 @@ } ], "method": "get", - "mode": "api_keys", + "mode": "list", "responses": [ { "description": "Successful operation.", @@ -69598,20 +72342,29 @@ "items": { "type": "object", "required": [ + "account_id", + "apikey_count", "etag", "id", - "key", "name", - "object" + "object", + "user_count" ], "properties": [ { "type": "string", "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account.", + "description": "The ID of the account this group belongs to.", "pattern": "[a-f0-9]{32}", "_key": "account_id" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "_key": "apikey_count" + }, { "type": "string", "format": "date-time", @@ -69619,91 +72372,53 @@ "description": "Creation UTC time RFC3339.", "_key": "created_at" }, - { - "type": "integer", - "format": "int64", - "example": 1518630727683, - "description": "The timestamp of the API key creation in the storage, in milliseconds.", - "_key": "creation_time" - }, { "type": "string", "example": "1", "description": "API resource entity version.", "_key": "etag" }, - { - "type": "array", - "description": "A list of group IDs this API key belongs to.", - "items": { - "type": "string" - }, - "_key": "groups" - }, { "type": "string", - "example": "01619571f7020242ac12000600000000", - "description": "The ID of the API key.", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", "pattern": "[a-f0-9]{32}", "_key": "id" }, - { - "type": "string", - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000", - "description": "The API key.", - "_key": "key" - }, - { - "type": "integer", - "format": "int64", - "example": 1518630727688, - "description": "The timestamp of the latest API key usage, in milliseconds.", - "_key": "last_login_time" - }, { "type": "string", "maxLength": 100, - "example": "API key gorgon", - "description": "The display name for the API key.", + "example": "Administrators", + "description": "The name of the group.", "_key": "name" }, { "type": "string", - "description": "Entity name: always 'api-key'", + "description": "Entity name: always `group`.", "enum": [ - "api-key" + "group" ], "_key": "object" }, - { - "type": "string", - "example": "01619571e2e89242ac12000600000000", - "description": "The owner of this API key, who is the creator by default.", - "pattern": "[a-f0-9]{32}", - "_key": "owner" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the API key.", - "enum": [ - "ACTIVE", - "INACTIVE" - ], - "_key": "status" - }, { "type": "string", "format": "date-time", "example": "2018-02-14T15:24:14Z", "description": "Last update UTC time RFC3339.", "_key": "updated_at" + }, + { + "type": "integer", + "format": "int32", + "example": 1, + "description": "The number of users in this group.", + "_key": "user_count" } ], - "description": "Represents an API key in Device Management.", + "description": "This object contains basic information about groups.", "foreign_key": { "group": "Accounts", - "entity": "api_key" + "entity": "subtenant_policy_group" } }, "api_fieldname": "data", @@ -69774,7 +72489,7 @@ "pagination": true, "foreign_key": { "group": "Accounts", - "entity": "api_key" + "entity": "subtenant_policy_group" } }, "_key": "200" @@ -69926,7 +72641,7 @@ "_key": "403" }, { - "description": "An account or group with that ID does not exist.", + "description": "An account with the specified ID does not exist.", "schema": { "type": "object", "required": [ @@ -69999,15 +72714,19 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys", - "summary": "Get API keys of a group.", - "return_type": "paginated_response(subtenant_api_key)", + "path": "/v3/accounts/{account_id}/policy-groups", + "summary": "Get all group information.", + "return_type": "paginated_response(subtenant_policy_group)", "return_info": { - "self": false, + "self": true, "custom": false, - "type": "subtenant_api_key" + "type": "subtenant_policy_group" + }, + "x_filter": { + "name": [ + "eq" + ] }, - "x_filter": {}, "x_deprecation": null, "drop_fields": [ "object", @@ -70016,243 +72735,134 @@ "filter", "total_count", "has_more", - "data" + "data", + "name__eq" ], + "foreign_key_priority": "self", "group_id": "Accounts", "parameter_map": { "group_id": "id" }, - "operation_id": "getApiKeysOfAccountGroup", + "operation_id": "getAllAccountGroups", + "pagination": true, "foreign_key": { - "entity": "subtenant_api_key" + "group": "Accounts", + "entity": "subtenant_policy_group" }, - "pagination": true, "request_content_type": "application/json", "request_body": "json", - "_key": "api_keys" + "_key": "list" }, { - "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve general information about the group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { - "name": "account_id", - "in": "path", - "description": "Account ID.", - "required": true, "type": "string", - "entity_fieldname": "account_id", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", + "pattern": "[a-f0-9]{32}", "api_fieldname": "account_id", - "external_param": false, + "entity_fieldname": "account_id", "parameter_fieldname": "account_id", + "in": "path", + "required": true, "_key": "account_id" }, { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" - }, - { - "name": "include", - "in": "query", - "description": "Comma-separated additional data to return. Currently supported: total_count.", - "required": false, - "type": "string", - "entity_fieldname": "include", - "api_fieldname": "include", - "external_param": true, - "parameter_fieldname": "include", - "_key": "include" - }, - { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "subtenant_policy_group_order_enum", - "_key": "order" + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "group_id", + "in": "path", + "required": true, + "_key": "id" } ], "method": "get", - "mode": "list", + "mode": "read", "responses": [ { "description": "Successful operation.", "schema": { "type": "object", "required": [ - "data", - "has_more", - "limit", + "account_id", + "apikey_count", + "etag", + "id", + "name", "object", - "total_count" + "user_count" ], "properties": [ { "type": "string", - "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "example": "01619571e2e90242ac12000600000000", + "description": "The ID of the account this group belongs to.", "pattern": "[a-f0-9]{32}", - "api_fieldname": "after", - "entity_fieldname": "after", - "name": "after", - "in": "query", - "required": false, - "external_param": true, - "parameter_fieldname": "after", - "_key": "after" + "api_fieldname": "account_id", + "entity_fieldname": "account_id", + "_key": "account_id" }, { - "type": "array", - "description": "A list of entities.", - "items": { - "type": "object", - "required": [ - "account_id", - "apikey_count", - "etag", - "id", - "name", - "object", - "user_count" - ], - "properties": [ - { - "type": "string", - "example": "01619571e2e90242ac12000600000000", - "description": "The ID of the account this group belongs to.", - "pattern": "[a-f0-9]{32}", - "_key": "account_id" - }, - { - "type": "integer", - "format": "int32", - "example": 0, - "description": "The number of API keys in this group.", - "_key": "apikey_count" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-13T09:35:20Z", - "description": "Creation UTC time RFC3339.", - "_key": "created_at" - }, - { - "type": "string", - "example": "1", - "description": "API resource entity version.", - "_key": "etag" - }, - { - "type": "string", - "example": "01619571dec00242ac12000600000000", - "description": "The ID of the group.", - "pattern": "[a-f0-9]{32}", - "_key": "id" - }, - { - "type": "string", - "maxLength": 100, - "example": "Administrators", - "description": "The name of the group.", - "_key": "name" - }, - { - "type": "string", - "description": "Entity name: always `group`.", - "enum": [ - "group" - ], - "_key": "object" - }, - { - "type": "string", - "format": "date-time", - "example": "2018-02-14T15:24:14Z", - "description": "Last update UTC time RFC3339.", - "_key": "updated_at" - }, - { - "type": "integer", - "format": "int32", - "example": 1, - "description": "The number of users in this group.", - "_key": "user_count" - } - ], - "description": "This object contains basic information about groups.", - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - } - }, - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of API keys in this group.", + "api_fieldname": "apikey_count", + "entity_fieldname": "apikey_count", + "_key": "apikey_count" }, { - "type": "boolean", - "example": false, - "description": "Flag indicating whether there are more results.", - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" }, { - "type": "integer", - "format": "int32", - "example": 50, - "description": "The number of results to return (2-1000). Default 50.", - "api_fieldname": "limit", - "entity_fieldname": "limit", - "name": "limit", - "in": "query", - "required": false, - "default": 50, - "external_param": true, - "parameter_fieldname": "limit", - "_key": "limit" + "type": "string", + "example": "1", + "description": "API resource entity version.", + "api_fieldname": "etag", + "entity_fieldname": "etag", + "_key": "etag" }, { "type": "string", - "description": "Entity name: always `list`.", + "example": "01619571dec00242ac12000600000000", + "description": "The ID of the group.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "parameter_fieldname": "group_id", + "in": "path", + "required": true, + "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always `group`.", "enum": [ - "list" + "group" ], "api_fieldname": "object", "entity_fieldname": "object", @@ -70260,36 +72870,27 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", - "enum": [ - "ASC", - "DESC" - ], - "api_fieldname": "order", - "entity_fieldname": "order", - "name": "order", - "in": "query", - "required": false, - "default": "ASC", - "external_param": true, - "parameter_fieldname": "order", - "enum_reference": "policy_group_order_enum", - "_key": "order" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at", + "_key": "updated_at" }, { "type": "integer", "format": "int32", - "example": 20, - "description": "The total number of records, if requested.", - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" + "example": 1, + "description": "The number of users in this group.", + "api_fieldname": "user_count", + "entity_fieldname": "user_count", + "_key": "user_count" } ], - "pagination": true, + "description": "This object contains basic information about groups.", "foreign_key": { "group": "Accounts", - "entity": "subtenant_policy_group" + "entity": "policy_group" } }, "_key": "200" @@ -70441,7 +73042,7 @@ "_key": "403" }, { - "description": "An account with the specified ID does not exist.", + "description": "An account or group with that ID does not exist.", "schema": { "type": "object", "required": [ @@ -70514,47 +73115,39 @@ "_key": "404" } ], - "path": "/v3/accounts/{account_id}/policy-groups", - "summary": "Get all group information.", - "return_type": "paginated_response(subtenant_policy_group)", + "path": "/v3/accounts/{account_id}/policy-groups/{group_id}", + "summary": "Get group information.", + "return_type": "subtenant_policy_group", "return_info": { "self": true, "custom": false, "type": "subtenant_policy_group" }, - "x_filter": { - "name": [ - "eq" - ] - }, + "x_filter": {}, "x_deprecation": null, "drop_fields": [ "object", "etag", "type", "filter", - "total_count", - "has_more", - "data", - "name__eq" + "created_at", + "updated_at", + "name", + "user_count", + "apikey_count" ], - "foreign_key_priority": "self", "group_id": "Accounts", "parameter_map": { "group_id": "id" }, - "operation_id": "getAllAccountGroups", - "pagination": true, - "foreign_key": { - "group": "Accounts", - "entity": "subtenant_policy_group" - }, + "operation_id": "getAccountGroupSummary", + "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "list" + "_key": "read" }, { - "description": "Retrieve general information about the group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Update a group name.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", "field_renames": [], "fields": [ { @@ -70580,10 +73173,22 @@ "in": "path", "required": true, "_key": "id" + }, + { + "type": "string", + "maxLength": 100, + "example": "Administrators", + "description": "The name of the group.", + "api_fieldname": "name", + "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, + "_key": "name" } ], - "method": "get", - "mode": "read", + "method": "put", + "mode": "update", "responses": [ { "description": "Successful operation.", @@ -70653,6 +73258,9 @@ "description": "The name of the group.", "api_fieldname": "name", "entity_fieldname": "name", + "parameter_fieldname": "name", + "in": "body", + "required": true, "_key": "name" }, { @@ -70692,6 +73300,79 @@ }, "_key": "200" }, + { + "description": "Error in input data, for example, the group name is too long.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, { "description": "Authentication failure.", "schema": { @@ -70839,7 +73520,7 @@ "_key": "403" }, { - "description": "An account or group with that ID does not exist.", + "description": "A group with that ID does not exist.", "schema": { "type": "object", "required": [ @@ -70913,7 +73594,7 @@ } ], "path": "/v3/accounts/{account_id}/policy-groups/{group_id}", - "summary": "Get group information.", + "summary": "Update the group name.", "return_type": "subtenant_policy_group", "return_info": { "self": true, @@ -70929,7 +73610,6 @@ "filter", "created_at", "updated_at", - "name", "user_count", "apikey_count" ], @@ -70937,11 +73617,11 @@ "parameter_map": { "group_id": "id" }, - "operation_id": "getAccountGroupSummary", + "operation_id": "updateAccountGroupName", "pagination": false, "request_content_type": "application/json", "request_body": "json", - "_key": "read" + "_key": "update" }, { "description": "List a group's users, with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", @@ -71347,7 +74027,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -71817,8 +74497,10 @@ "example": "Administrators", "description": "The name of the group.", "api_fieldname": "name", - "readOnly": true, - "required": false, + "parameter_fieldname": "name", + "in": "body", + "required": true, + "readOnly": false, "_key": "name" }, { @@ -74780,7 +77462,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -75183,7 +77865,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -76967,7 +79649,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -77494,7 +80176,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -77885,7 +80567,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -79027,7 +81709,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -79228,7 +81910,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -79390,7 +82072,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -80133,7 +82815,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -80548,7 +83230,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -86105,7 +88787,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -86484,7 +89166,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -87641,7 +90323,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -88822,7 +91504,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -89323,7 +92005,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -89690,7 +92372,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -90520,7 +93202,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -90700,7 +93382,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -90853,7 +93535,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -91604,7 +94286,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -92026,7 +94708,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], @@ -92433,7 +95115,7 @@ "OIDC" ], "api_fieldname": "type", - "entity_fieldname": "type", + "entity_fieldname": "login_profile_type", "_key": "type" } ], diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 1dd7c85ea..f143130d6 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -10135,7 +10135,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -10722,7 +10722,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -34357,7 +34357,9 @@ entities: - FirmwareManifestPage tags: [] - _key: identity_provider - field_renames: [] + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: account_id api_fieldname: account_id @@ -34390,6 +34392,18 @@ entities: readOnly: false required: true type: string + - _key: identity_provider_type + api_fieldname: type + description: Identity provider type. + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + enum_reference: identity_provider_type_enum + readOnly: false + required: true + type: string - _key: is_default api_fieldname: is_default description: Flag indicating whether this is the global default identity provider. @@ -34477,7 +34491,9 @@ entities: - updated_at - account_id - is_default - field_renames: [] + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: description api_fieldname: description @@ -34502,6 +34518,20 @@ entities: parameter_fieldname: discovery required: false type: boolean + - _key: identity_provider_type + api_fieldname: type + description: Identity provider type. + entity_fieldname: identity_provider_type + enum: &id005 + - NATIVE + - MBED + - SAML2 + - OIDC + enum_reference: identity_provider_type_enum + in: body + parameter_fieldname: type + required: true + type: string - _key: name api_fieldname: name description: Name of the identity provider. @@ -34704,7 +34734,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id005 + enum: &id006 - ACTIVE - SUSPENDED enum_reference: identity_provider_status_enum @@ -34842,7 +34872,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: identity_provider_type enum: - NATIVE - MBED @@ -35022,7 +35052,9 @@ entities: - etag - type - filter - field_renames: [] + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: id api_fieldname: identity_provider_id @@ -35214,7 +35246,10 @@ entities: - saml2_attributes - account_id - is_default - field_renames: [] + - identity_provider_type + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: id api_fieldname: id @@ -35353,7 +35388,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: identity_provider_type enum: - NATIVE - MBED @@ -35541,7 +35576,10 @@ entities: - saml2_attributes - account_id - is_default - field_renames: [] + - identity_provider_type + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: algorithm api_fieldname: algorithm @@ -35716,7 +35754,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: identity_provider_type enum: - NATIVE - MBED @@ -35948,7 +35986,9 @@ entities: - total_count - has_more - data - field_renames: [] + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: after api_fieldname: after @@ -36306,7 +36346,10 @@ entities: - saml2_attributes - account_id - is_default - field_renames: [] + - identity_provider_type + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: id api_fieldname: id @@ -36441,7 +36484,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: identity_provider_type enum: - NATIVE - MBED @@ -36629,7 +36672,10 @@ entities: - saml2_attributes - account_id - is_default - field_renames: [] + - identity_provider_type + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: id api_fieldname: id @@ -36768,7 +36814,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: identity_provider_type enum: - NATIVE - MBED @@ -37000,7 +37046,9 @@ entities: - updated_at - account_id - is_default - field_renames: [] + field_renames: + - _key: identity_provider_type + api_fieldname: type fields: - _key: description api_fieldname: description @@ -37035,6 +37083,16 @@ entities: pattern: '[a-f0-9]{32}' required: true type: string + - _key: identity_provider_type + api_fieldname: type + description: Identity provider type. + entity_fieldname: identity_provider_type + enum: *id005 + enum_reference: identity_provider_type_enum + in: body + parameter_fieldname: type + required: true + type: string - _key: name api_fieldname: name description: Name of the identity provider. @@ -37237,7 +37295,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id005 + enum: *id006 enum_reference: identity_provider_status_enum in: body parameter_fieldname: status @@ -37366,7 +37424,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: identity_provider_type enum: - NATIVE - MBED @@ -37696,7 +37754,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id006 + enum: &id007 - error_color - primary - secondary @@ -38169,7 +38227,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id006 + enum: *id007 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -38452,7 +38510,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id006 + enum: *id007 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -38852,7 +38910,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id007 + enum: &id008 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -39366,7 +39424,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id007 + enum: *id008 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -39645,7 +39703,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id007 + enum: *id008 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -39995,7 +40053,9 @@ entities: - LoginHistory tags: [] - _key: login_profile - field_renames: [] + field_renames: + - _key: login_profile_type + api_fieldname: type fields: - _key: id _override: true @@ -40004,6 +40064,18 @@ entities: readOnly: false required: false type: string + - _key: login_profile_type + api_fieldname: type + description: Identity provider type. + enum: + - NATIVE + - MBED + - SAML2 + - OIDC + enum_reference: login_profile_type_enum + readOnly: true + required: false + type: string - _key: name _override: true api_fieldname: name @@ -40437,8 +40509,8 @@ entities: description: The name of the group. example: Administrators maxLength: 100 - readOnly: true - required: false + readOnly: false + required: true type: string - _key: updated_at api_fieldname: updated_at @@ -40869,17 +40941,19 @@ entities: summary: Get the API keys of a group. x_deprecation: null x_filter: {} - - _key: list - description: 'Retrieve all group information. + - _key: create + description: 'Create a new group. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' -d ''{"name": "MyGroup1"}'' ```' drop_fields: @@ -40887,221 +40961,765 @@ entities: - etag - type - filter - - total_count - - has_more - - data - - name__eq + - id + - created_at + - updated_at + - account_id + - user_count + - apikey_count field_renames: [] fields: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after - pattern: '[a-f0-9]{32}' - required: false - type: string - - _key: include - api_fieldname: include - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - entity_fieldname: include + - _key: members + api_fieldname: members + description: Represents arrays of user and API key IDs. + entity_fieldname: members external_param: true - in: query - name: include - parameter_fieldname: include - required: false - type: string - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true - format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false - type: integer - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. - Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: policy_group_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order + in: body + name: members + parameter_fieldname: members + properties: + - _key: apikeys + description: An array of API key IDs. + items: + type: string + type: array + - _key: users + description: An array of user IDs. + items: + type: string + type: array required: false + schema_param: true + type: object + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + in: body + maxLength: 100 + parameter_fieldname: name + required: true type: string - foreign_key: - entity: policy_group - group: Accounts - foreign_key_priority: self group_id: Accounts - method: get - mode: list - operation_id: getAllGroups - pagination: true + method: post + mode: create + operation_id: createGroup + pagination: false parameter_map: group_id: id path: /v3/policy-groups request_body: json request_content_type: application/json responses: - - _key: '200' - description: Successful operation. + - _key: '201' + description: New entity created. schema: + description: This object contains basic information about groups. foreign_key: - entity: policy_group + entity: subtenant_policy_group group: Accounts - pagination: true properties: - - _key: after - api_fieldname: after - description: The entity ID to fetch after the given one. - entity_fieldname: after - example: 01619571f3c00242ac12000600000000 - external_param: true - in: query - name: after - parameter_fieldname: after + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' - required: false type: string - - _key: data - api_fieldname: data - description: A list of entities. - entity_fieldname: data - items: - description: This object contains basic information about groups. - foreign_key: - entity: subtenant_policy_group - group: Accounts - properties: - - _key: account_id - description: The ID of the account this group belongs to. - example: 01619571e2e90242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: apikey_count - description: The number of API keys in this group. - example: 0 - format: int32 - type: integer - - _key: created_at - description: Creation UTC time RFC3339. - example: '2018-02-13T09:35:20Z' - format: date-time - type: string - - _key: etag - description: API resource entity version. - example: '1' - type: string - - _key: id - description: The ID of the group. - example: 01619571dec00242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: name - description: The name of the group. - example: Administrators - maxLength: 100 - type: string - - _key: object - description: 'Entity name: always `group`.' - enum: - - group - type: string - - _key: updated_at - description: Last update UTC time RFC3339. - example: '2018-02-14T15:24:14Z' - format: date-time - type: string - - _key: user_count - description: The number of users in this group. - example: 1 - format: int32 - type: integer - required: - - account_id - - apikey_count - - etag - - id - - name - - object - - user_count - type: object - type: array - - _key: has_more - api_fieldname: has_more - description: Flag indicating whether there are more results. - entity_fieldname: has_more - example: false - type: boolean - - _key: limit - api_fieldname: limit - default: 50 - description: The number of results to return (2-1000). Default 50. - entity_fieldname: limit - example: 50 - external_param: true + - _key: apikey_count + api_fieldname: apikey_count + description: The number of API keys in this group. + entity_fieldname: apikey_count + example: 0 format: int32 - in: query - name: limit - parameter_fieldname: limit - required: false type: integer + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + maxLength: 100 + type: string - _key: object api_fieldname: object - description: 'Entity name: always `list`.' + description: 'Entity name: always `group`.' entity_fieldname: object enum: - - list + - group type: string - - _key: order - api_fieldname: order - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: subtenant_api_key_order_enum - external_param: true - in: query - name: order - parameter_fieldname: order - required: false + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time type: string - - _key: total_count - api_fieldname: total_count - description: The total number of records, if requested. - entity_fieldname: total_count - example: 20 + - _key: user_count + api_fieldname: user_count + description: The number of users in this group. + entity_fieldname: user_count + example: 1 format: int32 type: integer required: - - data - - has_more - - limit + - account_id + - apikey_count + - etag + - id + - name - object - - total_count + - user_count type: object - - _key: '401' - description: Authentication failure. + - _key: '400' + description: Error in input data, for example, invalid group name. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '409' + description: A group with that name already exists. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: policy_group + return_type: policy_group + summary: Create a new group. + x_deprecation: null + x_filter: {} + - _key: delete + description: 'Delete a group. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: id + api_fieldname: group_id + description: The ID of the group to delete. + entity_fieldname: id + external_param: false + in: path + name: group_id + parameter_fieldname: group_id + required: true + type: string + group_id: Accounts + method: delete + mode: delete + operation_id: deleteGroup + pagination: false + parameter_map: + group_id: id + path: /v3/policy-groups/{group_id} + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Deleted successfully. + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden, or Administrators group cannot be removed. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: A group with that ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: policy_group + return_type: policy_group + summary: Delete a group. + x_deprecation: null + x_filter: {} + - _key: list + description: 'Retrieve all group information. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + - total_count + - has_more + - data + - name__eq + field_renames: [] + fields: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: include + api_fieldname: include + description: 'Comma-separated additional data to return. Currently supported: + total_count.' + entity_fieldname: include + external_param: true + in: query + name: include + parameter_fieldname: include + required: false + type: string + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, DESC. + Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: policy_group_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + foreign_key: + entity: policy_group + group: Accounts + foreign_key_priority: self + group_id: Accounts + method: get + mode: list + operation_id: getAllGroups + pagination: true + parameter_map: + group_id: id + path: /v3/policy-groups + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + foreign_key: + entity: policy_group + group: Accounts + pagination: true + properties: + - _key: after + api_fieldname: after + description: The entity ID to fetch after the given one. + entity_fieldname: after + example: 01619571f3c00242ac12000600000000 + external_param: true + in: query + name: after + parameter_fieldname: after + pattern: '[a-f0-9]{32}' + required: false + type: string + - _key: data + api_fieldname: data + description: A list of entities. + entity_fieldname: data + items: + description: This object contains basic information about groups. + foreign_key: + entity: subtenant_policy_group + group: Accounts + properties: + - _key: account_id + description: The ID of the account this group belongs to. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: apikey_count + description: The number of API keys in this group. + example: 0 + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: The ID of the group. + example: 01619571dec00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: name + description: The name of the group. + example: Administrators + maxLength: 100 + type: string + - _key: object + description: 'Entity name: always `group`.' + enum: + - group + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: user_count + description: The number of users in this group. + example: 1 + format: int32 + type: integer + required: + - account_id + - apikey_count + - etag + - id + - name + - object + - user_count + type: object + type: array + - _key: has_more + api_fieldname: has_more + description: Flag indicating whether there are more results. + entity_fieldname: has_more + example: false + type: boolean + - _key: limit + api_fieldname: limit + default: 50 + description: The number of results to return (2-1000). Default 50. + entity_fieldname: limit + example: 50 + external_param: true + format: int32 + in: query + name: limit + parameter_fieldname: limit + required: false + type: integer + - _key: object + api_fieldname: object + description: 'Entity name: always `list`.' + entity_fieldname: object + enum: + - list + type: string + - _key: order + api_fieldname: order + default: ASC + description: 'Record order based on creation time. Acceptable values: ASC, + DESC. Default: ASC.' + entity_fieldname: order + enum: + - ASC + - DESC + enum_reference: subtenant_api_key_order_enum + external_param: true + in: query + name: order + parameter_fieldname: order + required: false + type: string + - _key: total_count + api_fieldname: total_count + description: The total number of records, if requested. + entity_fieldname: total_count + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object + - _key: '401' + description: Authentication failure. schema: properties: - _key: code @@ -41485,6 +42103,346 @@ entities: summary: Get group information. x_deprecation: null x_filter: {} + - _key: update + description: 'Update a group name. + + + **Example:** + + ``` + + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "TestGroup2"}'' + + ```' + drop_fields: + - object + - etag + - type + - filter + - created_at + - updated_at + - account_id + - user_count + - apikey_count + field_renames: [] + fields: + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + in: path + parameter_fieldname: group_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + group_id: Accounts + method: put + mode: update + operation_id: updateGroupName + pagination: false + parameter_map: + group_id: id + path: /v3/policy-groups/{group_id} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + description: This object contains basic information about groups. + foreign_key: + entity: subtenant_policy_group + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: apikey_count + api_fieldname: apikey_count + description: The number of API keys in this group. + entity_fieldname: apikey_count + example: 0 + format: int32 + type: integer + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + maxLength: 100 + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always `group`.' + entity_fieldname: object + enum: + - group + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: user_count + api_fieldname: user_count + description: The number of users in this group. + entity_fieldname: user_count + example: 1 + format: int32 + type: integer + required: + - account_id + - apikey_count + - etag + - id + - name + - object + - user_count + type: object + - _key: '400' + description: Error in input data, for example, the group name is too long. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: A group with that ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: policy_group + return_type: policy_group + summary: Update the group name. + x_deprecation: null + x_filter: {} - _key: users description: 'Retrieve users of a group with details. @@ -41821,7 +42779,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -42113,8 +43071,10 @@ entities: primary_key_field: id swagger_models: - ApiKeyInfoRespList + - GroupCreationInfo - GroupSummary - GroupSummaryList + - GroupUpdateInfo - UserInfoRespList tags: - Account - policy groups @@ -43262,7 +44222,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: &id008 + enum: &id009 - ACTIVE - INACTIVE enum_reference: subtenant_api_key_status_enum @@ -44619,7 +45579,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: *id008 + enum: *id009 enum_reference: subtenant_api_key_status_enum example: ACTIVE in: body @@ -45057,7 +46017,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id009 + enum: &id010 - error_color - primary - secondary @@ -45283,7 +46243,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id009 + enum: *id010 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -45576,7 +46536,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id009 + enum: *id010 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -45985,7 +46945,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id010 + enum: &id011 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -46230,7 +47190,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id010 + enum: *id011 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -46520,7 +47480,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id010 + enum: *id011 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -47196,7 +48156,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id011 + enum: &id012 - ACTIVE - SUSPENDED enum_reference: subtenant_identity_provider_status_enum @@ -47356,12 +48316,10 @@ entities: - MBED - SAML2 - OIDC - external_param: true + enum_reference: identity_provider_type_enum in: body - name: type parameter_fieldname: type required: true - schema_param: true type: string - _key: updated_at api_fieldname: updated_at @@ -47956,12 +48914,10 @@ entities: - MBED - SAML2 - OIDC - external_param: true + enum_reference: identity_provider_type_enum in: body - name: type parameter_fieldname: type required: true - schema_param: true type: string - _key: updated_at api_fieldname: updated_at @@ -48350,12 +49306,10 @@ entities: - MBED - SAML2 - OIDC - external_param: true + enum_reference: identity_provider_type_enum in: body - name: type parameter_fieldname: type required: true - schema_param: true type: string - _key: updated_at api_fieldname: updated_at @@ -49182,12 +50136,10 @@ entities: - MBED - SAML2 - OIDC - external_param: true + enum_reference: identity_provider_type_enum in: body - name: type parameter_fieldname: type required: true - schema_param: true type: string - _key: updated_at api_fieldname: updated_at @@ -49540,12 +50492,10 @@ entities: - MBED - SAML2 - OIDC - external_param: true + enum_reference: identity_provider_type_enum in: body - name: type parameter_fieldname: type required: true - schema_param: true type: string - _key: updated_at api_fieldname: updated_at @@ -50018,7 +50968,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id011 + enum: *id012 enum_reference: subtenant_identity_provider_status_enum in: body parameter_fieldname: status @@ -50169,12 +51119,10 @@ entities: - MBED - SAML2 - OIDC - external_param: true + enum_reference: identity_provider_type_enum in: body - name: type parameter_fieldname: type required: true - schema_param: true type: string - _key: updated_at api_fieldname: updated_at @@ -50489,7 +51437,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id012 + enum: &id013 - error_color - primary - secondary @@ -50714,7 +51662,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id012 + enum: *id013 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -51007,7 +51955,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id012 + enum: *id013 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -51414,7 +52362,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id013 + enum: &id014 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -51659,7 +52607,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id013 + enum: *id014 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -51947,7 +52895,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id013 + enum: *id014 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -52297,9 +53245,11 @@ entities: api_fieldname: name description: The name of the group. example: Administrators + in: body maxLength: 100 - readOnly: true - required: false + parameter_fieldname: name + readOnly: false + required: true type: string - _key: updated_at api_fieldname: updated_at @@ -52734,10 +53684,632 @@ entities: type: object return_info: custom: false - self: false - type: subtenant_api_key - return_type: paginated_response(subtenant_api_key) - summary: Get API keys of a group. + self: false + type: subtenant_api_key + return_type: paginated_response(subtenant_api_key) + summary: Get API keys of a group. + x_deprecation: null + x_filter: {} + - _key: create + description: 'Create a new group. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "MyGroup1"}'' + + ```' + drop_fields: + - object + - etag + - type + - filter + - id + - created_at + - updated_at + - user_count + - apikey_count + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + in: path + parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: members + api_fieldname: members + description: Represents arrays of user and API key IDs. + entity_fieldname: members + external_param: true + in: body + name: members + parameter_fieldname: members + properties: + - _key: apikeys + description: An array of API key IDs. + items: + type: string + type: array + - _key: users + description: An array of user IDs. + items: + type: string + type: array + required: false + schema_param: true + type: object + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + group_id: Accounts + method: post + mode: create + operation_id: createAccountGroup + pagination: false + parameter_map: + group_id: id + path: /v3/accounts/{account_id}/policy-groups + request_body: json + request_content_type: application/json + responses: + - _key: '201' + description: New entity created. + schema: + description: This object contains basic information about groups. + foreign_key: + entity: policy_group + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: apikey_count + api_fieldname: apikey_count + description: The number of API keys in this group. + entity_fieldname: apikey_count + example: 0 + format: int32 + type: integer + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + in: path + parameter_fieldname: group_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always `group`.' + entity_fieldname: object + enum: + - group + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: user_count + api_fieldname: user_count + description: The number of users in this group. + entity_fieldname: user_count + example: 1 + format: int32 + type: integer + required: + - account_id + - apikey_count + - etag + - id + - name + - object + - user_count + type: object + - _key: '400' + description: Error in input data, for example, invalid group name. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: An account with the specified ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '409' + description: A group with that name already exists. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: subtenant_policy_group + return_type: subtenant_policy_group + summary: Create a new group. + x_deprecation: null + x_filter: {} + - _key: delete + description: 'Delete a group. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' + + ```' + drop_fields: + - object + - etag + - type + - filter + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: Account ID. + entity_fieldname: account_id + external_param: false + in: path + name: account_id + parameter_fieldname: account_id + required: true + type: string + - _key: id + api_fieldname: group_id + description: The ID of the group to delete. + entity_fieldname: id + external_param: false + in: path + name: group_id + parameter_fieldname: group_id + required: true + type: string + group_id: Accounts + method: delete + mode: delete + operation_id: deleteAccountGroup + pagination: false + parameter_map: + group_id: id + path: /v3/accounts/{account_id}/policy-groups/{group_id} + request_body: json + request_content_type: application/json + responses: + - _key: '204' + description: Deleted successfully. + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden, or Administrators group cannot be removed. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: An account or group with that ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: subtenant_policy_group + return_type: subtenant_policy_group + summary: Delete a group. x_deprecation: null x_filter: {} - _key: list @@ -53243,7 +54815,10 @@ entities: description: The name of the group. entity_fieldname: name example: Administrators + in: body maxLength: 100 + parameter_fieldname: name + required: true type: string - _key: object api_fieldname: object @@ -53427,6 +55002,361 @@ entities: summary: Get group information. x_deprecation: null x_filter: {} + - _key: update + description: 'Update a group name. + + + **Example:** + + ``` + + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "TestGroup2"}'' + + ```' + drop_fields: + - object + - etag + - type + - filter + - created_at + - updated_at + - user_count + - apikey_count + field_renames: [] + fields: + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + in: path + parameter_fieldname: account_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + in: path + parameter_fieldname: group_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + group_id: Accounts + method: put + mode: update + operation_id: updateAccountGroupName + pagination: false + parameter_map: + group_id: id + path: /v3/accounts/{account_id}/policy-groups/{group_id} + request_body: json + request_content_type: application/json + responses: + - _key: '200' + description: Successful operation. + schema: + description: This object contains basic information about groups. + foreign_key: + entity: policy_group + group: Accounts + properties: + - _key: account_id + api_fieldname: account_id + description: The ID of the account this group belongs to. + entity_fieldname: account_id + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: apikey_count + api_fieldname: apikey_count + description: The number of API keys in this group. + entity_fieldname: apikey_count + example: 0 + format: int32 + type: integer + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: etag + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '1' + type: string + - _key: id + api_fieldname: id + description: The ID of the group. + entity_fieldname: id + example: 01619571dec00242ac12000600000000 + in: path + parameter_fieldname: group_id + pattern: '[a-f0-9]{32}' + required: true + type: string + - _key: name + api_fieldname: name + description: The name of the group. + entity_fieldname: name + example: Administrators + in: body + maxLength: 100 + parameter_fieldname: name + required: true + type: string + - _key: object + api_fieldname: object + description: 'Entity name: always `group`.' + entity_fieldname: object + enum: + - group + type: string + - _key: updated_at + api_fieldname: updated_at + description: Last update UTC time RFC3339. + entity_fieldname: updated_at + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: user_count + api_fieldname: user_count + description: The number of users in this group. + entity_fieldname: user_count + example: 1 + format: int32 + type: integer + required: + - account_id + - apikey_count + - etag + - id + - name + - object + - user_count + type: object + - _key: '400' + description: Error in input data, for example, the group name is too long. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '401' + description: Authentication failure. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '403' + description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '404' + description: A group with that ID does not exist. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + return_info: + custom: false + self: true + type: subtenant_policy_group + return_type: subtenant_policy_group + summary: Update the group name. + x_deprecation: null + x_filter: {} - _key: users description: 'List a group''s users, with details. @@ -53773,7 +55703,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -54065,8 +55995,10 @@ entities: primary_key_field: id swagger_models: - ApiKeyInfoRespList + - GroupCreationInfo - GroupSummary - GroupSummaryList + - GroupUpdateInfo - UserInfoRespList tags: - Tenant accounts - policy groups @@ -54335,7 +56267,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id014 + enum: &id015 - lwm2m - bootstrap enum_reference: subtenant_trusted_certificate_service_enum @@ -54347,7 +56279,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id015 + enum: &id016 - ACTIVE - INACTIVE enum_reference: subtenant_trusted_certificate_status_enum @@ -55948,7 +57880,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id014 + enum: *id015 enum_reference: subtenant_trusted_certificate_service_enum in: body parameter_fieldname: service @@ -55958,7 +57890,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id015 + enum: *id016 enum_reference: subtenant_trusted_certificate_status_enum example: ACTIVE in: body @@ -56630,7 +58562,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -56876,15 +58808,15 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type - enum: &id016 + entity_fieldname: login_profile_type + enum: &id017 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id017 + required: &id018 - id type: object parameter_fieldname: login_profiles @@ -57207,7 +59139,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -58561,7 +60493,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -58967,11 +60899,11 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type - enum: *id016 + entity_fieldname: login_profile_type + enum: *id017 readOnly: true type: string - required: *id017 + required: *id018 type: object parameter_fieldname: login_profiles required: false @@ -59282,7 +61214,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -59934,7 +61866,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -60057,7 +61989,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -60192,7 +62124,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -60748,7 +62680,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -61191,7 +63123,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id018 + enum: &id019 - lwm2m - bootstrap enum_reference: trusted_certificate_service_enum @@ -61203,7 +63135,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id019 + enum: &id020 - ACTIVE - INACTIVE enum_reference: trusted_certificate_status_enum @@ -63153,7 +65085,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id018 + enum: *id019 enum_reference: trusted_certificate_service_enum in: body parameter_fieldname: service @@ -63163,7 +65095,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id019 + enum: *id020 enum_reference: trusted_certificate_status_enum example: ACTIVE in: body @@ -65572,7 +67504,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -65799,15 +67731,15 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type - enum: &id020 + entity_fieldname: login_profile_type + enum: &id021 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id021 + required: &id022 - id type: object parameter_fieldname: login_profiles @@ -66105,7 +68037,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -66963,7 +68895,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -67878,7 +69810,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -68260,11 +70192,11 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type - enum: *id020 + entity_fieldname: login_profile_type + enum: *id021 readOnly: true type: string - required: *id021 + required: *id022 type: object parameter_fieldname: login_profiles required: false @@ -68550,7 +70482,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -68976,7 +70908,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -69088,7 +71020,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -69213,7 +71145,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -69768,7 +71700,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -70088,7 +72020,7 @@ entities: - _key: type api_fieldname: type description: Identity provider type. - entity_fieldname: type + entity_fieldname: login_profile_type enum: - NATIVE - MBED @@ -70620,6 +72552,16 @@ enums: values: - ACTIVE - SUSPENDED +- _key: identity_provider_type_enum + entity_name: identity_provider + enum_name: identity_provider_type_enum + field_name: identity_provider_type + group_id: Accounts + values: + - MBED + - NATIVE + - OIDC + - SAML2 - _key: light_theme_color_reference_enum entity_name: light_theme_color enum_name: light_theme_color_reference_enum @@ -70685,6 +72627,16 @@ enums: - desktop_background_landscape - desktop_background_portrait - desktop_background_square +- _key: login_profile_type_enum + entity_name: login_profile + enum_name: login_profile_type_enum + field_name: login_profile_type + group_id: Accounts + values: + - MBED + - NATIVE + - OIDC + - SAML2 - _key: oidc_request_token_mode_enum entity_name: oidc_request enum_name: oidc_request_token_mode_enum @@ -71016,6 +72968,7 @@ groups: - identity_provider_public_key enums: - policy_inherited_type_enum + - login_profile_type_enum - user_status_enum - user_order_enum - subtenant_user_status_enum @@ -71032,6 +72985,7 @@ groups: - policy_group_order_enum - subtenant_policy_group_order_enum - identity_provider_status_enum + - identity_provider_type_enum - identity_provider_order_enum - identity_provider_algorithm_enum - subtenant_identity_provider_status_enum From 84d0957504a7b29925ea3e722df64ed2cbfc2a3c Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 10 Oct 2019 10:44:43 +0000 Subject: [PATCH 014/111] new SDK config changes via api-contract @ 2019-10-10 10:44 --- .../public/pelion_dm_public_openapi.yaml | 1505 +++++++---- .../public/sdk_foundation_definition.json | 2320 ++++++++++------- .../public/sdk_foundation_definition.yaml | 1974 +++++++++----- 3 files changed, 3739 insertions(+), 2060 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index af540a1c0..77d3fc5e1 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1355,7 +1355,7 @@ definitions: type: string reference: description: Color name. - enum: &id019 + enum: &id020 - error_color - primary - secondary @@ -1435,7 +1435,7 @@ definitions: type: string reference: description: Name of the image. - enum: &id020 + enum: &id021 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -1631,16 +1631,16 @@ definitions: CampaignDeviceMetadata: properties: campaign: - description: The device's campaign ID + description: The device's campaign ID. example: 015bf72fccda00000000000100100280 type: string - created_at: - description: The time the campaign was created + created_at: &id013 + description: The time the entity was created. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string deployment_state: - description: The state of the update campaign on the device + description: The state of the update campaign on the device. enum: - pending - updated_connector_channel @@ -1650,58 +1650,56 @@ definitions: - deregistered type: string description: - description: Description - example: '' + description: Description. + example: a description maxLength: 2000 type: string device_id: - description: The device ID + description: The device ID. example: 015c2fec9bba0000000000010010036f type: string - etag: - description: API resource entity version + etag: &id014 + description: API resource entity version. example: '2017-05-22T12:37:58.753425Z' type: string id: - description: The metadata record ID + description: The metadata record ID. example: 015c3029f6f7000000000001001000c3 type: string mechanism: - description: How the firmware is delivered (connector or direct) + description: How the firmware is delivered (connector or direct). example: connector type: string mechanism_url: - description: The Device Management Connect URL - example: '' + description: The Device Management Connect URL. type: string name: - description: The record name - example: default_object_name + default: default_object_name + description: The record name. maxLength: 128 type: string object: - description: 'The entity name: always ''update-campaign-device-metadata''' - example: update-campaign-device-metadata + description: 'The entity name: always ''update-campaign-device-metadata''.' type: string - updated_at: - description: 'The record was modified in the database format: date-time' - example: '2017-05-22T12:37:58.776736Z' + updated_at: &id015 + description: The time the entity was updated. + example: '2017-05-22T12:37:55.576563Z' format: date-time type: string type: object CampaignDeviceMetadataPage: properties: after: - description: The entity ID to fetch after the given one + description: The entity ID to fetch after the given one. example: 'null' type: string data: - description: A list of entities + description: A list of entities. items: $ref: '#/definitions/CampaignDeviceMetadata' type: array has_more: - description: A flag indicating whether there are more results + description: A flag indicating whether there are more results. example: 'false' type: boolean limit: @@ -1713,12 +1711,11 @@ definitions: minimum: 2 type: integer object: - description: 'The entity name: always ''list''' - example: list + description: 'The entity name: always ''list''.' type: string order: description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' enum: - ASC - DESC @@ -1743,8 +1740,7 @@ definitions: format: int32 type: integer object: - description: 'Entity name: always ''update-campaign-metrics''' - example: update-campaign-metrics + description: 'Entity name: always ''update-campaign-metrics''.' type: string pending_count: description: Running total of devices that have yet to receive an update or @@ -2999,7 +2995,7 @@ definitions: example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - custom_attributes: &id022 + custom_attributes: &id023 additionalProperties: maxLength: 128 pattern: ^[A-Za-z].* @@ -3011,7 +3007,7 @@ definitions: key: value maxProperties: 10 type: object - description: &id023 + description: &id024 description: The description of the group. example: Devices on the factory floor. maxLength: 2000 @@ -3028,7 +3024,7 @@ definitions: description: The group ID. example: 015c3029f6f7000000000001001000c3 type: string - name: &id024 + name: &id025 description: Name of the group. example: My devices maxLength: 128 @@ -3655,7 +3651,7 @@ definitions: example: upd_fail_101 type: string object: - example: event-type + description: 'Entity name: always ''event-type''.' type: string summary_status: example: FAIL @@ -3667,7 +3663,7 @@ definitions: EventTypeList: properties: after: - description: The entity ID to fetch after the given one + description: The entity ID to fetch after the given one. example: 'null' type: string data: @@ -3675,21 +3671,21 @@ definitions: $ref: '#/definitions/EventType' type: array has_more: - description: A flag indicating whether there are more results + description: A flag indicating whether there are more results. example: 'false' type: boolean limit: description: 'The number of results to return, (range: 2-1000), or equals - to total_count' + to total_count.' example: '50' type: integer object: - description: 'The entity name: always ''list''' + description: 'The entity name: always ''list''.' example: list type: string order: description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' enum: - ASC - DESC @@ -3715,7 +3711,7 @@ definitions: format: date-time type: string id: - description: ID of the event type description + description: ID of the event type description. enum: - fail - success @@ -3724,7 +3720,7 @@ definitions: example: fail type: string object: - example: summary_status + description: 'Entity name: always ''summary_status''.' type: string summary_status: description: The event type description. @@ -3739,7 +3735,7 @@ definitions: EventTypeSummaryList: properties: after: - description: The entity ID to fetch after the given one + description: The entity ID to fetch after the given one. example: 'null' type: string data: @@ -3747,21 +3743,20 @@ definitions: $ref: '#/definitions/EventTypeSummary' type: array has_more: - description: A flag indicating whether there are more results + description: A flag indicating whether there are more results. example: 'false' type: boolean limit: description: 'The number of results to return, (range: 2-1000), or equals - to total_count' + to total_count.' example: '50' type: integer object: - description: 'The entity name: always ''list''' - example: list + description: 'The entity name: always ''list''.' type: string order: description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' enum: - ASC - DESC @@ -3839,61 +3834,37 @@ definitions: type: object FirmwareImage: properties: - created_at: - description: The time the object was created - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string + created_at: *id013 datafile: description: The firmware image file URL example: http://example.com/00000000000000000000000000000000 type: string datafile_checksum: - description: The checksum (sha256) generated for the datafile + description: The checksum (sha256) generated for the datafile. example: '0000000000000000000000000000000000000000000000000000000000000000' type: string datafile_size: - description: The size of the datafile in bytes + description: The size of the datafile in bytes. format: int64 type: integer description: - description: The description of the object - example: '' + description: The description of the object. + example: a description maxLength: 2000 type: string - etag: - description: The entity instance signature - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string + etag: *id014 id: - description: The firmware image ID + description: The firmware image ID. example: '00000000000000000000000000000000' type: string name: - description: The firmware image name - example: '' + description: The firmware image name. maxLength: 128 type: string object: - description: The API resource entity - example: firmware-image - type: string - updated_at: - description: The time the object was updated - example: '2017-05-22T12:37:55.576563Z' - format: date-time + description: 'Entity name: always ''firmware-image''.' type: string - required: - - created_at - - datafile - - datafile_checksum - - description - - etag - - id - - name - - object - - updated_at + updated_at: *id015 FirmwareImageEqNeqFilter: properties: created_at: @@ -3966,7 +3937,6 @@ definitions: example: null type: string data: - example: '[]' items: $ref: '#/definitions/FirmwareImage' type: array @@ -3976,7 +3946,7 @@ definitions: format: int32 type: integer object: - example: list + description: 'Entity name: always ''list''.' type: string order: description: The order of the records based on creation time, `ASC` or `DESC`; @@ -3991,72 +3961,48 @@ definitions: type: integer FirmwareManifest: properties: - created_at: - description: The time the object was created - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string + created_at: *id013 datafile: description: The URL of the firmware manifest binary - example: http://example.com/00000000000000000000000000000000 + example: http://example.com/12345678901234567890123456789012 type: string datafile_size: description: The size of the datafile in bytes format: int64 type: integer description: - description: The description of the firmware manifest + description: The description of the firmware manifest. example: '' maxLength: 2000 type: string device_class: - description: The class of the device + description: The class of the device. example: 00000000-0000-0000-0000-000000000000 type: string - etag: - description: The entity instance signature - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string + etag: *id014 id: - description: The firmware manifest ID - example: '00000000000000000000000000000000' + description: The firmware manifest ID. + example: '12345678901234567890123456789012' type: string key_table: - description: The key table of pre-shared keys for devices + description: The key table of pre-shared keys for devices. example: http://example.com format: uri type: string name: - description: The name of the object - example: '' + description: The name of the object. + example: default_object_name maxLength: 128 type: string object: - description: The API resource entity - example: firmware-manifest + description: 'Entity name: always ''firmware-manifest''.' type: string timestamp: - description: The firmware manifest version as a timestamp + description: The firmware manifest version as a timestamp. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - updated_at: - description: The time the object was updated - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string - required: - - created_at - - datafile - - description - - device_class - - etag - - id - - name - - object - - timestamp - - updated_at + updated_at: *id015 FirmwareManifestEqNeqFilter: properties: created_at: @@ -4141,7 +4087,6 @@ definitions: example: null type: string data: - example: '[]' items: $ref: '#/definitions/FirmwareManifest' type: array @@ -4151,11 +4096,11 @@ definitions: format: int32 type: integer object: - example: list + description: 'Entity name: always ''list''.' type: string order: description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' enum: - ASC - DESC @@ -6074,63 +6019,108 @@ definitions: type: object UpdateCampaign: properties: + active_at: + description: The time the campaign entered the active state. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + approval_required: + description: Flag indicating whether approval is needed to start the campaign. + example: 'false' + type: boolean + archived_at: + description: The time the campaign was archived. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + autostop: + description: Flag indicating whether the campaign should be auto-stopped on + reaching a threshold. + example: 'false' + type: boolean autostop_reason: description: Text description of why a campaign failed to start or why a campaign stopped. example: Insufficient billing credit. type: string - created_at: - description: The time the update campaign was created - example: '2017-05-22T12:37:55.576563Z' - format: date-time + autostop_success_percent: + description: Percent of successful device updates to auto stop the campaign. + example: '85.00' + format: double + type: number + campaign_strategy: &id016 + default: one-shot + description: How the campaign adds devices. A `one-shot` campaign does not + add new devices after it has started. A `continuous` campaign means that + devices may be added to the campaign after it has started. The default is + `one-shot`. + enum: + - one-shot + - continuous type: string + created_at: *id013 description: - description: An optional description of the campaign - example: '' + description: An optional description of the campaign. + example: This campaign updates Class XX devices to version 1.34 maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. example: id__eq=00000000000000000000000000000000 type: string - etag: - description: The entity instance signature - example: '2017-05-22T12:37:58.753425Z' - type: string + etag: *id014 finished: - description: The campaign finish timestamp + description: The time the campaign finished. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string id: - description: The campaign ID + description: The campaign ID. example: '00000000000000000000000000000000' type: string name: - description: The campaign name + description: The campaign name. example: campaign maxLength: 128 type: string object: - description: The API resource entity - example: update-campaign + description: 'Entity name: always ''update-campaign''.' type: string phase: - description: The current phase of the campaign. - readOnly: true + description: The phase of the campaign. + enum: + - draft + - awaiting_approval + - timed + - starting + - active + - stopping + - stopped + - deleted + - archived type: string root_manifest_id: + description: The ID of the manifest that will be sent to the device as part + of the campaign. example: '00000000000000000000000000000000' type: string root_manifest_url: + description: The URL for the manifest that will be sent to the device as part + of the campaign. example: http://example.com/00000000000000000000000000000000 type: string started_at: + description: The time the campaign was started. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + starting_at: + description: The time the campaign will be started. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string state: - description: 'DEPRECATED: The state of the campaign (use phase instead).' + description: The state of the campaign. enum: - draft - scheduled @@ -6157,11 +6147,17 @@ definitions: end_of_life_at: '2020-03-18T14:55:20+00:00' issued_at: '2019-03-18T14:55:20+00:00' links: [] - updated_at: - description: The time the object was updated + stopped_at: + description: The time the campaign was stopped. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + stopping_at: + description: The time the campaign will be stopped. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + updated_at: *id015 when: description: The scheduled start time for the campaign. The campaign will start within 1 minute when then start time has elapsed. @@ -6278,7 +6274,6 @@ definitions: example: null type: string data: - example: '[]' items: $ref: '#/definitions/UpdateCampaign' type: array @@ -6287,11 +6282,11 @@ definitions: limit: type: integer object: - example: list + description: 'Entity name: always ''list''.' type: string order: description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' enum: - ASC - DESC @@ -6301,137 +6296,87 @@ definitions: type: integer UpdateCampaignPostRequest: properties: + approval_required: + default: false + type: boolean + autostop: + default: true + type: boolean + autostop_success_percent: + default: 100.0 + type: number + campaign_strategy: *id016 description: - description: An optional description of the campaign - example: '' + description: An optional description of the campaign. + example: a description maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeted at. example: id__eq=00000000000000000000000000000000 type: string name: - description: The name for this campaign - example: campaign + default: default_object_name + description: The name for this campaign. maxLength: 128 type: string - object: - description: The API resource entity - example: update-campaign - type: string root_manifest_id: - example: '00000000000000000000000000000000' + example: '12345678901234567890123456789012' maxLength: 32 + minLength: 32 type: string - state: - description: 'DEPRECATED: The state of the campaign (use phase instead)' - enum: - - draft - - scheduled - type: string - x-deprecation: - comment: Use phase instead - end_of_life_at: '2020-03-18T14:55:20+00:00' - issued_at: '2019-03-18T14:55:20+00:00' - links: [] - when: - description: The scheduled start time for the update campaign. Not in use. - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string - x-nullable: true required: - device_filter UpdateCampaignPutRequest: properties: + approval_required: + default: false + type: boolean + autostop: + default: true + type: boolean + autostop_success_percent: + default: 100.0 + type: number description: - description: An optional description of the campaign + description: An optional description of the campaign. example: '' maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. example: id__eq=00000000000000000000000000000000 type: string name: - description: The campaign's name + description: The campaign's name. example: campaign maxLength: 128 type: string - object: - description: The API resource entity - example: update-campaign - type: string root_manifest_id: example: '00000000000000000000000000000000' maxLength: 32 type: string - state: - description: 'DEPRECATED: The state of the campaign (use phase instead).' - enum: - - draft - - scheduled - - allocatingquota - - allocatedquota - - quotaallocationfailed - - checkingmanifest - - checkedmanifest - - devicefetch - - devicecopy - - devicecheck - - publishing - - deploying - - deployed - - manifestremoved - - expired - - stopping - - autostopped - - userstopped - - conflict - type: string - x-deprecation: - comment: Use phase instead - end_of_life_at: '2020-03-18T14:55:20+00:00' - issued_at: '2019-03-18T14:55:20+00:00' - links: [] - when: - description: The scheduled start time for the update campaign. Not in use. - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string - x-nullable: true UploadChunkInfo: properties: - created_at: &id013 - description: The time the entity was created - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string - etag: &id014 - description: API resource entity version - example: '2017-05-22T12:37:58.753425Z' - type: string + created_at: *id013 + etag: *id014 hash: description: The hash of the chunk. The default hash is MD5. If no Content-MD5 header is supplied as part of uploading the chunk then this will be empty. type: string id: - description: The chunk number + description: The chunk number. example: 1 type: integer length: - description: The length of the chunk + description: The length of the chunk. example: 1234 type: integer object: - description: 'Entity name: always ''upload-info''' + description: 'Entity name: always ''upload-info''.' example: upload-info type: string - updated_at: &id015 - description: The time the entity was updated - example: '2017-05-22T12:37:55.576563Z' - format: date-time - type: string + updated_at: *id015 upload_job_id: description: The upload job ID. example: '00000000000000000000000000000000' @@ -6452,11 +6397,11 @@ definitions: format: int32 type: integer object: - example: list + description: 'Entity name: always ''list''.' type: string order: description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' enum: - ASC - DESC @@ -6468,35 +6413,35 @@ definitions: UploadJob: properties: complete: - description: A flag that indicates job completion + description: A flag that indicates job completion. example: false type: boolean created_at: *id013 - description: &id027 - description: Human-readable description + description: &id028 + description: Human-readable description. example: New Linux update for my devices maxLength: 2000 type: string etag: *id014 firmware_image_id: - description: ID of the firmware image - empty until the Upload Job is complete + description: ID of the firmware image - empty until the upload job is complete. example: '00000000000000000000000000000000' type: string id: - description: The upload job ID + description: The upload job ID. example: '00000000000000000000000000000000' type: string - name: &id028 - description: Human-readable name + name: &id029 + description: Human-readable name. example: New Linux update maxLength: 128 type: string object: - description: 'Entity name: always ''upload-job''' + description: 'Entity name: always ''upload-job''.' example: upload-job type: string status: - description: Status of the upload job + description: Status of the upload job. example: in_progress type: string updated_at: *id015 @@ -6516,11 +6461,11 @@ definitions: format: int32 type: integer object: - example: list + description: 'Entity name: always ''list''.' type: string order: description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' enum: - ASC - DESC @@ -8113,11 +8058,11 @@ paths: ```' operationId: deregisterWebhook responses: - 204: &id018 + 204: &id019 description: Successfully deleted. - 401: &id016 + 401: &id017 description: Unauthorized. - 403: &id017 + 403: &id018 description: Forbidden. The authorization token used is not an API key. 404: description: Callback URL does not exist. @@ -8146,8 +8091,8 @@ paths: description: URL found. schema: $ref: '#/definitions/Webhook' - 401: *id016 - 403: *id017 + 401: *id017 + 403: *id018 404: description: The callback URL does not exist. summary: Check callback URL. @@ -8212,8 +8157,8 @@ paths: 400: description: Given URL is not accessible, or other type of channel already exists. - 401: *id016 - 403: *id017 + 401: *id017 + 403: *id018 415: description: Unsupported Media Type. summary: Register a callback URL. @@ -8263,7 +8208,7 @@ paths: description: Success. The body can contain "REMOVED" if it was deleted with this call or "ALREADY_DELETED" if it was deleted before and not purged yet. - 401: *id016 + 401: *id017 summary: Delete notification Long Poll channel. tags: - Notifications @@ -8326,7 +8271,7 @@ paths: description: No new notifications. 400: description: Other type of channel already exists. - 401: *id016 + 401: *id017 409: description: Conflict. Long poll request exists already. 410: @@ -8369,9 +8314,9 @@ paths: ```' operationId: deleteWebsocket responses: - 204: *id018 - 401: *id016 - 403: *id017 + 204: *id019 + 401: *id017 + 403: *id018 404: description: Websocket channel doesn't exist. summary: (PREVIEW) Delete websocket channel. @@ -8402,8 +8347,8 @@ paths: description: Websocket found. schema: $ref: '#/definitions/WebsocketChannel' - 401: *id016 - 403: *id017 + 401: *id017 + 403: *id018 404: description: No channel has been registered. summary: (PREVIEW) Get websocket channel information. @@ -8467,8 +8412,8 @@ paths: $ref: '#/definitions/WebsocketChannel' 400: description: Other type of channel already exists. - 401: *id016 - 403: *id017 + 401: *id017 + 403: *id018 summary: (PREVIEW) Register a websocket channel. tags: - Notifications @@ -8538,7 +8483,7 @@ paths: description: Switching protocols. 400: description: Required header(s) missing. - 401: *id016 + 401: *id017 426: description: Upgrade required. Connect and/or Upgrade headers missing. summary: (PREVIEW) Open the websocket. @@ -10257,7 +10202,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -10305,7 +10250,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -10361,7 +10306,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -10551,7 +10496,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -10598,7 +10543,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -10654,7 +10599,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -10833,7 +10778,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -10884,7 +10829,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -10939,7 +10884,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -10998,7 +10943,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -11146,7 +11091,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -11195,7 +11140,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -11250,7 +11195,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -11309,7 +11254,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -15945,7 +15890,7 @@ paths: operationId: resetDarkColor parameters: - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -15988,7 +15933,7 @@ paths: operationId: getDarkColor parameters: - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -16039,7 +15984,7 @@ paths: operationId: setDarkColor parameters: - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -16199,7 +16144,7 @@ paths: operationId: resetLightColor parameters: - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -16242,7 +16187,7 @@ paths: operationId: getLightColor parameters: - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -16293,7 +16238,7 @@ paths: operationId: setLightColor parameters: - description: The name of the branding color. - enum: *id019 + enum: *id020 in: path name: reference required: true @@ -16445,7 +16390,7 @@ paths: operationId: getDarkImageData parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -16491,7 +16436,7 @@ paths: operationId: clearDarkImage parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -16541,7 +16486,7 @@ paths: operationId: uploadDarkImage parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -16595,7 +16540,7 @@ paths: operationId: uploadDarkImageMultipart parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -16723,7 +16668,7 @@ paths: operationId: getLightImageData parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -16769,7 +16714,7 @@ paths: operationId: clearLightImage parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -16819,7 +16764,7 @@ paths: operationId: uploadLightImage parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -16873,7 +16818,7 @@ paths: operationId: uploadLightImageMultipart parameters: - description: Name of the branding images (icon or picture). - enum: *id020 + enum: *id021 in: path name: reference required: true @@ -17348,7 +17293,7 @@ paths: ' operationId: deleteCertificateIssuerConfigByID parameters: - - &id021 + - &id022 description: 'The ID of the certificate issuer configuration. ' @@ -17385,7 +17330,7 @@ paths: ' operationId: getCertificateIssuerConfigByID parameters: - - *id021 + - *id022 responses: '200': description: OK. @@ -17423,7 +17368,7 @@ paths: required: true schema: $ref: '#/definitions/CertificateIssuerConfigRequest' - - *id021 + - *id022 responses: '200': description: OK. @@ -19601,9 +19546,9 @@ paths: required: true schema: properties: - custom_attributes: *id022 - description: *id023 - name: *id024 + custom_attributes: *id023 + description: *id024 + name: *id025 type: object responses: '201': @@ -19695,9 +19640,9 @@ paths: required: true schema: properties: - custom_attributes: *id022 - description: *id023 - name: *id024 + custom_attributes: *id023 + description: *id024 + name: *id025 type: object responses: '200': @@ -20323,7 +20268,7 @@ paths: summary: Get a page of devices. tags: - Device directory - groups - x-filter: &id025 + x-filter: &id026 account_id: - eq - neq @@ -21695,7 +21640,7 @@ paths: summary: List all devices. tags: - Device directory - devices - x-filter: *id025 + x-filter: *id026 x-origin: /home/circleci/project/device-directory/public/swagger.yml post: description: Create a new device. @@ -21940,7 +21885,7 @@ paths: in: body name: Block required: true - schema: &id026 + schema: &id027 properties: category: description: The reference of the block category. @@ -22004,7 +21949,7 @@ paths: in: body name: Block required: true - schema: *id026 + schema: *id027 responses: '204': description: Ok - Device suspended. @@ -22018,9 +21963,23 @@ paths: tags: - Device directory - lifecycle x-origin: /home/circleci/project/device-directory/public/swagger.yml - /v3/firmware-images/: + /v3/firmware-images: get: - description: List all firmware images. + description: 'List all firmware images. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images \ + + -H ''Authorization: '' + + ``` + + ' operationId: Firmware_Image_list parameters: - description: How many objects to retrieve in the page. The minimum limit is @@ -22031,16 +21990,16 @@ paths: minimum: 2 name: limit type: integer - - description: ASC or DESC + - description: ASC or DESC. in: query name: order type: string - - description: The ID of the the item after which to retrieve the next page + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' in: query name: include type: string @@ -22223,16 +22182,18 @@ paths: type: string responses: '200': - description: Request successful + description: Request successful. schema: $ref: '#/definitions/FirmwareImagePage' '400': - description: Bad Request + description: Bad Request. '401': - description: Not authenticated + description: Not authenticated. '404': - description: Unable to find content + description: Unable to find content. summary: List all images + tags: + - Device update - firmware images x-filter: created_at: - in @@ -22278,20 +22239,42 @@ paths: post: consumes: - multipart/form-data - description: Create a firmware image. + description: 'Create a firmware image. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ + + -H ''Authorization: '' \ + + -H ''Content-Type: multipart/form-data'' \ + + -F ''datafile=@myimage.bin;type=application/octet-stream'' + + -F ''description=bla bla'' \ + + -F ''name=My Linux Image'' + + ``` + + ' operationId: Firmware_Image_create parameters: - - description: The firmware image file to upload + - description: The firmware image file to upload. in: formData name: datafile required: true type: file - - description: The description of the firmware image + - description: The description of the firmware image. in: formData name: description required: false type: string - - description: The name of the firmware image + - description: The name of the firmware image. in: formData maxLength: 128 name: name @@ -22305,17 +22288,34 @@ paths: '400': description: Cannot validate the data used to create the firmware image. '401': - description: Not authenticated + description: Not authenticated. '403': - description: Forbidden + description: Forbidden. 413: description: Firmware image too large. summary: Create an image + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/firmware-images/upload-jobs: get: - description: Get all upload jobs - operationId: Upload_Job_List + description: 'Get all upload jobs. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs + \ + + -H ''Authorization: '' + + ``` + + ' + operationId: Upload_Job_List parameters: - description: How many objects to retrieve in the page. The minimum limit is 2 and the maximum is 1000. Limit values outside of this range are set to @@ -22325,20 +22325,20 @@ paths: minimum: 2 name: limit type: integer - - description: ASC or DESC + - description: ASC or DESC. in: query name: order type: string - - description: The ID of the the item after which to retrieve the next page + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' in: query name: include type: string - - description: "URL-encoded query string parameter to filter returned data\n\ + - description: "URL-encoded query string parameter to filter returned data.\n\ \n`?filter={URL-encoded query string}`\n\n###### Filterable fields:\n\n\ The table lists all the fields that can be filtered on with certain filters:\n\ \n\n \n \n \n \n \n \n \n\ + \ \n\ + \ \n \n \n \n \n \n\ + \ \n \n \n \n \n \n \ + \ \n \n \n \n \n \n\ + \ \n \n \n \n \n\ + \ \n\ + \ \n \n \n \n\ + \ \n \n \n \n \n \n
Field= / __eq\ @@ -22490,18 +22490,20 @@ paths: type: string responses: 200: - description: Ok + description: Ok. schema: $ref: '#/definitions/UploadJobPage' 400: - description: Bad Request + description: Bad Request. schema: $ref: '#/definitions/ErrorResponse' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' summary: Get all upload jobs + tags: + - Device update - firmware images x-filter: complete: - eq @@ -22538,136 +22540,205 @@ paths: - gte x-origin: /home/circleci/project/update-service/public/swagger.yml post: - description: Create a new upload job + description: "Create a new upload job\n
\n**Usage example:**\n```\ncurl -X\ + \ POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs\ + \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"name\": \"New Linux update\",\n \"description\": \"New Linux\ + \ update for my devices\"\n}'\n```\n" operationId: Upload_Job_Create parameters: - - description: Upload job + - description: Upload job. in: body name: Upload job required: true schema: properties: - description: *id027 - name: *id028 + description: *id028 + name: *id029 type: object responses: 201: - description: Success - New job created + description: Success - New job created. headers: Location: - description: URL of the metadata for the created Upload Job + description: URL of the metadata for the created upload job. type: string schema: $ref: '#/definitions/UploadJob' 400: - description: Bad Request + description: Bad Request. schema: $ref: '#/definitions/ErrorResponse' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 409: - description: Conflict + description: Conflict. schema: $ref: '#/definitions/ErrorResponse' - summary: Create a new upload job + summary: Create a new upload job. + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/firmware-images/upload-jobs/{upload_job_id}: delete: - description: Delete an upload job + description: 'Delete an upload job. + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Upload_Job_Delete parameters: - - description: Upload job + - description: The upload job ID. in: path + maxLength: 32 + minLength: 32 name: upload_job_id required: true type: string responses: 204: - description: Job deleted - no content to show + description: Job deleted - no content to show. 400: - description: Bad Request + description: Bad Request. schema: $ref: '#/definitions/ErrorResponse' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' summary: Delete an upload job + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml get: - description: Get an upload job + description: 'Get an upload job. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Upload_Job_Retrieve parameters: - - description: Upload job + - description: The upload job ID. in: path + maxLength: 32 + minLength: 32 name: upload_job_id required: true type: string responses: 200: - description: Ok + description: Ok. schema: $ref: '#/definitions/UploadJob' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get an upload job + summary: Retrieve information for an upload job + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml put: - description: Update an upload job + description: "Update an upload job.\n
\n**Usage example:**\n```\ncurl -X\ + \ PUT https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012\ + \ \\\n-H 'Authorization: ' \\\n-d '{\n \"name\": \"New\ + \ Linux update\",\n \"description\": \"New Linux update for my class XX devices\"\ + \n}'\n```\n" operationId: Upload_Job_Update parameters: - - description: Upload job id + - description: The upload job ID. in: path + maxLength: 32 + minLength: 32 name: upload_job_id required: true type: string - - description: Upload job + - description: Upload job. in: body name: Upload job required: true schema: properties: - description: *id027 - name: *id028 + description: *id028 + name: *id029 type: object responses: 200: - description: Ok + description: Ok. schema: $ref: '#/definitions/UploadJob' 400: - description: Bad Request + description: Bad Request. schema: $ref: '#/definitions/ErrorResponse' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' summary: Update an upload job + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/firmware-images/upload-jobs/{upload_job_id}/chunks: get: - description: List all metadata for uploaded chunks + description: 'List all metadata for uploaded chunks. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Upload_Job_Chunk_List parameters: - - description: Upload job + - description: The upload job ID. in: path + maxLength: 32 + minLength: 32 name: upload_job_id required: true type: string @@ -22679,16 +22750,16 @@ paths: minimum: 2 name: limit type: integer - - description: ASC or DESC + - description: ASC or DESC. in: query name: order type: string - - description: The ID of the the item after which to retrieve the next page + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' in: query name: include type: string @@ -22824,22 +22895,24 @@ paths: type: integer responses: 200: - description: Ok + description: Ok. schema: $ref: '#/definitions/UploadChunkInfoPage' 400: - description: Bad Request + description: Bad Request. schema: $ref: '#/definitions/ErrorResponse' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' summary: List all metadata for uploaded chunks + tags: + - Device update - firmware images x-filter: created_at: - in @@ -22871,9 +22944,13 @@ paths: x-origin: /home/circleci/project/update-service/public/swagger.yml post: consumes: - - binary/octet-stream - description: Append a chunks to an upload job. To finish a job upload a zero-length - chunk. + - application/octet-stream + description: "Append a chunk to an upload job. To finish a job, upload a zero-length\ + \ chunk.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks\ + \ \\\n-H 'Authorization: ' \\\n-H 'Content-MD5: Q2h1Y2sgSW51ZwDIAXR5IQ=='\ + \ \\\n-H 'Content-Type: binary/octet-stream' \\\n-H 'Content-Length: 999'\ + \ \\\n-d '{\n \"IGh0dHBzOi8vYXBpLnVzLWVhc3QtMS5tYmVkY2xvdWQuY29tLy92My9maXJtd2FyZS1pbWFnZXMvdXBsb2FkLWpvYnMve3VwbG9hZF9qb2JfaWR9W5rcw==\"\ + \n}'\n```\n" operationId: Upload_Job_Chunk_Create parameters: - description: The base64-encoded binary digest of the body (chunk data). @@ -22886,12 +22963,14 @@ paths: name: Content-Length required: true type: integer - - description: Upload job ID + - description: The upload job ID. in: path + maxLength: 32 + minLength: 32 name: upload_job_id required: true type: string - - description: Chunk + - description: Chunk. in: body name: chunk required: false @@ -22900,106 +22979,181 @@ paths: type: string responses: 201: - description: Success - Chunk appended to the upload + description: Success - Chunk appended to the upload. headers: Content-Location: - description: URL of the metadata for the uploaded chunk + description: URL of the metadata for the uploaded chunk. type: string Location: - description: URL of the metadata for the uploaded chunk + description: URL of the metadata for the uploaded chunk. type: string schema: $ref: '#/definitions/UploadChunkInfo' 400: - description: Bad Request + description: Bad Request. schema: $ref: '#/definitions/ErrorResponse' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' - summary: Append a chunks to an upload job + summary: Append a chunk to an upload job + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/firmware-images/upload-jobs/{upload_job_id}/chunks/{chunk_id}: get: - description: Get metadata about a chunk + description: 'Get metadata about a chunk. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Upload_Job_Chunk_retreive parameters: - - description: Upload job + - description: The upload job ID. in: path + maxLength: 32 + minLength: 32 name: upload_job_id required: true type: string - - description: Chunk + - description: Chunk. in: path + maxLength: 32 + minLength: 32 name: chunk_id required: true type: string responses: 200: - description: Ok + description: Ok. schema: $ref: '#/definitions/UploadChunkInfo' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' summary: Get metadata about a chunk + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml - /v3/firmware-images/{image_id}/: + /v3/firmware-images/{image_id}: delete: - description: Delete a firmware image. + description: 'Delete a firmware image. + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Firmware_Image_destroy parameters: - - description: The firmware image ID + - description: The firmware image ID. in: path + maxLength: 32 + minLength: 32 name: image_id required: true type: string responses: '204': - description: Firmware image deleted + description: Firmware image deleted. '400': - description: Bad Request + description: Bad Request. '401': - description: Not authenticated + description: Not authenticated. '404': - description: Firmware image not found + description: Firmware image not found. summary: Delete an image + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml get: - description: Retrieve a firmware image. + description: 'Retrieve a firmware image. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Firmware_Image_retrieve parameters: - description: The firmware image ID in: path + maxLength: 32 + minLength: 32 name: image_id required: true type: string responses: '200': - description: Retrieved result successfully + description: Retrieved result successfully. schema: $ref: '#/definitions/FirmwareImage' '400': - description: Bad Request + description: Bad Request. '401': - description: Not authenticated + description: Not authenticated. '404': - description: Firmware image can't be found - summary: Get an image + description: Firmware image can't be found. + summary: Get an image. + tags: + - Device update - firmware images x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/firmware-manifests/: get: - description: List firmware manifests. + description: 'List all firmware manifests. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ + + -H ''Authorization: '' + + ``` + + ' operationId: Firmware_Manifest_list parameters: - description: How many objects to retrieve in the page. The minimum limit is @@ -23010,16 +23164,16 @@ paths: minimum: 2 name: limit type: integer - - description: ASC or DESC + - description: ASC or DESC. in: query name: order type: string - - description: The ID of the the item after which to retrieve the next page + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' in: query name: include type: string @@ -23221,16 +23375,18 @@ paths: type: string responses: '200': - description: Request successful + description: Request successful. schema: $ref: '#/definitions/FirmwareManifestPage' '400': - description: Bad Request + description: Bad Request. '401': - description: Not authenticated + description: Not authenticated. '404': - description: Unable to find content - summary: List manifests + description: Unable to find content. + summary: List all firmware manifests. + tags: + - Device update - firmware manifests x-filter: created_at: - in @@ -23281,8 +23437,32 @@ paths: post: consumes: - multipart/form-data - description: Upload a firmware manifest. The API enforces a maximum size of - manifests of 2 KB. + description: 'Upload a firmware manifest. The API enforces a maximum manifest + size of 2KB. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ + + -H ''Authorization: '' \ + + -H ''Content-Type: multipart/form-data'' \ + + -F ''datafile=@myimage.bin;type=application/octet-stream'' \ + + -F ''description=bla bla'' \ + + -F ''key_table=@myKeyTable.proto;type='' \ + + -F ''name=My Manifest'' + + ``` + + ' operationId: Firmware_Manifest_create parameters: - description: The manifest file to create. The API gateway enforces the account-specific @@ -23291,24 +23471,25 @@ paths: name: datafile required: true type: file - - description: The description of the firmware manifest + - description: The description of the firmware manifest. in: formData name: description required: false type: string - - description: The key table of pre-shared keys for devices + - description: The key table of pre-shared keys for devices. The table is generated + by the manifest tool. in: formData name: key_table required: false type: file - - description: The name of the firmware manifest + - description: The name of the firmware manifest. in: formData maxLength: 128 name: name type: string responses: '201': - description: Created + description: Created. schema: $ref: '#/definitions/FirmwareManifest' '400': @@ -23317,53 +23498,93 @@ paths: ' '401': - description: Not authenticated + description: Not authenticated. '403': - description: Forbidden + description: Forbidden. summary: Upload a manifest + tags: + - Device update - firmware manifests x-origin: /home/circleci/project/update-service/public/swagger.yml - /v3/firmware-manifests/{manifest_id}/: + /v3/firmware-manifests/{manifest_id}: delete: - description: Delete a firmware manifest. + description: 'Delete a firmware manifest. + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Firmware_Manifest_destroy parameters: - - description: The firmware manifest ID + - description: The firmware manifest ID. in: path + maxLength: 32 + minLength: 32 name: manifest_id required: true type: string responses: '204': - description: Firmware manifest deleted + description: Firmware manifest deleted. '400': - description: Bad Request + description: Bad Request. '401': - description: Not authenticated + description: Not authenticated. '404': - description: Firmware manifest not found + description: Firmware manifest not found. summary: Delete a manifest + tags: + - Device update - firmware manifests x-origin: /home/circleci/project/update-service/public/swagger.yml get: - description: Retrieve a firmware manifest. + description: 'Retrieve a firmware manifest. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Firmware_Manifest_retrieve parameters: - - description: The firmware manifest ID + - description: The firmware manifest ID. in: path + maxLength: 32 + minLength: 32 name: manifest_id required: true type: string responses: '200': - description: Retrieved result successfully + description: Retrieved result successfully. schema: $ref: '#/definitions/FirmwareManifest' '400': - description: Bad request + description: Bad request. '401': - description: Not authenticated + description: Not authenticated. '404': - description: Firmware manifest can't be found + description: Firmware manifest can't be found. summary: Get a manifest + tags: + - Device update - firmware manifests x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/identity-providers: get: @@ -25701,9 +25922,23 @@ paths: tags: - Device security - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/update-campaigns/: + /v3/update-campaigns: get: - description: Get update campaigns for devices specified by a filter. + description: 'Get update campaigns for devices specified by a filter. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_list parameters: - description: How many objects to retrieve in the page. The minimum limit is @@ -25715,16 +25950,16 @@ paths: name: limit type: integer - description: 'The order of the records. Acceptable values: ASC, DESC. Default: - ASC' + ASC.' in: query name: order type: string - - description: The ID of the the item after which to retrieve the next page + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' in: query name: include type: string @@ -25965,19 +26200,21 @@ paths: type: string responses: '200': - description: Request successful + description: Request successful. schema: $ref: '#/definitions/UpdateCampaignPage' '400': description: 'Validation error: The data used to update the campaign did - not validate + not validate. ' '401': - description: Not authenticated + description: Not authenticated. '404': - description: Unable to find content + description: Unable to find content. summary: List all campaigns + tags: + - Device update - campaigns x-filter: created_at: - in @@ -26036,10 +26273,16 @@ paths: - gte x-origin: /home/circleci/project/update-service/public/swagger.yml post: - description: Create an update campaign. + description: "Create an update campaign.\n
\n**Usage example:**\n```\ncurl\ + \ -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization:\ + \ ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"\ + Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ + ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ + ,\n}'\n```\n" operationId: Update_Campaign_create parameters: - - description: Update campaign + - description: Update campaign. in: body name: campaign required: true @@ -26047,81 +26290,129 @@ paths: $ref: '#/definitions/UpdateCampaignPostRequest' responses: '201': - description: Update campaign created + description: Update campaign created. schema: $ref: '#/definitions/UpdateCampaign' '400': description: 'Validation error: The data used to create the campaign did - not validate + not validate. ' '401': - description: Not authenticated + description: Not authenticated. summary: Create a campaign + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml - /v3/update-campaigns/{campaign_id}/: + /v3/update-campaigns/{campaign_id}: delete: - description: Delete an update campaign. + description: 'Delete an update campaign. + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_destroy parameters: - - description: The ID of the update campaign + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string responses: '204': - description: Update campaign deleted + description: Update campaign deleted. '400': description: 'Validation error: The data used to update the campaign did - not validate + not validate. ' '401': - description: Not authenticated + description: Not authenticated. '404': - description: Update campaign can't be found + description: Update campaign can't be found. 409: description: Conflict - Cannot delete the campaign while in the current phase. schema: $ref: '#/definitions/ErrorResponse' summary: Delete a campaign + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml get: - description: Get an update campaign. + description: 'Get an update campaign. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_retrieve parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string responses: '200': - description: Retrieved result successfully + description: Retrieved result successfully. schema: $ref: '#/definitions/UpdateCampaign' '400': description: 'Validation error: The data used to update the campaign did - not validate + not validate. ' '401': - description: Not authenticated + description: Not authenticated. '404': - description: Unable to find campaign + description: Unable to find campaign. summary: Get a campaign. + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml put: - description: Modify an update campaign. + description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012\ + \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\"\ + : \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ + ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ + ,\n}'\n```\n" operationId: Update_Campaign_update parameters: - - in: path + - description: The campaign ID. + in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string - - description: Update campaign + - description: Update campaign. in: body name: campaign required: true @@ -26129,30 +26420,49 @@ paths: $ref: '#/definitions/UpdateCampaignPutRequest' responses: '200': - description: Update campaign updated + description: Update campaign updated. schema: $ref: '#/definitions/UpdateCampaign' '400': description: 'Validation error: The data used to update the campaign did - not validate + not validate. ' '401': - description: Not authenticated + description: Not authenticated. '403': description: Fields apart from 'name', 'description' and 'state' cannot be modified when the state is not 'draft'. '404': - description: Update campaign can't be found + description: Update campaign can't be found. summary: Modify a campaign + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/archive: post: - description: This command will archive a campaign. + description: 'Archive a campaign. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/archive + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_archive parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string @@ -26168,14 +26478,33 @@ paths: '409': description: Cannot archive the campaign while in the current phase. summary: Archive a campaign. + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml - /v3/update-campaigns/{campaign_id}/campaign-device-metadata/: + /v3/update-campaigns/{campaign_id}/campaign-device-metadata: get: - description: Get campaign device metadata. + description: 'Get metadata for all devices in a campaign. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_Metadata_list parameters: - - description: The update campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string @@ -26187,75 +26516,119 @@ paths: minimum: 2 name: limit type: integer - - description: ASC or DESC + - description: ASC or DESC. in: query name: order type: string - - description: The ID of the the item after which to retrieve the next page + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' in: query name: include type: string responses: 200: - description: Request successful + description: Request successful. schema: $ref: '#/definitions/CampaignDeviceMetadataPage' 401: description: Unauthorized summary: List all campaign device metadata + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml - /v3/update-campaigns/{campaign_id}/campaign-device-metadata/{campaign_device_metadata_id}/: + /v3/update-campaigns/{campaign_id}/campaign-device-metadata/{campaign_device_metadata_id}: get: - description: Get update campaign metadata. + description: 'Get update campaign metadata for a specific device. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_Metadata_retrieve parameters: - - description: The update campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string - - description: The campaign device metadata ID + - description: The campaign device metadata ID. in: path + maxLength: 32 + minLength: 32 name: campaign_device_metadata_id required: true type: string responses: 200: - description: Request successful + description: Request successful. schema: $ref: '#/definitions/CampaignDeviceMetadata' 401: - description: Unauthorized + description: Unauthorized. 404: - description: Not Found + description: Not Found. summary: Get a campaign device metadata + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/metrics: get: deprecated: true - description: Get detailed statistics of a campaign. + description: 'Get [information](https://www.pelion.com/docs/device-management/current/updating-firmware/campaign-metrics-in-portal.html) + for a campaign based on **SUCCESS**, **FAIL**, or **SKIPPED** criteria for + each device. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/metrics + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_metrics parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string responses: 200: - description: Request successful + description: Request successful. schema: $ref: '#/definitions/CampaignMetrics' 401: - description: Unauthorized + description: Unauthorized. 404: description: Unable to find campaign or the campaign hasn't started. summary: Get campaign metrics + tags: + - Device update - campaigns x-deprecation: comment: Use the statistics endpoint instead. end_of_life_at: '2020-04-10T13:41:00+00:00' @@ -26264,11 +26637,28 @@ paths: x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/start: post: - description: This command will begin the process of starting a campaign. + description: 'Start a campaign. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/start + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_start parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string @@ -26284,108 +26674,173 @@ paths: '409': description: Cannot start the campaign while in the current phase. summary: Start a campaign. + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml - /v3/update-campaigns/{campaign_id}/statistics/: + /v3/update-campaigns/{campaign_id}/statistics: get: - description: Get a list of statistics for a campaign + description: 'Get a list of statistics for a campaign, including the number + of devices reporting specific event codes. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_statistics_list parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string responses: 200: - description: OK + description: OK. schema: $ref: '#/definitions/EventTypeSummaryList' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get a list of statistics for a campaign + summary: Get statistics for a campaign + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}: get: - description: Get a summary status + description: "Get the count of successfully updated, skipped, and failed devices.\ + \ \n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012\ + \ \\\n-H 'Authorization: '\n```\n" operationId: Update_Campaign_statistics_retrieve parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string - - description: The summary status. For example, fail + - description: The summary status. For example, fail. in: path name: summary_status_id required: true type: string responses: 200: - description: OK + description: OK. schema: $ref: '#/definitions/EventTypeSummary' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get a summary status + summary: Get a status summary + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml - /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types/: + /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types: get: - description: Get a list of events grouped by summary + description: 'Get a list of events grouped by summary. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_event_types_list parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string - - description: The summary status. For example, fail + - description: The summary status. For example, fail. in: path name: summary_status_id required: true type: string responses: 200: - description: OK + description: OK. schema: $ref: '#/definitions/EventTypeList' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' summary: Get a list of events grouped by summary + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types/{event_type_id}: get: - description: Get an event type for a campaign + description: 'Get the count for a specific event type; for example, succeeded, + failed, or skipped. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_event_types_retrieve parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string - - description: The summary status. For example, fail + - description: The summary status. For example, fail. in: path name: summary_status_id required: true type: string - - description: The event type parameter. For example, UPD4_FAIL_101 + - description: The event type parameter. For example, UPD4_FAIL_101. in: path name: event_type_id pattern: ^\w{1,16}$ @@ -26393,26 +26848,46 @@ paths: type: string responses: 200: - description: OK + description: OK. schema: $ref: '#/definitions/EventType' 401: - description: Not Authenticated + description: Not Authenticated. schema: $ref: '#/definitions/ErrorResponse' 404: - description: Not Found + description: Not Found. schema: $ref: '#/definitions/ErrorResponse' summary: Get an event type for a campaign + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/stop: post: - description: This command will begin the process of stopping a campaign. + description: 'Stop a campaign. Stopping is a process that requires the campaign + go through several [phases](../updating-firmware/running-update-campaigns.html#stopping). + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/stop + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_stop parameters: - - description: The campaign ID + - description: The campaign ID. in: path + maxLength: 32 + minLength: 32 name: campaign_id required: true type: string @@ -26428,6 +26903,8 @@ paths: '409': description: Cannot stop the campaign while in the current phase. summary: Stop a campaign. + tags: + - Device update - campaigns x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/user-invitations: get: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 38c3aed99..87020ee8a 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -87,6 +87,8 @@ ], "enums": [ "campaign_device_metadata_deployment_state_enum", + "update_campaign_strategy_enum", + "update_campaign_phase_enum", "update_campaign_order_enum", "campaign_statistics_summary_status_enum", "campaign_statistics_id_enum", @@ -973,6 +975,35 @@ "group_id": "Device_Update", "_key": "update_campaign_order_enum" }, + { + "entity_name": "update_campaign", + "field_name": "phase", + "enum_name": "update_campaign_phase_enum", + "values": [ + "active", + "archived", + "awaiting_approval", + "deleted", + "draft", + "starting", + "stopped", + "stopping", + "timed" + ], + "group_id": "Device_Update", + "_key": "update_campaign_phase_enum" + }, + { + "entity_name": "update_campaign", + "field_name": "campaign_strategy", + "enum_name": "update_campaign_strategy_enum", + "values": [ + "continuous", + "one-shot" + ], + "group_id": "Device_Update", + "_key": "update_campaign_strategy_enum" + }, { "entity_name": "user_invitation", "field_name": "order", @@ -18460,7 +18491,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get update campaign metadata.", + "description": "Get update campaign metadata for a specific device.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "campaign", @@ -18470,7 +18501,7 @@ "fields": [ { "type": "string", - "description": "The device's campaign ID", + "description": "The device's campaign ID.", "example": "015bf72fccda00000000000100100280", "api_fieldname": "campaign", "entity_fieldname": "campaign_id", @@ -18481,7 +18512,7 @@ }, { "type": "string", - "description": "The metadata record ID", + "description": "The metadata record ID.", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "entity_fieldname": "id", @@ -18495,13 +18526,13 @@ "mode": "read", "responses": [ { - "description": "Request successful", + "description": "Request successful.", "schema": { "type": "object", "properties": [ { "type": "string", - "description": "The device's campaign ID", + "description": "The device's campaign ID.", "example": "015bf72fccda00000000000100100280", "api_fieldname": "campaign", "entity_fieldname": "campaign_id", @@ -18510,14 +18541,14 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "entity_fieldname": "created_at", "_key": "created_at" }, { - "description": "The state of the update campaign on the device", + "description": "The state of the update campaign on the device.", "enum": [ "pending", "updated_connector_channel", @@ -18534,15 +18565,15 @@ { "type": "string", "maxLength": 2000, - "description": "Description", - "example": "", + "description": "Description.", + "example": "a description", "api_fieldname": "description", "entity_fieldname": "description", "_key": "description" }, { "type": "string", - "description": "The device ID", + "description": "The device ID.", "example": "015c2fec9bba0000000000010010036f", "api_fieldname": "device_id", "entity_fieldname": "device_id", @@ -18550,7 +18581,7 @@ }, { "type": "string", - "description": "API resource entity version", + "description": "API resource entity version.", "example": "2017-05-22T12:37:58.753425Z", "api_fieldname": "etag", "entity_fieldname": "etag", @@ -18558,7 +18589,7 @@ }, { "type": "string", - "description": "The metadata record ID", + "description": "The metadata record ID.", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "entity_fieldname": "id", @@ -18566,7 +18597,7 @@ }, { "type": "string", - "description": "How the firmware is delivered (connector or direct)", + "description": "How the firmware is delivered (connector or direct).", "example": "connector", "api_fieldname": "mechanism", "entity_fieldname": "mechanism", @@ -18574,8 +18605,7 @@ }, { "type": "string", - "description": "The Device Management Connect URL", - "example": "", + "description": "The Device Management Connect URL.", "api_fieldname": "mechanism_url", "entity_fieldname": "mechanism_url", "_key": "mechanism_url" @@ -18583,16 +18613,15 @@ { "type": "string", "maxLength": 128, - "description": "The record name", - "example": "default_object_name", + "description": "The record name.", + "default": "default_object_name", "api_fieldname": "name", "entity_fieldname": "name", "_key": "name" }, { "type": "string", - "description": "The entity name: always 'update-campaign-device-metadata'", - "example": "update-campaign-device-metadata", + "description": "The entity name: always 'update-campaign-device-metadata'.", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -18600,8 +18629,8 @@ { "type": "string", "format": "date-time", - "description": "The record was modified in the database format: date-time", - "example": "2017-05-22T12:37:58.776736Z", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", "_key": "updated_at" @@ -18615,15 +18644,15 @@ "_key": "200" }, { - "description": "Unauthorized", + "description": "Unauthorized.", "_key": "401" }, { - "description": "Not Found", + "description": "Not Found.", "_key": "404" } ], - "path": "/v3/update-campaigns/{campaign_id}/campaign-device-metadata/{campaign_device_metadata_id}/", + "path": "/v3/update-campaigns/{campaign_id}/campaign-device-metadata/{campaign_device_metadata_id}", "summary": "Get a campaign device metadata", "return_type": "campaign_device_metadata", "return_info": { @@ -18639,13 +18668,13 @@ "type", "filter", "created_at", + "updated_at", "deployment_state", "description", "device_id", "mechanism", "mechanism_url", - "name", - "updated_at" + "name" ], "group_id": "Device_Update", "parameter_map": { @@ -18661,7 +18690,7 @@ "fields": [ { "type": "string", - "description": "The device's campaign ID", + "description": "The device's campaign ID.", "example": "015bf72fccda00000000000100100280", "api_fieldname": "campaign", "readOnly": false, @@ -18671,7 +18700,7 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "readOnly": true, @@ -18679,7 +18708,7 @@ "_key": "created_at" }, { - "description": "The state of the update campaign on the device", + "description": "The state of the update campaign on the device.", "enum": [ "pending", "updated_connector_channel", @@ -18698,8 +18727,8 @@ { "type": "string", "maxLength": 2000, - "description": "Description", - "example": "", + "description": "Description.", + "example": "a description", "api_fieldname": "description", "readOnly": true, "required": false, @@ -18707,7 +18736,7 @@ }, { "type": "string", - "description": "The device ID", + "description": "The device ID.", "example": "015c2fec9bba0000000000010010036f", "api_fieldname": "device_id", "readOnly": true, @@ -18716,7 +18745,7 @@ }, { "type": "string", - "description": "The metadata record ID", + "description": "The metadata record ID.", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "readOnly": false, @@ -18725,7 +18754,7 @@ }, { "type": "string", - "description": "How the firmware is delivered (connector or direct)", + "description": "How the firmware is delivered (connector or direct).", "example": "connector", "api_fieldname": "mechanism", "readOnly": true, @@ -18734,8 +18763,7 @@ }, { "type": "string", - "description": "The Device Management Connect URL", - "example": "", + "description": "The Device Management Connect URL.", "api_fieldname": "mechanism_url", "readOnly": true, "required": false, @@ -18744,8 +18772,8 @@ { "type": "string", "maxLength": 128, - "description": "The record name", - "example": "default_object_name", + "description": "The record name.", + "default": "default_object_name", "api_fieldname": "name", "readOnly": true, "required": false, @@ -18754,8 +18782,8 @@ { "type": "string", "format": "date-time", - "description": "The record was modified in the database format: date-time", - "example": "2017-05-22T12:37:58.776736Z", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "readOnly": true, "required": false, @@ -18768,7 +18796,9 @@ "_key": "campaign_id" } ], - "tags": [], + "tags": [ + "Device update - campaigns" + ], "group_id": "Device_Update", "_key": "campaign_device_metadata" }, @@ -18781,15 +18811,17 @@ "primary_key_field": "id", "methods": [ { - "description": "Get a list of events grouped by summary", + "description": "Get a list of events grouped by summary.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { - "description": "The campaign ID", + "description": "The campaign ID.", "in": "path", "name": "campaign_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "campaign_id", "api_fieldname": "campaign_id", "external_param": false, @@ -18797,7 +18829,7 @@ "_key": "campaign_id" }, { - "description": "The summary status. For example, fail", + "description": "The summary status. For example, fail.", "in": "path", "name": "summary_status_id", "required": true, @@ -18813,13 +18845,13 @@ "mode": "events", "responses": [ { - "description": "OK", + "description": "OK.", "schema": { "type": "object", "properties": [ { "type": "string", - "description": "The entity ID to fetch after the given one", + "description": "The entity ID to fetch after the given one.", "example": "null", "api_fieldname": "after", "entity_fieldname": "after", @@ -18864,7 +18896,7 @@ }, { "type": "string", - "example": "event-type", + "description": "Entity name: always 'event-type'.", "_key": "object" }, { @@ -18889,7 +18921,7 @@ }, { "type": "boolean", - "description": "A flag indicating whether there are more results", + "description": "A flag indicating whether there are more results.", "example": "false", "api_fieldname": "has_more", "entity_fieldname": "has_more", @@ -18897,7 +18929,7 @@ }, { "type": "integer", - "description": "The number of results to return, (range: 2-1000), or equals to total_count", + "description": "The number of results to return, (range: 2-1000), or equals to total_count.", "example": "50", "api_fieldname": "limit", "entity_fieldname": "limit", @@ -18905,7 +18937,7 @@ }, { "type": "string", - "description": "The entity name: always 'list'", + "description": "The entity name: always 'list'.", "example": "list", "api_fieldname": "object", "entity_fieldname": "object", @@ -18917,7 +18949,7 @@ "ASC", "DESC" ], - "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC", + "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -18941,7 +18973,7 @@ "_key": "200" }, { - "description": "Not Authenticated", + "description": "Not Authenticated.", "schema": { "type": "object", "required": [ @@ -19014,7 +19046,7 @@ "_key": "401" }, { - "description": "Not Found", + "description": "Not Found.", "schema": { "type": "object", "required": [ @@ -19087,7 +19119,7 @@ "_key": "404" } ], - "path": "/v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types/", + "path": "/v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types", "summary": "Get a list of events grouped by summary", "return_type": "paginated_response(campaign_statistics_events)", "return_info": { @@ -19124,15 +19156,17 @@ "_key": "events" }, { - "description": "Get a list of statistics for a campaign", + "description": "Get a list of statistics for a campaign, including the number of devices reporting specific event codes.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { - "description": "The campaign ID", + "description": "The campaign ID.", "in": "path", "name": "campaign_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "campaign_id", "api_fieldname": "campaign_id", "external_param": false, @@ -19144,13 +19178,13 @@ "mode": "list", "responses": [ { - "description": "OK", + "description": "OK.", "schema": { "type": "object", "properties": [ { "type": "string", - "description": "The entity ID to fetch after the given one", + "description": "The entity ID to fetch after the given one.", "example": "null", "api_fieldname": "after", "entity_fieldname": "after", @@ -19187,12 +19221,12 @@ "skipped" ], "example": "fail", - "description": "ID of the event type description", + "description": "ID of the event type description.", "_key": "id" }, { "type": "string", - "example": "summary_status", + "description": "Entity name: always 'summary_status'.", "_key": "object" }, { @@ -19219,7 +19253,7 @@ }, { "type": "boolean", - "description": "A flag indicating whether there are more results", + "description": "A flag indicating whether there are more results.", "example": "false", "api_fieldname": "has_more", "entity_fieldname": "has_more", @@ -19227,7 +19261,7 @@ }, { "type": "integer", - "description": "The number of results to return, (range: 2-1000), or equals to total_count", + "description": "The number of results to return, (range: 2-1000), or equals to total_count.", "example": "50", "api_fieldname": "limit", "entity_fieldname": "limit", @@ -19235,8 +19269,7 @@ }, { "type": "string", - "description": "The entity name: always 'list'", - "example": "list", + "description": "The entity name: always 'list'.", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -19247,7 +19280,7 @@ "ASC", "DESC" ], - "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC", + "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -19271,7 +19304,7 @@ "_key": "200" }, { - "description": "Not Authenticated", + "description": "Not Authenticated.", "schema": { "type": "object", "required": [ @@ -19344,7 +19377,7 @@ "_key": "401" }, { - "description": "Not Found", + "description": "Not Found.", "schema": { "type": "object", "required": [ @@ -19417,8 +19450,8 @@ "_key": "404" } ], - "path": "/v3/update-campaigns/{campaign_id}/statistics/", - "summary": "Get a list of statistics for a campaign", + "path": "/v3/update-campaigns/{campaign_id}/statistics", + "summary": "Get statistics for a campaign", "return_type": "paginated_response(campaign_statistics)", "return_info": { "self": true, @@ -19455,7 +19488,7 @@ "_key": "list" }, { - "description": "Get a summary status", + "description": "Get the count of successfully updated, skipped, and failed devices. \n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -19478,7 +19511,7 @@ "skipped" ], "example": "fail", - "description": "ID of the event type description", + "description": "ID of the event type description.", "api_fieldname": "id", "entity_fieldname": "id", "parameter_fieldname": "summary_status_id", @@ -19492,7 +19525,7 @@ "mode": "read", "responses": [ { - "description": "OK", + "description": "OK.", "schema": { "type": "object", "properties": [ @@ -19528,14 +19561,14 @@ "skipped" ], "example": "fail", - "description": "ID of the event type description", + "description": "ID of the event type description.", "api_fieldname": "id", "entity_fieldname": "id", "_key": "id" }, { "type": "string", - "example": "summary_status", + "description": "Entity name: always 'summary_status'.", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -19563,7 +19596,7 @@ "_key": "200" }, { - "description": "Not Authenticated", + "description": "Not Authenticated.", "schema": { "type": "object", "required": [ @@ -19636,7 +19669,7 @@ "_key": "401" }, { - "description": "Not Found", + "description": "Not Found.", "schema": { "type": "object", "required": [ @@ -19710,7 +19743,7 @@ } ], "path": "/v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}", - "summary": "Get a summary status", + "summary": "Get a status summary", "return_type": "campaign_statistics", "return_info": { "self": true, @@ -19775,7 +19808,7 @@ "skipped" ], "example": "fail", - "description": "ID of the event type description", + "description": "ID of the event type description.", "api_fieldname": "id", "readOnly": false, "required": true, @@ -19800,7 +19833,9 @@ } ], "field_renames": [], - "tags": [], + "tags": [ + "Device update - campaigns" + ], "group_id": "Device_Update", "_key": "campaign_statistics" }, @@ -19811,7 +19846,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get an event type for a campaign", + "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -19850,7 +19885,7 @@ "mode": "read", "responses": [ { - "description": "OK", + "description": "OK.", "schema": { "type": "object", "properties": [ @@ -19900,7 +19935,7 @@ }, { "type": "string", - "example": "event-type", + "description": "Entity name: always 'event-type'.", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -19928,7 +19963,7 @@ "_key": "200" }, { - "description": "Not Authenticated", + "description": "Not Authenticated.", "schema": { "type": "object", "required": [ @@ -20001,7 +20036,7 @@ "_key": "401" }, { - "description": "Not Found", + "description": "Not Found.", "schema": { "type": "object", "required": [ @@ -20175,7 +20210,9 @@ } ], "field_renames": [], - "tags": [], + "tags": [ + "Device update - campaigns" + ], "group_id": "Device_Update", "_key": "campaign_statistics_events" }, @@ -43277,7 +43314,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a firmware image.", + "description": "Create a firmware image.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla bla' \\\n-F 'name=My Linux Image'\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -43286,10 +43323,10 @@ ], "fields": [ { - "description": "The description of the object", + "description": "The description of the object.", "type": "string", "maxLength": 2000, - "example": "", + "example": "a description", "api_fieldname": "description", "entity_fieldname": "description", "parameter_fieldname": "description", @@ -43298,7 +43335,7 @@ "_key": "description" }, { - "description": "The firmware image file to upload", + "description": "The firmware image file to upload.", "in": "stream", "name": "datafile", "required": true, @@ -43310,10 +43347,9 @@ "_key": "firmware_image_file" }, { - "description": "The firmware image name", + "description": "The firmware image name.", "type": "string", "maxLength": 128, - "example": "", "api_fieldname": "name", "entity_fieldname": "name", "parameter_fieldname": "name", @@ -43327,110 +43363,88 @@ "responses": [ { "description": "Firmware image created. The API gateway enforces the account-specific file size.", - "schema": { - "properties": [ - { - "description": "The time the object was created", + "schema": [ + { + "group": "Device_Update", + "entity": "firmware_image", + "_key": "foreign_key" + }, + { + "created_at": { + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" + "entity_fieldname": "created_at" }, - { + "etag": { + "type": "string", + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "object": { + "description": "Entity name: always 'firmware-image'.", + "type": "string", + "api_fieldname": "object", + "entity_fieldname": "object" + }, + "datafile": { "description": "The firmware image file URL", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "datafile", - "entity_fieldname": "datafile_url", - "_key": "datafile" + "entity_fieldname": "datafile_url" }, - { - "description": "The checksum (sha256) generated for the datafile", + "datafile_checksum": { + "description": "The checksum (sha256) generated for the datafile.", "type": "string", "example": "0000000000000000000000000000000000000000000000000000000000000000", "api_fieldname": "datafile_checksum", - "entity_fieldname": "datafile_checksum", - "_key": "datafile_checksum" + "entity_fieldname": "datafile_checksum" }, - { - "description": "The size of the datafile in bytes", + "datafile_size": { + "description": "The size of the datafile in bytes.", "format": "int64", "type": "integer", "api_fieldname": "datafile_size", - "entity_fieldname": "datafile_size", - "_key": "datafile_size" + "entity_fieldname": "datafile_size" }, - { - "description": "The description of the object", + "description": { + "description": "The description of the object.", "type": "string", "maxLength": 2000, - "example": "", + "example": "a description", "api_fieldname": "description", - "entity_fieldname": "description", - "_key": "description" - }, - { - "description": "The entity instance signature", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" + "entity_fieldname": "description" }, - { - "description": "The firmware image ID", + "id": { + "description": "The firmware image ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" + "entity_fieldname": "id" }, - { - "description": "The firmware image name", + "name": { + "description": "The firmware image name.", "type": "string", "maxLength": 128, - "example": "", "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" - }, - { - "description": "The API resource entity", - "type": "string", - "example": "firmware-image", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" + "entity_fieldname": "name" }, - { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "required": [ - "created_at", - "datafile", - "datafile_checksum", - "description", - "etag", - "id", - "name", - "object", - "updated_at" - ], - "foreign_key": { - "group": "Device_Update", - "entity": "firmware_image" + "_key": "properties" } - }, + ], "_key": "201" }, { @@ -43438,11 +43452,11 @@ "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Forbidden", + "description": "Forbidden.", "_key": "403" }, { @@ -43450,7 +43464,7 @@ "_key": "413" } ], - "path": "/v3/firmware-images/", + "path": "/v3/firmware-images", "summary": "Create an image", "return_type": "firmware_image", "return_info": { @@ -43466,10 +43480,10 @@ "type", "filter", "created_at", + "updated_at", "datafile_checksum", "datafile_size", "id", - "updated_at", "datafile_url" ], "group_id": "Device_Update", @@ -43486,7 +43500,7 @@ "_key": "create" }, { - "description": "Delete a firmware image.", + "description": "Delete a firmware image.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -43495,11 +43509,13 @@ ], "fields": [ { - "description": "The firmware image ID", + "description": "The firmware image ID.", "in": "path", "name": "image_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "id", "api_fieldname": "image_id", "external_param": false, @@ -43511,23 +43527,23 @@ "mode": "delete", "responses": [ { - "description": "Firmware image deleted", + "description": "Firmware image deleted.", "_key": "204" }, { - "description": "Bad Request", + "description": "Bad Request.", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Firmware image not found", + "description": "Firmware image not found.", "_key": "404" } ], - "path": "/v3/firmware-images/{image_id}/", + "path": "/v3/firmware-images/{image_id}", "summary": "Delete an image", "return_type": "firmware_image", "return_info": { @@ -43554,7 +43570,7 @@ "_key": "delete" }, { - "description": "List all firmware images.", + "description": "List all firmware images.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -43567,7 +43583,7 @@ "example": null, "api_fieldname": "after", "entity_fieldname": "after", - "description": "The ID of the the item after which to retrieve the next page", + "description": "The ID of the item after which to retrieve the next page.", "in": "query", "name": "after", "external_param": true, @@ -43576,7 +43592,7 @@ "_key": "after" }, { - "description": "A comma-separated list of data fields to return. Currently supported: total_count", + "description": "A comma-separated list of data fields to return. Currently supported: total_count.", "in": "query", "name": "include", "type": "string", @@ -43608,7 +43624,7 @@ "ASC", "DESC" ], - "description": "ASC or DESC", + "description": "ASC or DESC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -43625,7 +43641,7 @@ "mode": "list", "responses": [ { - "description": "Request successful", + "description": "Request successful.", "schema": { "properties": [ { @@ -43636,92 +43652,75 @@ "_key": "after" }, { - "items": { - "properties": [ - { - "description": "The time the object was created", + "type": "array", + "items": [ + { + "group": "Device_Update", + "entity": "firmware_image", + "_key": "foreign_key" + }, + { + "created_at": { + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "_key": "created_at" + "api_fieldname": "created_at", + "entity_fieldname": "created_at" }, - { - "description": "The firmware image file URL", + "etag": { "type": "string", - "example": "http://example.com/00000000000000000000000000000000", - "_key": "datafile" + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" }, - { - "description": "The checksum (sha256) generated for the datafile", + "updated_at": { "type": "string", - "example": "0000000000000000000000000000000000000000000000000000000000000000", - "_key": "datafile_checksum" + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" }, - { - "description": "The size of the datafile in bytes", - "format": "int64", - "type": "integer", - "_key": "datafile_size" + "object": { + "description": "Entity name: always 'firmware-image'.", + "type": "string" }, - { - "description": "The description of the object", + "datafile": { + "description": "The firmware image file URL", "type": "string", - "maxLength": 2000, - "example": "", - "_key": "description" + "example": "http://example.com/00000000000000000000000000000000" }, - { - "description": "The entity instance signature", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", + "datafile_checksum": { + "description": "The checksum (sha256) generated for the datafile.", "type": "string", - "_key": "etag" + "example": "0000000000000000000000000000000000000000000000000000000000000000" }, - { - "description": "The firmware image ID", - "type": "string", - "example": "00000000000000000000000000000000", - "_key": "id" + "datafile_size": { + "description": "The size of the datafile in bytes.", + "format": "int64", + "type": "integer" }, - { - "description": "The firmware image name", + "description": { + "description": "The description of the object.", "type": "string", - "maxLength": 128, - "example": "", - "_key": "name" + "maxLength": 2000, + "example": "a description" }, - { - "description": "The API resource entity", + "id": { + "description": "The firmware image ID.", "type": "string", - "example": "firmware-image", - "_key": "object" + "example": "00000000000000000000000000000000" }, - { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", + "name": { + "description": "The firmware image name.", "type": "string", - "_key": "updated_at" - } - ], - "required": [ - "created_at", - "datafile", - "datafile_checksum", - "description", - "etag", - "id", - "name", - "object", - "updated_at" - ], - "foreign_key": { - "group": "Device_Update", - "entity": "firmware_image" + "maxLength": 128 + }, + "_key": "properties" } - }, - "type": "array", - "example": "[]", + ], "api_fieldname": "data", "entity_fieldname": "data", "_key": "data" @@ -43740,8 +43739,8 @@ "_key": "limit" }, { + "description": "Entity name: always 'list'.", "type": "string", - "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -43775,19 +43774,19 @@ "_key": "200" }, { - "description": "Bad Request", + "description": "Bad Request.", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Unable to find content", + "description": "Unable to find content.", "_key": "404" } ], - "path": "/v3/firmware-images/", + "path": "/v3/firmware-images", "summary": "List all images", "return_type": "paginated_response(firmware_image)", "return_info": { @@ -43903,7 +43902,7 @@ "_key": "list" }, { - "description": "Retrieve a firmware image.", + "description": "Retrieve a firmware image.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -43912,7 +43911,7 @@ ], "fields": [ { - "description": "The firmware image ID", + "description": "The firmware image ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", @@ -43927,128 +43926,106 @@ "mode": "read", "responses": [ { - "description": "Retrieved result successfully", - "schema": { - "properties": [ - { - "description": "The time the object was created", + "description": "Retrieved result successfully.", + "schema": [ + { + "group": "Device_Update", + "entity": "firmware_image", + "_key": "foreign_key" + }, + { + "created_at": { + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" + "entity_fieldname": "created_at" }, - { + "etag": { + "type": "string", + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "object": { + "description": "Entity name: always 'firmware-image'.", + "type": "string", + "api_fieldname": "object", + "entity_fieldname": "object" + }, + "datafile": { "description": "The firmware image file URL", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "datafile", - "entity_fieldname": "datafile_url", - "_key": "datafile" + "entity_fieldname": "datafile_url" }, - { - "description": "The checksum (sha256) generated for the datafile", + "datafile_checksum": { + "description": "The checksum (sha256) generated for the datafile.", "type": "string", "example": "0000000000000000000000000000000000000000000000000000000000000000", "api_fieldname": "datafile_checksum", - "entity_fieldname": "datafile_checksum", - "_key": "datafile_checksum" + "entity_fieldname": "datafile_checksum" }, - { - "description": "The size of the datafile in bytes", + "datafile_size": { + "description": "The size of the datafile in bytes.", "format": "int64", "type": "integer", "api_fieldname": "datafile_size", - "entity_fieldname": "datafile_size", - "_key": "datafile_size" + "entity_fieldname": "datafile_size" }, - { - "description": "The description of the object", + "description": { + "description": "The description of the object.", "type": "string", "maxLength": 2000, - "example": "", + "example": "a description", "api_fieldname": "description", - "entity_fieldname": "description", - "_key": "description" - }, - { - "description": "The entity instance signature", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" + "entity_fieldname": "description" }, - { - "description": "The firmware image ID", + "id": { + "description": "The firmware image ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" + "entity_fieldname": "id" }, - { - "description": "The firmware image name", + "name": { + "description": "The firmware image name.", "type": "string", "maxLength": 128, - "example": "", "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" - }, - { - "description": "The API resource entity", - "type": "string", - "example": "firmware-image", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" + "entity_fieldname": "name" }, - { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "required": [ - "created_at", - "datafile", - "datafile_checksum", - "description", - "etag", - "id", - "name", - "object", - "updated_at" - ], - "foreign_key": { - "group": "Device_Update", - "entity": "firmware_image" + "_key": "properties" } - }, + ], "_key": "200" }, { - "description": "Bad Request", + "description": "Bad Request.", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Firmware image can't be found", + "description": "Firmware image can't be found.", "_key": "404" } ], - "path": "/v3/firmware-images/{image_id}/", - "summary": "Get an image", + "path": "/v3/firmware-images/{image_id}", + "summary": "Get an image.", "return_type": "firmware_image", "return_info": { "self": true, @@ -44063,11 +44040,11 @@ "type", "filter", "created_at", + "updated_at", "datafile_checksum", "datafile_size", "description", "name", - "updated_at", "datafile_url" ], "group_id": "Device_Update", @@ -44083,17 +44060,17 @@ ], "fields": [ { - "description": "The time the object was created", + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "created_at", "readOnly": true, "required": false, "_key": "created_at" }, { - "description": "The checksum (sha256) generated for the datafile", + "description": "The checksum (sha256) generated for the datafile.", "type": "string", "example": "0000000000000000000000000000000000000000000000000000000000000000", "api_fieldname": "datafile_checksum", @@ -44102,7 +44079,7 @@ "_key": "datafile_checksum" }, { - "description": "The size of the datafile in bytes", + "description": "The size of the datafile in bytes.", "format": "int64", "type": "integer", "api_fieldname": "datafile_size", @@ -44120,17 +44097,17 @@ "_key": "datafile_url" }, { - "description": "The description of the object", + "description": "The description of the object.", "type": "string", "maxLength": 2000, - "example": "", + "example": "a description", "api_fieldname": "description", "readOnly": false, "required": false, "_key": "description" }, { - "description": "The firmware image ID", + "description": "The firmware image ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", @@ -44139,20 +44116,19 @@ "_key": "id" }, { - "description": "The firmware image name", + "description": "The firmware image name.", "type": "string", "maxLength": 128, - "example": "", "api_fieldname": "name", "readOnly": false, "required": false, "_key": "name" }, { - "description": "The time the object was updated", + "type": "string", "format": "date-time", + "description": "The time the entity was updated.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "updated_at", "readOnly": true, "required": false, @@ -44165,7 +44141,9 @@ "_key": "datafile_url" } ], - "tags": [], + "tags": [ + "Device update - firmware images" + ], "group_id": "Device_Update", "_key": "firmware_image" }, @@ -44177,7 +44155,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload a firmware manifest. The API enforces a maximum size of manifests of 2 KB.", + "description": "Upload a firmware manifest. The API enforces a maximum manifest size of 2KB.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream' \\\n-F 'description=bla bla' \\\n-F 'key_table=@myKeyTable.proto;type=' \\\n-F 'name=My Manifest'\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44190,7 +44168,7 @@ ], "fields": [ { - "description": "The description of the firmware manifest", + "description": "The description of the firmware manifest.", "type": "string", "maxLength": 2000, "example": "", @@ -44214,7 +44192,7 @@ "_key": "firmware_manifest_file" }, { - "description": "The key table of pre-shared keys for devices", + "description": "The key table of pre-shared keys for devices. The table is generated by the manifest tool.", "in": "stream", "name": "key_table", "required": false, @@ -44226,10 +44204,10 @@ "_key": "key_table_file" }, { - "description": "The name of the object", + "description": "The name of the object.", "type": "string", "maxLength": 128, - "example": "", + "example": "default_object_name", "api_fieldname": "name", "entity_fieldname": "name", "parameter_fieldname": "name", @@ -44242,130 +44220,106 @@ "mode": "create", "responses": [ { - "description": "Created", - "schema": { - "properties": [ - { - "description": "The time the object was created", + "description": "Created.", + "schema": [ + { + "group": "Device_Update", + "entity": "firmware_manifest", + "_key": "foreign_key" + }, + { + "created_at": { + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" + "entity_fieldname": "created_at" }, - { + "etag": { + "type": "string", + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "object": { + "description": "Entity name: always 'firmware-manifest'.", + "type": "string", + "api_fieldname": "object", + "entity_fieldname": "object" + }, + "datafile": { "description": "The URL of the firmware manifest binary", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "http://example.com/12345678901234567890123456789012", "api_fieldname": "datafile", - "entity_fieldname": "datafile_url", - "_key": "datafile" + "entity_fieldname": "datafile_url" }, - { + "datafile_size": { "description": "The size of the datafile in bytes", "format": "int64", "type": "integer", "api_fieldname": "datafile_size", - "entity_fieldname": "datafile_size", - "_key": "datafile_size" + "entity_fieldname": "datafile_size" }, - { - "description": "The description of the firmware manifest", + "description": { + "description": "The description of the firmware manifest.", "type": "string", "maxLength": 2000, "example": "", "api_fieldname": "description", - "entity_fieldname": "description", - "_key": "description" + "entity_fieldname": "description" }, - { - "description": "The class of the device", + "device_class": { + "description": "The class of the device.", "type": "string", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "device_class", - "entity_fieldname": "device_class", - "_key": "device_class" - }, - { - "description": "The entity instance signature", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "description": "The firmware manifest ID", - "type": "string", - "example": "00000000000000000000000000000000", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" + "entity_fieldname": "device_class" }, - { - "description": "The key table of pre-shared keys for devices", + "key_table": { + "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", "example": "http://example.com", "api_fieldname": "key_table", - "entity_fieldname": "key_table_url", - "_key": "key_table" + "entity_fieldname": "key_table_url" }, - { - "description": "The name of the object", + "id": { + "description": "The firmware manifest ID.", "type": "string", - "maxLength": 128, - "example": "", - "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" + "example": "12345678901234567890123456789012", + "api_fieldname": "id", + "entity_fieldname": "id" }, - { - "description": "The API resource entity", + "name": { + "description": "The name of the object.", "type": "string", - "example": "firmware-manifest", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" + "maxLength": 128, + "example": "default_object_name", + "api_fieldname": "name", + "entity_fieldname": "name" }, - { - "description": "The firmware manifest version as a timestamp", + "timestamp": { + "description": "The firmware manifest version as a timestamp.", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", "api_fieldname": "timestamp", - "entity_fieldname": "timestamp", - "_key": "timestamp" + "entity_fieldname": "timestamp" }, - { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "required": [ - "created_at", - "datafile", - "description", - "device_class", - "etag", - "id", - "name", - "object", - "timestamp", - "updated_at" - ], - "foreign_key": { - "group": "Device_Update", - "entity": "firmware_manifest" + "_key": "properties" } - }, + ], "_key": "201" }, { @@ -44373,11 +44327,11 @@ "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Forbidden", + "description": "Forbidden.", "_key": "403" } ], @@ -44397,11 +44351,11 @@ "type", "filter", "created_at", + "updated_at", "datafile_size", "device_class", "id", "timestamp", - "updated_at", "datafile_url", "key_table_url" ], @@ -44420,7 +44374,7 @@ "_key": "create" }, { - "description": "Delete a firmware manifest.", + "description": "Delete a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44433,11 +44387,13 @@ ], "fields": [ { - "description": "The firmware manifest ID", + "description": "The firmware manifest ID.", "in": "path", "name": "manifest_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "id", "api_fieldname": "manifest_id", "external_param": false, @@ -44449,23 +44405,23 @@ "mode": "delete", "responses": [ { - "description": "Firmware manifest deleted", + "description": "Firmware manifest deleted.", "_key": "204" }, { - "description": "Bad Request", + "description": "Bad Request.", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Firmware manifest not found", + "description": "Firmware manifest not found.", "_key": "404" } ], - "path": "/v3/firmware-manifests/{manifest_id}/", + "path": "/v3/firmware-manifests/{manifest_id}", "summary": "Delete a manifest", "return_type": "firmware_manifest", "return_info": { @@ -44492,7 +44448,7 @@ "_key": "delete" }, { - "description": "List firmware manifests.", + "description": "List all firmware manifests.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44509,7 +44465,7 @@ "example": null, "api_fieldname": "after", "entity_fieldname": "after", - "description": "The ID of the the item after which to retrieve the next page", + "description": "The ID of the item after which to retrieve the next page.", "in": "query", "name": "after", "external_param": true, @@ -44518,7 +44474,7 @@ "_key": "after" }, { - "description": "A comma-separated list of data fields to return. Currently supported: total_count", + "description": "A comma-separated list of data fields to return. Currently supported: total_count.", "in": "query", "name": "include", "type": "string", @@ -44550,7 +44506,7 @@ "ASC", "DESC" ], - "description": "ASC or DESC", + "description": "ASC or DESC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -44567,7 +44523,7 @@ "mode": "list", "responses": [ { - "description": "Request successful", + "description": "Request successful.", "schema": { "properties": [ { @@ -44578,107 +44534,88 @@ "_key": "after" }, { - "items": { - "properties": [ - { - "description": "The time the object was created", + "type": "array", + "items": [ + { + "group": "Device_Update", + "entity": "firmware_manifest", + "_key": "foreign_key" + }, + { + "created_at": { + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "created_at", + "entity_fieldname": "created_at" + }, + "etag": { "type": "string", - "_key": "created_at" + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" }, - { + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "object": { + "description": "Entity name: always 'firmware-manifest'.", + "type": "string" + }, + "datafile": { "description": "The URL of the firmware manifest binary", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", - "_key": "datafile" + "example": "http://example.com/12345678901234567890123456789012" }, - { + "datafile_size": { "description": "The size of the datafile in bytes", "format": "int64", - "type": "integer", - "_key": "datafile_size" + "type": "integer" }, - { - "description": "The description of the firmware manifest", + "description": { + "description": "The description of the firmware manifest.", "type": "string", "maxLength": 2000, - "example": "", - "_key": "description" - }, - { - "description": "The class of the device", - "type": "string", - "example": "00000000-0000-0000-0000-000000000000", - "_key": "device_class" - }, - { - "description": "The entity instance signature", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "_key": "etag" + "example": "" }, - { - "description": "The firmware manifest ID", + "device_class": { + "description": "The class of the device.", "type": "string", - "example": "00000000000000000000000000000000", - "_key": "id" + "example": "00000000-0000-0000-0000-000000000000" }, - { - "description": "The key table of pre-shared keys for devices", + "key_table": { + "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", - "example": "http://example.com", - "_key": "key_table" + "example": "http://example.com" }, - { - "description": "The name of the object", + "id": { + "description": "The firmware manifest ID.", "type": "string", - "maxLength": 128, - "example": "", - "_key": "name" + "example": "12345678901234567890123456789012" }, - { - "description": "The API resource entity", + "name": { + "description": "The name of the object.", "type": "string", - "example": "firmware-manifest", - "_key": "object" + "maxLength": 128, + "example": "default_object_name" }, - { - "description": "The firmware manifest version as a timestamp", + "timestamp": { + "description": "The firmware manifest version as a timestamp.", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "_key": "timestamp" + "type": "string" }, - { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "_key": "updated_at" - } - ], - "required": [ - "created_at", - "datafile", - "description", - "device_class", - "etag", - "id", - "name", - "object", - "timestamp", - "updated_at" - ], - "foreign_key": { - "group": "Device_Update", - "entity": "firmware_manifest" + "_key": "properties" } - }, - "type": "array", - "example": "[]", + ], "api_fieldname": "data", "entity_fieldname": "data", "_key": "data" @@ -44697,8 +44634,8 @@ "_key": "limit" }, { + "description": "Entity name: always 'list'.", "type": "string", - "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -44709,7 +44646,7 @@ "ASC", "DESC" ], - "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC", + "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -44732,20 +44669,20 @@ "_key": "200" }, { - "description": "Bad Request", + "description": "Bad Request.", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Unable to find content", + "description": "Unable to find content.", "_key": "404" } ], "path": "/v3/firmware-manifests/", - "summary": "List manifests", + "summary": "List all firmware manifests.", "return_type": "paginated_response(firmware_manifest)", "return_info": { "self": true, @@ -44870,7 +44807,7 @@ "_key": "list" }, { - "description": "Retrieve a firmware manifest.", + "description": "Retrieve a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44883,9 +44820,9 @@ ], "fields": [ { - "description": "The firmware manifest ID", + "description": "The firmware manifest ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "12345678901234567890123456789012", "api_fieldname": "id", "entity_fieldname": "id", "parameter_fieldname": "manifest_id", @@ -44898,146 +44835,122 @@ "mode": "read", "responses": [ { - "description": "Retrieved result successfully", - "schema": { - "properties": [ - { - "description": "The time the object was created", + "description": "Retrieved result successfully.", + "schema": [ + { + "group": "Device_Update", + "entity": "firmware_manifest", + "_key": "foreign_key" + }, + { + "created_at": { + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" + "entity_fieldname": "created_at" }, - { + "etag": { + "type": "string", + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "object": { + "description": "Entity name: always 'firmware-manifest'.", + "type": "string", + "api_fieldname": "object", + "entity_fieldname": "object" + }, + "datafile": { "description": "The URL of the firmware manifest binary", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "http://example.com/12345678901234567890123456789012", "api_fieldname": "datafile", - "entity_fieldname": "datafile_url", - "_key": "datafile" + "entity_fieldname": "datafile_url" }, - { + "datafile_size": { "description": "The size of the datafile in bytes", "format": "int64", "type": "integer", "api_fieldname": "datafile_size", - "entity_fieldname": "datafile_size", - "_key": "datafile_size" + "entity_fieldname": "datafile_size" }, - { - "description": "The description of the firmware manifest", + "description": { + "description": "The description of the firmware manifest.", "type": "string", "maxLength": 2000, "example": "", "api_fieldname": "description", - "entity_fieldname": "description", - "_key": "description" + "entity_fieldname": "description" }, - { - "description": "The class of the device", + "device_class": { + "description": "The class of the device.", "type": "string", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "device_class", - "entity_fieldname": "device_class", - "_key": "device_class" - }, - { - "description": "The entity instance signature", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "etag", - "entity_fieldname": "etag", - "_key": "etag" - }, - { - "description": "The firmware manifest ID", - "type": "string", - "example": "00000000000000000000000000000000", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" + "entity_fieldname": "device_class" }, - { - "description": "The key table of pre-shared keys for devices", + "key_table": { + "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", "example": "http://example.com", "api_fieldname": "key_table", - "entity_fieldname": "key_table_url", - "_key": "key_table" + "entity_fieldname": "key_table_url" }, - { - "description": "The name of the object", + "id": { + "description": "The firmware manifest ID.", "type": "string", - "maxLength": 128, - "example": "", - "api_fieldname": "name", - "entity_fieldname": "name", - "_key": "name" + "example": "12345678901234567890123456789012", + "api_fieldname": "id", + "entity_fieldname": "id" }, - { - "description": "The API resource entity", + "name": { + "description": "The name of the object.", "type": "string", - "example": "firmware-manifest", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" + "maxLength": 128, + "example": "default_object_name", + "api_fieldname": "name", + "entity_fieldname": "name" }, - { - "description": "The firmware manifest version as a timestamp", + "timestamp": { + "description": "The firmware manifest version as a timestamp.", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", "api_fieldname": "timestamp", - "entity_fieldname": "timestamp", - "_key": "timestamp" + "entity_fieldname": "timestamp" }, - { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at", - "_key": "updated_at" - } - ], - "required": [ - "created_at", - "datafile", - "description", - "device_class", - "etag", - "id", - "name", - "object", - "timestamp", - "updated_at" - ], - "foreign_key": { - "group": "Device_Update", - "entity": "firmware_manifest" + "_key": "properties" } - }, + ], "_key": "200" }, { - "description": "Bad request", + "description": "Bad request.", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Firmware manifest can't be found", + "description": "Firmware manifest can't be found.", "_key": "404" } ], - "path": "/v3/firmware-manifests/{manifest_id}/", + "path": "/v3/firmware-manifests/{manifest_id}", "summary": "Get a manifest", "return_type": "firmware_manifest", "return_info": { @@ -45053,12 +44966,12 @@ "type", "filter", "created_at", + "updated_at", "datafile_size", "description", "device_class", "name", "timestamp", - "updated_at", "datafile_url", "key_table_url" ], @@ -45075,10 +44988,10 @@ ], "fields": [ { - "description": "The time the object was created", + "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "created_at", "readOnly": true, "required": false, @@ -45096,14 +45009,14 @@ { "description": "The URL of the firmware manifest binary", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "http://example.com/12345678901234567890123456789012", "api_fieldname": "datafile", "readOnly": true, "required": false, "_key": "datafile_url" }, { - "description": "The description of the firmware manifest", + "description": "The description of the firmware manifest.", "type": "string", "maxLength": 2000, "example": "", @@ -45113,7 +45026,7 @@ "_key": "description" }, { - "description": "The class of the device", + "description": "The class of the device.", "type": "string", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "device_class", @@ -45122,16 +45035,16 @@ "_key": "device_class" }, { - "description": "The firmware manifest ID", + "description": "The firmware manifest ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "12345678901234567890123456789012", "api_fieldname": "id", "readOnly": false, "required": true, "_key": "id" }, { - "description": "The key table of pre-shared keys for devices", + "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", "example": "http://example.com", @@ -45141,17 +45054,17 @@ "_key": "key_table_url" }, { - "description": "The name of the object", + "description": "The name of the object.", "type": "string", "maxLength": 128, - "example": "", + "example": "default_object_name", "api_fieldname": "name", "readOnly": false, "required": false, "_key": "name" }, { - "description": "The firmware manifest version as a timestamp", + "description": "The firmware manifest version as a timestamp.", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", @@ -45161,10 +45074,10 @@ "_key": "timestamp" }, { - "description": "The time the object was updated", + "type": "string", "format": "date-time", + "description": "The time the entity was updated.", "example": "2017-05-22T12:37:55.576563Z", - "type": "string", "api_fieldname": "updated_at", "readOnly": true, "required": false, @@ -45181,7 +45094,9 @@ "_key": "key_table_url" } ], - "tags": [], + "tags": [ + "Device update - firmware manifests" + ], "group_id": "Device_Update", "_key": "firmware_manifest" }, @@ -86556,7 +86471,7 @@ "primary_key_field": "id", "methods": [ { - "description": "This command will archive a campaign.", + "description": "Archive a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/archive \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -86572,11 +86487,13 @@ "_key": "device_filter_helper" }, { - "description": "The campaign ID", + "description": "The campaign ID.", "in": "path", "name": "campaign_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -86636,14 +86553,64 @@ "_key": "archive" }, { - "description": "Create an update campaign.", + "description": "Create an update campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", "field_renames": [], "fields": [ { - "description": "An optional description of the campaign", + "type": "boolean", + "description": "Flag indicating whether approval is needed to start the campaign.", + "example": "false", + "api_fieldname": "approval_required", + "entity_fieldname": "approval_required", + "parameter_fieldname": "approval_required", + "in": "body", + "required": false, + "_key": "approval_required" + }, + { + "type": "boolean", + "description": "Flag indicating whether the campaign should be auto-stopped on reaching a threshold.", + "example": "false", + "api_fieldname": "autostop", + "entity_fieldname": "autostop", + "parameter_fieldname": "autostop", + "in": "body", + "required": false, + "_key": "autostop" + }, + { + "description": "Percent of successful device updates to auto stop the campaign.", + "type": "number", + "format": "double", + "example": "85.00", + "api_fieldname": "autostop_success_percent", + "entity_fieldname": "autostop_success_percent", + "parameter_fieldname": "autostop_success_percent", + "in": "body", + "required": false, + "_key": "autostop_success_percent" + }, + { + "description": "How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that devices may be added to the campaign after it has started. The default is `one-shot`.", + "type": "string", + "enum": [ + "one-shot", + "continuous" + ], + "default": "one-shot", + "api_fieldname": "campaign_strategy", + "entity_fieldname": "campaign_strategy", + "parameter_fieldname": "campaign_strategy", + "in": "body", + "required": false, + "enum_reference": "update_campaign_strategy_enum", + "_key": "campaign_strategy" + }, + { + "description": "An optional description of the campaign.", "type": "string", "maxLength": 2000, - "example": "", + "example": "This campaign updates Class XX devices to version 1.34", "api_fieldname": "description", "entity_fieldname": "description", "parameter_fieldname": "description", @@ -86652,7 +86619,7 @@ "_key": "description" }, { - "description": "The filter for the devices the campaign is targeting at", + "description": "The filter for the devices the campaign is targeting at.", "type": "string", "example": "id__eq=00000000000000000000000000000000", "api_fieldname": "device_filter", @@ -86675,7 +86642,7 @@ "_key": "device_filter_helper" }, { - "description": "The campaign name", + "description": "The campaign name.", "type": "string", "maxLength": 128, "example": "campaign", @@ -86687,6 +86654,7 @@ "_key": "name" }, { + "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "root_manifest_id", @@ -86695,26 +86663,13 @@ "in": "body", "required": false, "_key": "root_manifest_id" - }, - { - "description": "The scheduled start time for the campaign. The campaign will start within 1 minute when then start time has elapsed.", - "type": "string", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "x-nullable": true, - "api_fieldname": "when", - "entity_fieldname": "when", - "parameter_fieldname": "when", - "in": "body", - "required": false, - "_key": "when" } ], "method": "post", "mode": "create", "responses": [ { - "description": "Update campaign created", + "description": "Update campaign created.", "schema": [ { "group": "Device_Update", @@ -86722,52 +86677,108 @@ "_key": "foreign_key" }, { - "autostop_reason": { - "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "created_at": { "type": "string", - "example": "Insufficient billing credit.", - "api_fieldname": "autostop_reason", - "entity_fieldname": "autostop_reason" + "format": "date-time", + "description": "The time the entity was created.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "created_at", + "entity_fieldname": "created_at" }, - "phase": { - "description": "The current phase of the campaign.", + "etag": { "type": "string", - "readOnly": true, - "api_fieldname": "phase", - "entity_fieldname": "phase" + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" }, - "created_at": { - "description": "The time the update campaign was created", + "updated_at": { "type": "string", "format": "date-time", + "description": "The time the entity was updated.", "example": "2017-05-22T12:37:55.576563Z", - "api_fieldname": "created_at", - "entity_fieldname": "created_at" + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "campaign_strategy": { + "description": "How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that devices may be added to the campaign after it has started. The default is `one-shot`.", + "type": "string", + "enum": [ + "one-shot", + "continuous" + ], + "default": "one-shot", + "api_fieldname": "campaign_strategy", + "entity_fieldname": "campaign_strategy" + }, + "object": { + "description": "Entity name: always 'update-campaign'.", + "type": "string", + "api_fieldname": "object", + "entity_fieldname": "object" + }, + "active_at": { + "description": "The time the campaign entered the active state.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "active_at", + "entity_fieldname": "active_at" + }, + "approval_required": { + "type": "boolean", + "description": "Flag indicating whether approval is needed to start the campaign.", + "example": "false", + "api_fieldname": "approval_required", + "entity_fieldname": "approval_required" + }, + "archived_at": { + "description": "The time the campaign was archived.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "archived_at", + "entity_fieldname": "archived_at" + }, + "autostop": { + "type": "boolean", + "description": "Flag indicating whether the campaign should be auto-stopped on reaching a threshold.", + "example": "false", + "api_fieldname": "autostop", + "entity_fieldname": "autostop" + }, + "autostop_success_percent": { + "description": "Percent of successful device updates to auto stop the campaign.", + "type": "number", + "format": "double", + "example": "85.00", + "api_fieldname": "autostop_success_percent", + "entity_fieldname": "autostop_success_percent" + }, + "autostop_reason": { + "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "type": "string", + "example": "Insufficient billing credit.", + "api_fieldname": "autostop_reason", + "entity_fieldname": "autostop_reason" }, "description": { - "description": "An optional description of the campaign", + "description": "An optional description of the campaign.", "type": "string", "maxLength": 2000, - "example": "", + "example": "This campaign updates Class XX devices to version 1.34", "api_fieldname": "description", "entity_fieldname": "description" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at", + "description": "The filter for the devices the campaign is targeting at.", "type": "string", "example": "id__eq=00000000000000000000000000000000", "api_fieldname": "device_filter", "entity_fieldname": "device_filter" }, - "etag": { - "description": "The entity instance signature", - "type": "string", - "example": "2017-05-22T12:37:58.753425Z", - "api_fieldname": "etag", - "entity_fieldname": "etag" - }, "finished": { - "description": "The campaign finish timestamp", + "description": "The time the campaign finished.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", @@ -86775,48 +86786,86 @@ "entity_fieldname": "finished" }, "id": { - "description": "The campaign ID", + "description": "The campaign ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", "entity_fieldname": "id" }, "name": { - "description": "The campaign name", + "description": "The campaign name.", "type": "string", "maxLength": 128, "example": "campaign", "api_fieldname": "name", "entity_fieldname": "name" }, - "object": { - "description": "The API resource entity", - "type": "string", - "example": "update-campaign", - "api_fieldname": "object", - "entity_fieldname": "object" - }, "root_manifest_id": { + "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id" }, "root_manifest_url": { + "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "root_manifest_url", "entity_fieldname": "root_manifest_url" }, + "starting_at": { + "description": "The time the campaign will be started.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "starting_at", + "entity_fieldname": "starting_at" + }, "started_at": { + "description": "The time the campaign was started.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "started_at", "entity_fieldname": "started_at" }, + "stopping_at": { + "description": "The time the campaign will be stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopping_at", + "entity_fieldname": "stopping_at" + }, + "stopped_at": { + "description": "The time the campaign was stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopped_at", + "entity_fieldname": "stopped_at" + }, + "phase": { + "description": "The phase of the campaign.", + "type": "string", + "enum": [ + "draft", + "awaiting_approval", + "timed", + "starting", + "active", + "stopping", + "stopped", + "deleted", + "archived" + ], + "api_fieldname": "phase", + "entity_fieldname": "phase" + }, "state": { - "description": "DEPRECATED: The state of the campaign (use phase instead).", + "description": "The state of the campaign.", + "type": "string", "enum": [ "draft", "scheduled", @@ -86838,7 +86887,6 @@ "userstopped", "conflict" ], - "type": "string", "x-deprecation": { "issued_at": "2019-03-18T14:55:20+00:00", "end_of_life_at": "2020-03-18T14:55:20+00:00", @@ -86857,29 +86905,21 @@ "api_fieldname": "when", "entity_fieldname": "when" }, - "updated_at": { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at" - }, "_key": "properties" } ], "_key": "201" }, { - "description": "Validation error: The data used to create the campaign did not validate\n", + "description": "Validation error: The data used to create the campaign did not validate.\n", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" } ], - "path": "/v3/update-campaigns/", + "path": "/v3/update-campaigns", "summary": "Create a campaign", "return_type": "update_campaign", "return_info": { @@ -86895,14 +86935,20 @@ "type", "filter", "state", - "autostop_reason", - "phase", "created_at", + "updated_at", + "active_at", + "archived_at", + "autostop_reason", "finished", "id", "root_manifest_url", + "starting_at", "started_at", - "updated_at" + "stopping_at", + "stopped_at", + "phase", + "when" ], "group_id": "Device_Update", "parameter_map": { @@ -86915,7 +86961,7 @@ "_key": "create" }, { - "description": "Delete an update campaign.", + "description": "Delete an update campaign.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -86931,11 +86977,13 @@ "_key": "device_filter_helper" }, { - "description": "The ID of the update campaign", + "description": "The campaign ID.", "in": "path", "name": "campaign_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -86947,19 +86995,19 @@ "mode": "delete", "responses": [ { - "description": "Update campaign deleted", + "description": "Update campaign deleted.", "_key": "204" }, { - "description": "Validation error: The data used to update the campaign did not validate\n", + "description": "Validation error: The data used to update the campaign did not validate.\n", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Update campaign can't be found", + "description": "Update campaign can't be found.", "_key": "404" }, { @@ -87036,7 +87084,7 @@ "_key": "409" } ], - "path": "/v3/update-campaigns/{campaign_id}/", + "path": "/v3/update-campaigns/{campaign_id}", "summary": "Delete a campaign", "return_type": "update_campaign", "return_info": { @@ -87064,12 +87112,12 @@ "_key": "delete" }, { - "description": "Get campaign device metadata.", + "description": "Get metadata for all devices in a campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { "type": "string", - "description": "The ID of the the item after which to retrieve the next page", + "description": "The ID of the item after which to retrieve the next page.", "example": "null", "api_fieldname": "after", "entity_fieldname": "after", @@ -87093,11 +87141,13 @@ "_key": "device_filter_helper" }, { - "description": "The update campaign ID", + "description": "The campaign ID.", "in": "path", "name": "campaign_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -87105,7 +87155,7 @@ "_key": "id" }, { - "description": "A comma-separated list of data fields to return. Currently supported: total_count", + "description": "A comma-separated list of data fields to return. Currently supported: total_count.", "in": "query", "name": "include", "type": "string", @@ -87137,7 +87187,7 @@ "ASC", "DESC" ], - "description": "ASC or DESC", + "description": "ASC or DESC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -87154,13 +87204,13 @@ "mode": "device_metadata", "responses": [ { - "description": "Request successful", + "description": "Request successful.", "schema": { "type": "object", "properties": [ { "type": "string", - "description": "The entity ID to fetch after the given one", + "description": "The entity ID to fetch after the given one.", "example": "null", "api_fieldname": "after", "entity_fieldname": "after", @@ -87168,13 +87218,13 @@ }, { "type": "array", - "description": "A list of entities", + "description": "A list of entities.", "items": { "type": "object", "properties": [ { "type": "string", - "description": "The device's campaign ID", + "description": "The device's campaign ID.", "example": "015bf72fccda00000000000100100280", "api_fieldname": "campaign", "entity_fieldname": "campaign_id", @@ -87186,14 +87236,14 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "entity_fieldname": "created_at", "_key": "created_at" }, { - "description": "The state of the update campaign on the device", + "description": "The state of the update campaign on the device.", "enum": [ "pending", "updated_connector_channel", @@ -87210,15 +87260,15 @@ { "type": "string", "maxLength": 2000, - "description": "Description", - "example": "", + "description": "Description.", + "example": "a description", "api_fieldname": "description", "entity_fieldname": "description", "_key": "description" }, { "type": "string", - "description": "The device ID", + "description": "The device ID.", "example": "015c2fec9bba0000000000010010036f", "api_fieldname": "device_id", "entity_fieldname": "device_id", @@ -87226,7 +87276,7 @@ }, { "type": "string", - "description": "API resource entity version", + "description": "API resource entity version.", "example": "2017-05-22T12:37:58.753425Z", "api_fieldname": "etag", "entity_fieldname": "etag", @@ -87234,7 +87284,7 @@ }, { "type": "string", - "description": "The metadata record ID", + "description": "The metadata record ID.", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "entity_fieldname": "id", @@ -87245,7 +87295,7 @@ }, { "type": "string", - "description": "How the firmware is delivered (connector or direct)", + "description": "How the firmware is delivered (connector or direct).", "example": "connector", "api_fieldname": "mechanism", "entity_fieldname": "mechanism", @@ -87253,8 +87303,7 @@ }, { "type": "string", - "description": "The Device Management Connect URL", - "example": "", + "description": "The Device Management Connect URL.", "api_fieldname": "mechanism_url", "entity_fieldname": "mechanism_url", "_key": "mechanism_url" @@ -87262,16 +87311,15 @@ { "type": "string", "maxLength": 128, - "description": "The record name", - "example": "default_object_name", + "description": "The record name.", + "default": "default_object_name", "api_fieldname": "name", "entity_fieldname": "name", "_key": "name" }, { "type": "string", - "description": "The entity name: always 'update-campaign-device-metadata'", - "example": "update-campaign-device-metadata", + "description": "The entity name: always 'update-campaign-device-metadata'.", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -87279,8 +87327,8 @@ { "type": "string", "format": "date-time", - "description": "The record was modified in the database format: date-time", - "example": "2017-05-22T12:37:58.776736Z", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", "_key": "updated_at" @@ -87297,7 +87345,7 @@ }, { "type": "boolean", - "description": "A flag indicating whether there are more results", + "description": "A flag indicating whether there are more results.", "example": "false", "api_fieldname": "has_more", "entity_fieldname": "has_more", @@ -87315,8 +87363,7 @@ }, { "type": "string", - "description": "The entity name: always 'list'", - "example": "list", + "description": "The entity name: always 'list'.", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -87327,7 +87374,7 @@ "ASC", "DESC" ], - "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC", + "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -87355,7 +87402,7 @@ "_key": "401" } ], - "path": "/v3/update-campaigns/{campaign_id}/campaign-device-metadata/", + "path": "/v3/update-campaigns/{campaign_id}/campaign-device-metadata", "summary": "List all campaign device metadata", "return_type": "paginated_response(campaign_device_metadata)", "return_info": { @@ -87390,7 +87437,7 @@ "_key": "device_metadata" }, { - "description": "Get update campaigns for devices specified by a filter.", + "description": "Get update campaigns for devices specified by a filter.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -87398,7 +87445,7 @@ "example": null, "api_fieldname": "after", "entity_fieldname": "after", - "description": "The ID of the the item after which to retrieve the next page", + "description": "The ID of the item after which to retrieve the next page.", "in": "query", "name": "after", "external_param": true, @@ -87419,7 +87466,7 @@ "_key": "device_filter_helper" }, { - "description": "A comma-separated list of data fields to return. Currently supported: total_count", + "description": "A comma-separated list of data fields to return. Currently supported: total_count.", "in": "query", "name": "include", "type": "string", @@ -87450,7 +87497,7 @@ "ASC", "DESC" ], - "description": "The order of the records. Acceptable values: ASC, DESC. Default: ASC", + "description": "The order of the records. Acceptable values: ASC, DESC. Default: ASC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -87467,7 +87514,7 @@ "mode": "list", "responses": [ { - "description": "Request successful", + "description": "Request successful.", "schema": { "properties": [ { @@ -87478,6 +87525,7 @@ "_key": "after" }, { + "type": "array", "items": [ { "group": "Device_Update", @@ -87485,75 +87533,155 @@ "_key": "foreign_key" }, { - "autostop_reason": { - "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "created_at": { "type": "string", - "example": "Insufficient billing credit." + "format": "date-time", + "description": "The time the entity was created.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "created_at", + "entity_fieldname": "created_at" }, - "phase": { - "description": "The current phase of the campaign.", + "etag": { "type": "string", - "readOnly": true + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" }, - "created_at": { - "description": "The time the update campaign was created", + "updated_at": { + "type": "string", + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "campaign_strategy": { + "description": "How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that devices may be added to the campaign after it has started. The default is `one-shot`.", + "type": "string", + "enum": [ + "one-shot", + "continuous" + ], + "default": "one-shot" + }, + "object": { + "description": "Entity name: always 'update-campaign'.", + "type": "string" + }, + "active_at": { + "description": "The time the campaign entered the active state.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z" }, + "approval_required": { + "type": "boolean", + "description": "Flag indicating whether approval is needed to start the campaign.", + "example": "false" + }, + "archived_at": { + "description": "The time the campaign was archived.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z" + }, + "autostop": { + "type": "boolean", + "description": "Flag indicating whether the campaign should be auto-stopped on reaching a threshold.", + "example": "false" + }, + "autostop_success_percent": { + "description": "Percent of successful device updates to auto stop the campaign.", + "type": "number", + "format": "double", + "example": "85.00" + }, + "autostop_reason": { + "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "type": "string", + "example": "Insufficient billing credit." + }, "description": { - "description": "An optional description of the campaign", + "description": "An optional description of the campaign.", "type": "string", "maxLength": 2000, - "example": "" + "example": "This campaign updates Class XX devices to version 1.34" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at", + "description": "The filter for the devices the campaign is targeting at.", "type": "string", "example": "id__eq=00000000000000000000000000000000" }, - "etag": { - "description": "The entity instance signature", - "type": "string", - "example": "2017-05-22T12:37:58.753425Z" - }, "finished": { - "description": "The campaign finish timestamp", + "description": "The time the campaign finished.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z" }, "id": { - "description": "The campaign ID", + "description": "The campaign ID.", "type": "string", "example": "00000000000000000000000000000000" }, "name": { - "description": "The campaign name", + "description": "The campaign name.", "type": "string", "maxLength": 128, "example": "campaign" }, - "object": { - "description": "The API resource entity", - "type": "string", - "example": "update-campaign" - }, "root_manifest_id": { + "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "00000000000000000000000000000000" }, "root_manifest_url": { + "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "http://example.com/00000000000000000000000000000000" }, + "starting_at": { + "description": "The time the campaign will be started.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z" + }, "started_at": { + "description": "The time the campaign was started.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z" + }, + "stopping_at": { + "description": "The time the campaign will be stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z" + }, + "stopped_at": { + "description": "The time the campaign was stopped.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z" }, + "phase": { + "description": "The phase of the campaign.", + "type": "string", + "enum": [ + "draft", + "awaiting_approval", + "timed", + "starting", + "active", + "stopping", + "stopped", + "deleted", + "archived" + ] + }, "state": { - "description": "DEPRECATED: The state of the campaign (use phase instead).", + "description": "The state of the campaign.", + "type": "string", "enum": [ "draft", "scheduled", @@ -87575,7 +87703,6 @@ "userstopped", "conflict" ], - "type": "string", "x-deprecation": { "issued_at": "2019-03-18T14:55:20+00:00", "end_of_life_at": "2020-03-18T14:55:20+00:00", @@ -87590,17 +87717,9 @@ "example": "2017-05-22T12:37:55.576563Z", "x-nullable": true }, - "updated_at": { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string" - }, "_key": "properties" } ], - "type": "array", - "example": "[]", "api_fieldname": "data", "entity_fieldname": "data", "_key": "data" @@ -87618,8 +87737,8 @@ "_key": "limit" }, { + "description": "Entity name: always 'list'.", "type": "string", - "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -87630,7 +87749,7 @@ "ASC", "DESC" ], - "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC", + "description": "The order of the records to return. Acceptable values: ASC, DESC. Default: ASC.", "example": "ASC", "api_fieldname": "order", "entity_fieldname": "order", @@ -87652,19 +87771,19 @@ "_key": "200" }, { - "description": "Validation error: The data used to update the campaign did not validate\n", + "description": "Validation error: The data used to update the campaign did not validate.\n", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Unable to find content", + "description": "Unable to find content.", "_key": "404" } ], - "path": "/v3/update-campaigns/", + "path": "/v3/update-campaigns", "summary": "List all campaigns", "return_type": "paginated_response(update_campaign)", "return_info": { @@ -87811,7 +87930,7 @@ "_key": "list" }, { - "description": "Get an update campaign.", + "description": "Get an update campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -87827,7 +87946,7 @@ "_key": "device_filter_helper" }, { - "description": "The campaign ID", + "description": "The campaign ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", @@ -87842,7 +87961,7 @@ "mode": "read", "responses": [ { - "description": "Retrieved result successfully", + "description": "Retrieved result successfully.", "schema": [ { "group": "Device_Update", @@ -87850,52 +87969,108 @@ "_key": "foreign_key" }, { - "autostop_reason": { - "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "created_at": { "type": "string", - "example": "Insufficient billing credit.", - "api_fieldname": "autostop_reason", - "entity_fieldname": "autostop_reason" + "format": "date-time", + "description": "The time the entity was created.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "created_at", + "entity_fieldname": "created_at" }, - "phase": { - "description": "The current phase of the campaign.", + "etag": { "type": "string", - "readOnly": true, - "api_fieldname": "phase", - "entity_fieldname": "phase" + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" }, - "created_at": { - "description": "The time the update campaign was created", + "updated_at": { "type": "string", "format": "date-time", + "description": "The time the entity was updated.", "example": "2017-05-22T12:37:55.576563Z", - "api_fieldname": "created_at", - "entity_fieldname": "created_at" + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "campaign_strategy": { + "description": "How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that devices may be added to the campaign after it has started. The default is `one-shot`.", + "type": "string", + "enum": [ + "one-shot", + "continuous" + ], + "default": "one-shot", + "api_fieldname": "campaign_strategy", + "entity_fieldname": "campaign_strategy" + }, + "object": { + "description": "Entity name: always 'update-campaign'.", + "type": "string", + "api_fieldname": "object", + "entity_fieldname": "object" + }, + "active_at": { + "description": "The time the campaign entered the active state.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "active_at", + "entity_fieldname": "active_at" + }, + "approval_required": { + "type": "boolean", + "description": "Flag indicating whether approval is needed to start the campaign.", + "example": "false", + "api_fieldname": "approval_required", + "entity_fieldname": "approval_required" + }, + "archived_at": { + "description": "The time the campaign was archived.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "archived_at", + "entity_fieldname": "archived_at" + }, + "autostop": { + "type": "boolean", + "description": "Flag indicating whether the campaign should be auto-stopped on reaching a threshold.", + "example": "false", + "api_fieldname": "autostop", + "entity_fieldname": "autostop" + }, + "autostop_success_percent": { + "description": "Percent of successful device updates to auto stop the campaign.", + "type": "number", + "format": "double", + "example": "85.00", + "api_fieldname": "autostop_success_percent", + "entity_fieldname": "autostop_success_percent" + }, + "autostop_reason": { + "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "type": "string", + "example": "Insufficient billing credit.", + "api_fieldname": "autostop_reason", + "entity_fieldname": "autostop_reason" }, "description": { - "description": "An optional description of the campaign", + "description": "An optional description of the campaign.", "type": "string", "maxLength": 2000, - "example": "", + "example": "This campaign updates Class XX devices to version 1.34", "api_fieldname": "description", "entity_fieldname": "description" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at", + "description": "The filter for the devices the campaign is targeting at.", "type": "string", "example": "id__eq=00000000000000000000000000000000", "api_fieldname": "device_filter", "entity_fieldname": "device_filter" }, - "etag": { - "description": "The entity instance signature", - "type": "string", - "example": "2017-05-22T12:37:58.753425Z", - "api_fieldname": "etag", - "entity_fieldname": "etag" - }, "finished": { - "description": "The campaign finish timestamp", + "description": "The time the campaign finished.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", @@ -87903,48 +88078,86 @@ "entity_fieldname": "finished" }, "id": { - "description": "The campaign ID", + "description": "The campaign ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", "entity_fieldname": "id" }, "name": { - "description": "The campaign name", + "description": "The campaign name.", "type": "string", "maxLength": 128, "example": "campaign", "api_fieldname": "name", "entity_fieldname": "name" }, - "object": { - "description": "The API resource entity", - "type": "string", - "example": "update-campaign", - "api_fieldname": "object", - "entity_fieldname": "object" - }, "root_manifest_id": { + "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id" }, "root_manifest_url": { + "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "root_manifest_url", "entity_fieldname": "root_manifest_url" }, + "starting_at": { + "description": "The time the campaign will be started.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "starting_at", + "entity_fieldname": "starting_at" + }, "started_at": { + "description": "The time the campaign was started.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "started_at", "entity_fieldname": "started_at" }, + "stopping_at": { + "description": "The time the campaign will be stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopping_at", + "entity_fieldname": "stopping_at" + }, + "stopped_at": { + "description": "The time the campaign was stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopped_at", + "entity_fieldname": "stopped_at" + }, + "phase": { + "description": "The phase of the campaign.", + "type": "string", + "enum": [ + "draft", + "awaiting_approval", + "timed", + "starting", + "active", + "stopping", + "stopped", + "deleted", + "archived" + ], + "api_fieldname": "phase", + "entity_fieldname": "phase" + }, "state": { - "description": "DEPRECATED: The state of the campaign (use phase instead).", + "description": "The state of the campaign.", + "type": "string", "enum": [ "draft", "scheduled", @@ -87966,7 +88179,6 @@ "userstopped", "conflict" ], - "type": "string", "x-deprecation": { "issued_at": "2019-03-18T14:55:20+00:00", "end_of_life_at": "2020-03-18T14:55:20+00:00", @@ -87985,33 +88197,25 @@ "api_fieldname": "when", "entity_fieldname": "when" }, - "updated_at": { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at" - }, "_key": "properties" } ], "_key": "200" }, { - "description": "Validation error: The data used to update the campaign did not validate\n", + "description": "Validation error: The data used to update the campaign did not validate.\n", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { - "description": "Unable to find campaign", + "description": "Unable to find campaign.", "_key": "404" } ], - "path": "/v3/update-campaigns/{campaign_id}/", + "path": "/v3/update-campaigns/{campaign_id}", "summary": "Get a campaign.", "return_type": "update_campaign", "return_info": { @@ -88027,18 +88231,27 @@ "type", "filter", "state", - "autostop_reason", - "phase", "created_at", + "updated_at", + "campaign_strategy", + "active_at", + "approval_required", + "archived_at", + "autostop", + "autostop_success_percent", + "autostop_reason", "description", "device_filter", "finished", "name", "root_manifest_id", "root_manifest_url", + "starting_at", "started_at", - "when", - "updated_at" + "stopping_at", + "stopped_at", + "phase", + "when" ], "group_id": "Device_Update", "parameter_map": { @@ -88051,7 +88264,7 @@ "_key": "read" }, { - "description": "This command will begin the process of starting a campaign.", + "description": "Start a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/start \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -88067,11 +88280,13 @@ "_key": "device_filter_helper" }, { - "description": "The campaign ID", + "description": "The campaign ID.", "in": "path", "name": "campaign_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -88131,7 +88346,7 @@ "_key": "start" }, { - "description": "This command will begin the process of stopping a campaign.", + "description": "Stop a campaign. Stopping is a process that requires the campaign go through several [phases](../updating-firmware/running-update-campaigns.html#stopping).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/stop \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -88147,11 +88362,13 @@ "_key": "device_filter_helper" }, { - "description": "The campaign ID", + "description": "The campaign ID.", "in": "path", "name": "campaign_id", "required": true, "type": "string", + "minLength": 32, + "maxLength": 32, "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -88211,14 +88428,48 @@ "_key": "stop" }, { - "description": "Modify an update campaign.", + "description": "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: ' \\\nd '{\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", "field_renames": [], "fields": [ { - "description": "An optional description of the campaign", + "type": "boolean", + "description": "Flag indicating whether approval is needed to start the campaign.", + "example": "false", + "api_fieldname": "approval_required", + "entity_fieldname": "approval_required", + "parameter_fieldname": "approval_required", + "in": "body", + "required": false, + "_key": "approval_required" + }, + { + "type": "boolean", + "description": "Flag indicating whether the campaign should be auto-stopped on reaching a threshold.", + "example": "false", + "api_fieldname": "autostop", + "entity_fieldname": "autostop", + "parameter_fieldname": "autostop", + "in": "body", + "required": false, + "_key": "autostop" + }, + { + "description": "Percent of successful device updates to auto stop the campaign.", + "type": "number", + "format": "double", + "example": "85.00", + "api_fieldname": "autostop_success_percent", + "entity_fieldname": "autostop_success_percent", + "parameter_fieldname": "autostop_success_percent", + "in": "body", + "required": false, + "_key": "autostop_success_percent" + }, + { + "description": "An optional description of the campaign.", "type": "string", "maxLength": 2000, - "example": "", + "example": "This campaign updates Class XX devices to version 1.34", "api_fieldname": "description", "entity_fieldname": "description", "parameter_fieldname": "description", @@ -88227,7 +88478,7 @@ "_key": "description" }, { - "description": "The filter for the devices the campaign is targeting at", + "description": "The filter for the devices the campaign is targeting at.", "type": "string", "example": "id__eq=00000000000000000000000000000000", "api_fieldname": "device_filter", @@ -88250,7 +88501,7 @@ "_key": "device_filter_helper" }, { - "description": "The campaign ID", + "description": "The campaign ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", @@ -88261,7 +88512,7 @@ "_key": "id" }, { - "description": "The campaign name", + "description": "The campaign name.", "type": "string", "maxLength": 128, "example": "campaign", @@ -88273,6 +88524,7 @@ "_key": "name" }, { + "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "root_manifest_id", @@ -88281,26 +88533,13 @@ "in": "body", "required": false, "_key": "root_manifest_id" - }, - { - "description": "The scheduled start time for the campaign. The campaign will start within 1 minute when then start time has elapsed.", - "type": "string", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "x-nullable": true, - "api_fieldname": "when", - "entity_fieldname": "when", - "parameter_fieldname": "when", - "in": "body", - "required": false, - "_key": "when" } ], "method": "put", "mode": "update", "responses": [ { - "description": "Update campaign updated", + "description": "Update campaign updated.", "schema": [ { "group": "Device_Update", @@ -88308,52 +88547,108 @@ "_key": "foreign_key" }, { - "autostop_reason": { - "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "created_at": { "type": "string", - "example": "Insufficient billing credit.", - "api_fieldname": "autostop_reason", - "entity_fieldname": "autostop_reason" + "format": "date-time", + "description": "The time the entity was created.", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "created_at", + "entity_fieldname": "created_at" }, - "phase": { - "description": "The current phase of the campaign.", + "etag": { "type": "string", - "readOnly": true, - "api_fieldname": "phase", - "entity_fieldname": "phase" + "description": "API resource entity version.", + "example": "2017-05-22T12:37:58.753425Z", + "api_fieldname": "etag", + "entity_fieldname": "etag" }, - "created_at": { - "description": "The time the update campaign was created", + "updated_at": { "type": "string", "format": "date-time", + "description": "The time the entity was updated.", "example": "2017-05-22T12:37:55.576563Z", - "api_fieldname": "created_at", - "entity_fieldname": "created_at" + "api_fieldname": "updated_at", + "entity_fieldname": "updated_at" + }, + "campaign_strategy": { + "description": "How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that devices may be added to the campaign after it has started. The default is `one-shot`.", + "type": "string", + "enum": [ + "one-shot", + "continuous" + ], + "default": "one-shot", + "api_fieldname": "campaign_strategy", + "entity_fieldname": "campaign_strategy" + }, + "object": { + "description": "Entity name: always 'update-campaign'.", + "type": "string", + "api_fieldname": "object", + "entity_fieldname": "object" + }, + "active_at": { + "description": "The time the campaign entered the active state.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "active_at", + "entity_fieldname": "active_at" + }, + "approval_required": { + "type": "boolean", + "description": "Flag indicating whether approval is needed to start the campaign.", + "example": "false", + "api_fieldname": "approval_required", + "entity_fieldname": "approval_required" + }, + "archived_at": { + "description": "The time the campaign was archived.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "archived_at", + "entity_fieldname": "archived_at" + }, + "autostop": { + "type": "boolean", + "description": "Flag indicating whether the campaign should be auto-stopped on reaching a threshold.", + "example": "false", + "api_fieldname": "autostop", + "entity_fieldname": "autostop" + }, + "autostop_success_percent": { + "description": "Percent of successful device updates to auto stop the campaign.", + "type": "number", + "format": "double", + "example": "85.00", + "api_fieldname": "autostop_success_percent", + "entity_fieldname": "autostop_success_percent" + }, + "autostop_reason": { + "description": "Text description of why a campaign failed to start or why a campaign stopped.", + "type": "string", + "example": "Insufficient billing credit.", + "api_fieldname": "autostop_reason", + "entity_fieldname": "autostop_reason" }, "description": { - "description": "An optional description of the campaign", + "description": "An optional description of the campaign.", "type": "string", "maxLength": 2000, - "example": "", + "example": "This campaign updates Class XX devices to version 1.34", "api_fieldname": "description", "entity_fieldname": "description" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at", + "description": "The filter for the devices the campaign is targeting at.", "type": "string", "example": "id__eq=00000000000000000000000000000000", "api_fieldname": "device_filter", "entity_fieldname": "device_filter" }, - "etag": { - "description": "The entity instance signature", - "type": "string", - "example": "2017-05-22T12:37:58.753425Z", - "api_fieldname": "etag", - "entity_fieldname": "etag" - }, "finished": { - "description": "The campaign finish timestamp", + "description": "The time the campaign finished.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", @@ -88361,48 +88656,86 @@ "entity_fieldname": "finished" }, "id": { - "description": "The campaign ID", + "description": "The campaign ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", "entity_fieldname": "id" }, "name": { - "description": "The campaign name", + "description": "The campaign name.", "type": "string", "maxLength": 128, "example": "campaign", "api_fieldname": "name", "entity_fieldname": "name" }, - "object": { - "description": "The API resource entity", - "type": "string", - "example": "update-campaign", - "api_fieldname": "object", - "entity_fieldname": "object" - }, "root_manifest_id": { + "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id" }, "root_manifest_url": { + "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "root_manifest_url", "entity_fieldname": "root_manifest_url" }, + "starting_at": { + "description": "The time the campaign will be started.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "starting_at", + "entity_fieldname": "starting_at" + }, "started_at": { + "description": "The time the campaign was started.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "started_at", "entity_fieldname": "started_at" }, + "stopping_at": { + "description": "The time the campaign will be stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopping_at", + "entity_fieldname": "stopping_at" + }, + "stopped_at": { + "description": "The time the campaign was stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopped_at", + "entity_fieldname": "stopped_at" + }, + "phase": { + "description": "The phase of the campaign.", + "type": "string", + "enum": [ + "draft", + "awaiting_approval", + "timed", + "starting", + "active", + "stopping", + "stopped", + "deleted", + "archived" + ], + "api_fieldname": "phase", + "entity_fieldname": "phase" + }, "state": { - "description": "DEPRECATED: The state of the campaign (use phase instead).", + "description": "The state of the campaign.", + "type": "string", "enum": [ "draft", "scheduled", @@ -88424,7 +88757,6 @@ "userstopped", "conflict" ], - "type": "string", "x-deprecation": { "issued_at": "2019-03-18T14:55:20+00:00", "end_of_life_at": "2020-03-18T14:55:20+00:00", @@ -88443,25 +88775,17 @@ "api_fieldname": "when", "entity_fieldname": "when" }, - "updated_at": { - "description": "The time the object was updated", - "format": "date-time", - "example": "2017-05-22T12:37:55.576563Z", - "type": "string", - "api_fieldname": "updated_at", - "entity_fieldname": "updated_at" - }, "_key": "properties" } ], "_key": "200" }, { - "description": "Validation error: The data used to update the campaign did not validate\n", + "description": "Validation error: The data used to update the campaign did not validate.\n", "_key": "400" }, { - "description": "Not authenticated", + "description": "Not authenticated.", "_key": "401" }, { @@ -88469,11 +88793,11 @@ "_key": "403" }, { - "description": "Update campaign can't be found", + "description": "Update campaign can't be found.", "_key": "404" } ], - "path": "/v3/update-campaigns/{campaign_id}/", + "path": "/v3/update-campaigns/{campaign_id}", "summary": "Modify a campaign", "return_type": "update_campaign", "return_info": { @@ -88489,13 +88813,20 @@ "type", "filter", "state", - "autostop_reason", - "phase", "created_at", + "updated_at", + "campaign_strategy", + "active_at", + "archived_at", + "autostop_reason", "finished", "root_manifest_url", + "starting_at", "started_at", - "updated_at" + "stopping_at", + "stopped_at", + "phase", + "when" ], "group_id": "Device_Update", "parameter_map": { @@ -88509,6 +88840,44 @@ } ], "fields": [ + { + "description": "The time the campaign entered the active state.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "active_at", + "readOnly": true, + "required": false, + "_key": "active_at" + }, + { + "type": "boolean", + "description": "Flag indicating whether approval is needed to start the campaign.", + "example": "false", + "api_fieldname": "approval_required", + "readOnly": false, + "required": false, + "_key": "approval_required" + }, + { + "description": "The time the campaign was archived.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "archived_at", + "readOnly": true, + "required": false, + "_key": "archived_at" + }, + { + "type": "boolean", + "description": "Flag indicating whether the campaign should be auto-stopped on reaching a threshold.", + "example": "false", + "api_fieldname": "autostop", + "readOnly": false, + "required": false, + "_key": "autostop" + }, { "description": "Text description of why a campaign failed to start or why a campaign stopped.", "type": "string", @@ -88519,9 +88888,33 @@ "_key": "autostop_reason" }, { - "description": "The time the update campaign was created", + "description": "Percent of successful device updates to auto stop the campaign.", + "type": "number", + "format": "double", + "example": "85.00", + "api_fieldname": "autostop_success_percent", + "readOnly": false, + "required": false, + "_key": "autostop_success_percent" + }, + { + "description": "How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that devices may be added to the campaign after it has started. The default is `one-shot`.", + "type": "string", + "enum": [ + "one-shot", + "continuous" + ], + "default": "one-shot", + "api_fieldname": "campaign_strategy", + "readOnly": false, + "required": false, + "enum_reference": "update_campaign_strategy_enum", + "_key": "campaign_strategy" + }, + { "type": "string", "format": "date-time", + "description": "The time the entity was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "readOnly": true, @@ -88529,17 +88922,17 @@ "_key": "created_at" }, { - "description": "An optional description of the campaign", + "description": "An optional description of the campaign.", "type": "string", "maxLength": 2000, - "example": "", + "example": "This campaign updates Class XX devices to version 1.34", "api_fieldname": "description", "readOnly": false, "required": false, "_key": "description" }, { - "description": "The filter for the devices the campaign is targeting at", + "description": "The filter for the devices the campaign is targeting at.", "type": "string", "example": "id__eq=00000000000000000000000000000000", "api_fieldname": "device_filter", @@ -88561,7 +88954,7 @@ "_key": "device_filter_helper" }, { - "description": "The campaign finish timestamp", + "description": "The time the campaign finished.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", @@ -88571,7 +88964,7 @@ "_key": "finished" }, { - "description": "The campaign ID", + "description": "The campaign ID.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "id", @@ -88580,7 +88973,7 @@ "_key": "id" }, { - "description": "The campaign name", + "description": "The campaign name.", "type": "string", "maxLength": 128, "example": "campaign", @@ -88590,14 +88983,27 @@ "_key": "name" }, { - "description": "The current phase of the campaign.", + "description": "The phase of the campaign.", "type": "string", - "readOnly": true, + "enum": [ + "draft", + "awaiting_approval", + "timed", + "starting", + "active", + "stopping", + "stopped", + "deleted", + "archived" + ], "api_fieldname": "phase", + "readOnly": true, "required": false, + "enum_reference": "update_campaign_phase_enum", "_key": "phase" }, { + "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "00000000000000000000000000000000", "api_fieldname": "root_manifest_id", @@ -88606,6 +89012,7 @@ "_key": "root_manifest_id" }, { + "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "root_manifest_url", @@ -88614,6 +89021,7 @@ "_key": "root_manifest_url" }, { + "description": "The time the campaign was started.", "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", @@ -88623,10 +89031,40 @@ "_key": "started_at" }, { - "description": "The time the object was updated", + "description": "The time the campaign will be started.", + "type": "string", "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "starting_at", + "readOnly": true, + "required": false, + "_key": "starting_at" + }, + { + "description": "The time the campaign was stopped.", "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopped_at", + "readOnly": true, + "required": false, + "_key": "stopped_at" + }, + { + "description": "The time the campaign will be stopped.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "api_fieldname": "stopping_at", + "readOnly": true, + "required": false, + "_key": "stopping_at" + }, + { + "type": "string", + "format": "date-time", + "description": "The time the entity was updated.", + "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "readOnly": true, "required": false, @@ -88639,13 +89077,15 @@ "example": "2017-05-22T12:37:55.576563Z", "x-nullable": true, "api_fieldname": "when", - "readOnly": false, + "readOnly": true, "required": false, "_key": "when" } ], "field_renames": [], - "tags": [], + "tags": [ + "Device update - campaigns" + ], "group_id": "Device_Update", "_key": "update_campaign" }, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index f143130d6..44cdeff48 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -13427,14 +13427,14 @@ entities: fields: - _key: campaign_id api_fieldname: campaign - description: The device's campaign ID + description: The device's campaign ID. example: 015bf72fccda00000000000100100280 readOnly: false required: true type: string - _key: created_at api_fieldname: created_at - description: The time the campaign was created + description: The time the entity was created. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -13442,7 +13442,7 @@ entities: type: string - _key: deployment_state api_fieldname: deployment_state - description: The state of the update campaign on the device + description: The state of the update campaign on the device. enum: - pending - updated_connector_channel @@ -13456,52 +13456,51 @@ entities: type: string - _key: description api_fieldname: description - description: Description - example: '' + description: Description. + example: a description maxLength: 2000 readOnly: true required: false type: string - _key: device_id api_fieldname: device_id - description: The device ID + description: The device ID. example: 015c2fec9bba0000000000010010036f readOnly: true required: false type: string - _key: id api_fieldname: id - description: The metadata record ID + description: The metadata record ID. example: 015c3029f6f7000000000001001000c3 readOnly: false required: true type: string - _key: mechanism api_fieldname: mechanism - description: How the firmware is delivered (connector or direct) + description: How the firmware is delivered (connector or direct). example: connector readOnly: true required: false type: string - _key: mechanism_url api_fieldname: mechanism_url - description: The Device Management Connect URL - example: '' + description: The Device Management Connect URL. readOnly: true required: false type: string - _key: name api_fieldname: name - description: The record name - example: default_object_name + default: default_object_name + description: The record name. maxLength: 128 readOnly: true required: false type: string - _key: updated_at api_fieldname: updated_at - description: 'The record was modified in the database format: date-time' - example: '2017-05-22T12:37:58.776736Z' + description: The time the entity was updated. + example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true required: false @@ -13509,27 +13508,42 @@ entities: group_id: Device_Update methods: - _key: read - description: Get update campaign metadata. + description: 'Get update campaign metadata for a specific device. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag - type - filter - created_at + - updated_at - deployment_state - description - device_id - mechanism - mechanism_url - name - - updated_at field_renames: - _key: campaign_id api_fieldname: campaign fields: - _key: campaign_id api_fieldname: campaign - description: The device's campaign ID + description: The device's campaign ID. entity_fieldname: campaign_id example: 015bf72fccda00000000000100100280 in: path @@ -13538,7 +13552,7 @@ entities: type: string - _key: id api_fieldname: id - description: The metadata record ID + description: The metadata record ID. entity_fieldname: id example: 015c3029f6f7000000000001001000c3 in: path @@ -13552,12 +13566,12 @@ entities: pagination: false parameter_map: campaign_device_metadata_id: id - path: /v3/update-campaigns/{campaign_id}/campaign-device-metadata/{campaign_device_metadata_id}/ + path: /v3/update-campaigns/{campaign_id}/campaign-device-metadata/{campaign_device_metadata_id} request_body: json request_content_type: application/json responses: - _key: '200' - description: Request successful + description: Request successful. schema: foreign_key: entity: campaign_device_metadata @@ -13565,20 +13579,20 @@ entities: properties: - _key: campaign api_fieldname: campaign - description: The device's campaign ID + description: The device's campaign ID. entity_fieldname: campaign_id example: 015bf72fccda00000000000100100280 type: string - _key: created_at api_fieldname: created_at - description: The time the campaign was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - _key: deployment_state api_fieldname: deployment_state - description: The state of the update campaign on the device + description: The state of the update campaign on the device. entity_fieldname: deployment_state enum: - pending @@ -13590,66 +13604,64 @@ entities: type: string - _key: description api_fieldname: description - description: Description + description: Description. entity_fieldname: description - example: '' + example: a description maxLength: 2000 type: string - _key: device_id api_fieldname: device_id - description: The device ID + description: The device ID. entity_fieldname: device_id example: 015c2fec9bba0000000000010010036f type: string - _key: etag api_fieldname: etag - description: API resource entity version + description: API resource entity version. entity_fieldname: etag example: '2017-05-22T12:37:58.753425Z' type: string - _key: id api_fieldname: id - description: The metadata record ID + description: The metadata record ID. entity_fieldname: id example: 015c3029f6f7000000000001001000c3 type: string - _key: mechanism api_fieldname: mechanism - description: How the firmware is delivered (connector or direct) + description: How the firmware is delivered (connector or direct). entity_fieldname: mechanism example: connector type: string - _key: mechanism_url api_fieldname: mechanism_url - description: The Device Management Connect URL + description: The Device Management Connect URL. entity_fieldname: mechanism_url - example: '' type: string - _key: name api_fieldname: name - description: The record name + default: default_object_name + description: The record name. entity_fieldname: name - example: default_object_name maxLength: 128 type: string - _key: object api_fieldname: object - description: 'The entity name: always ''update-campaign-device-metadata''' + description: 'The entity name: always ''update-campaign-device-metadata''.' entity_fieldname: object - example: update-campaign-device-metadata type: string - _key: updated_at api_fieldname: updated_at - description: 'The record was modified in the database format: date-time' + description: The time the entity was updated. entity_fieldname: updated_at - example: '2017-05-22T12:37:58.776736Z' + example: '2017-05-22T12:37:55.576563Z' format: date-time type: string type: object - _key: '401' - description: Unauthorized + description: Unauthorized. - _key: '404' - description: Not Found + description: Not Found. return_info: custom: false self: true @@ -13661,7 +13673,8 @@ entities: primary_key_field: id swagger_models: - CampaignDeviceMetadata - tags: [] + tags: + - Device update - campaigns - _key: campaign_statistics field_renames: [] fields: @@ -13687,7 +13700,7 @@ entities: type: string - _key: id api_fieldname: id - description: ID of the event type description + description: ID of the event type description. enum: - fail - success @@ -13714,7 +13727,22 @@ entities: group_id: Device_Update methods: - _key: events - description: Get a list of events grouped by summary + description: 'Get a list of events grouped by summary. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -13730,17 +13758,19 @@ entities: fields: - _key: campaign_id api_fieldname: campaign_id - description: The campaign ID + description: The campaign ID. entity_fieldname: campaign_id external_param: false in: path + maxLength: 32 + minLength: 32 name: campaign_id parameter_fieldname: campaign_id required: true type: string - _key: id api_fieldname: summary_status_id - description: The summary status. For example, fail + description: The summary status. For example, fail. entity_fieldname: id external_param: false in: path @@ -13758,12 +13788,12 @@ entities: pagination: true parameter_map: summary_status_id: id - path: /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types/ + path: /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types request_body: json request_content_type: application/json responses: - _key: '200' - description: OK + description: OK. schema: foreign_key: entity: campaign_statistics_events @@ -13772,7 +13802,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one + description: The entity ID to fetch after the given one. entity_fieldname: after example: 'null' type: string @@ -13805,7 +13835,7 @@ entities: example: upd_fail_101 type: string - _key: object - example: event-type + description: 'Entity name: always ''event-type''.' type: string - _key: summary_status example: FAIL @@ -13817,27 +13847,27 @@ entities: type: array - _key: has_more api_fieldname: has_more - description: A flag indicating whether there are more results + description: A flag indicating whether there are more results. entity_fieldname: has_more example: 'false' type: boolean - _key: limit api_fieldname: limit description: 'The number of results to return, (range: 2-1000), or equals - to total_count' + to total_count.' entity_fieldname: limit example: '50' type: integer - _key: object api_fieldname: object - description: 'The entity name: always ''list''' + description: 'The entity name: always ''list''.' entity_fieldname: object example: list type: string - _key: order api_fieldname: order description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' entity_fieldname: order enum: - ASC @@ -13853,7 +13883,7 @@ entities: type: integer type: object - _key: '401' - description: Not Authenticated + description: Not Authenticated. schema: properties: - _key: code @@ -13901,7 +13931,7 @@ entities: - type type: object - _key: '404' - description: Not Found + description: Not Found. schema: properties: - _key: code @@ -13957,7 +13987,23 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: Get a list of statistics for a campaign + description: 'Get a list of statistics for a campaign, including the number of + devices reporting specific event codes. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -13973,10 +14019,12 @@ entities: fields: - _key: campaign_id api_fieldname: campaign_id - description: The campaign ID + description: The campaign ID. entity_fieldname: campaign_id external_param: false in: path + maxLength: 32 + minLength: 32 name: campaign_id parameter_fieldname: campaign_id required: true @@ -13992,12 +14040,12 @@ entities: pagination: true parameter_map: summary_status_id: id - path: /v3/update-campaigns/{campaign_id}/statistics/ + path: /v3/update-campaigns/{campaign_id}/statistics request_body: json request_content_type: application/json responses: - _key: '200' - description: OK + description: OK. schema: foreign_key: entity: campaign_statistics @@ -14006,7 +14054,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one + description: The entity ID to fetch after the given one. entity_fieldname: after example: 'null' type: string @@ -14030,7 +14078,7 @@ entities: format: date-time type: string - _key: id - description: ID of the event type description + description: ID of the event type description. enum: - fail - success @@ -14039,7 +14087,7 @@ entities: example: fail type: string - _key: object - example: summary_status + description: 'Entity name: always ''summary_status''.' type: string - _key: summary_status description: The event type description. @@ -14054,27 +14102,26 @@ entities: type: array - _key: has_more api_fieldname: has_more - description: A flag indicating whether there are more results + description: A flag indicating whether there are more results. entity_fieldname: has_more example: 'false' type: boolean - _key: limit api_fieldname: limit description: 'The number of results to return, (range: 2-1000), or equals - to total_count' + to total_count.' entity_fieldname: limit example: '50' type: integer - _key: object api_fieldname: object - description: 'The entity name: always ''list''' + description: 'The entity name: always ''list''.' entity_fieldname: object - example: list type: string - _key: order api_fieldname: order description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' entity_fieldname: order enum: - ASC @@ -14090,7 +14137,7 @@ entities: type: integer type: object - _key: '401' - description: Not Authenticated + description: Not Authenticated. schema: properties: - _key: code @@ -14138,7 +14185,7 @@ entities: - type type: object - _key: '404' - description: Not Found + description: Not Found. schema: properties: - _key: code @@ -14190,11 +14237,13 @@ entities: self: true type: campaign_statistics return_type: paginated_response(campaign_statistics) - summary: Get a list of statistics for a campaign + summary: Get statistics for a campaign x_deprecation: null x_filter: {} - _key: read - description: Get a summary status + description: "Get the count of successfully updated, skipped, and failed devices.\ + \ \n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012\ + \ \\\n-H 'Authorization: '\n```\n" drop_fields: - object - etag @@ -14216,7 +14265,7 @@ entities: type: string - _key: id api_fieldname: id - description: ID of the event type description + description: ID of the event type description. entity_fieldname: id enum: - fail @@ -14241,7 +14290,7 @@ entities: request_content_type: application/json responses: - _key: '200' - description: OK + description: OK. schema: foreign_key: entity: campaign_statistics @@ -14266,7 +14315,7 @@ entities: type: string - _key: id api_fieldname: id - description: ID of the event type description + description: ID of the event type description. entity_fieldname: id enum: - fail @@ -14277,8 +14326,8 @@ entities: type: string - _key: object api_fieldname: object + description: 'Entity name: always ''summary_status''.' entity_fieldname: object - example: summary_status type: string - _key: summary_status api_fieldname: summary_status @@ -14293,7 +14342,7 @@ entities: type: string type: object - _key: '401' - description: Not Authenticated + description: Not Authenticated. schema: properties: - _key: code @@ -14341,7 +14390,7 @@ entities: - type type: object - _key: '404' - description: Not Found + description: Not Found. schema: properties: - _key: code @@ -14393,7 +14442,7 @@ entities: self: true type: campaign_statistics return_type: campaign_statistics - summary: Get a summary status + summary: Get a status summary x_deprecation: null x_filter: {} primary_key_field: id @@ -14401,7 +14450,8 @@ entities: - EventTypeList - EventTypeSummary - EventTypeSummaryList - tags: [] + tags: + - Device update - campaigns - _key: campaign_statistics_events field_renames: [] fields: @@ -14458,7 +14508,23 @@ entities: group_id: Device_Update methods: - _key: read - description: Get an event type for a campaign + description: 'Get the count for a specific event type; for example, succeeded, + failed, or skipped. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -14508,7 +14574,7 @@ entities: request_content_type: application/json responses: - _key: '200' - description: OK + description: OK. schema: foreign_key: entity: campaign_statistics_events @@ -14548,8 +14614,8 @@ entities: type: string - _key: object api_fieldname: object + description: 'Entity name: always ''event-type''.' entity_fieldname: object - example: event-type type: string - _key: summary_status api_fieldname: summary_status @@ -14563,7 +14629,7 @@ entities: type: string type: object - _key: '401' - description: Not Authenticated + description: Not Authenticated. schema: properties: - _key: code @@ -14611,7 +14677,7 @@ entities: - type type: object - _key: '404' - description: Not Found + description: Not Found. schema: properties: - _key: code @@ -14669,7 +14735,8 @@ entities: primary_key_field: id swagger_models: - EventType - tags: [] + tags: + - Device update - campaigns - _key: certificate_enrollment field_renames: [] fields: @@ -32892,7 +32959,7 @@ entities: fields: - _key: created_at api_fieldname: created_at - description: The time the object was created + description: The time the entity was created. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -32900,14 +32967,14 @@ entities: type: string - _key: datafile_checksum api_fieldname: datafile_checksum - description: The checksum (sha256) generated for the datafile + description: The checksum (sha256) generated for the datafile. example: '0000000000000000000000000000000000000000000000000000000000000000' readOnly: true required: false type: string - _key: datafile_size api_fieldname: datafile_size - description: The size of the datafile in bytes + description: The size of the datafile in bytes. format: int64 readOnly: true required: false @@ -32921,30 +32988,29 @@ entities: type: string - _key: description api_fieldname: description - description: The description of the object - example: '' + description: The description of the object. + example: a description maxLength: 2000 readOnly: false required: false type: string - _key: id api_fieldname: id - description: The firmware image ID + description: The firmware image ID. example: '00000000000000000000000000000000' readOnly: false required: true type: string - _key: name api_fieldname: name - description: The firmware image name - example: '' + description: The firmware image name. maxLength: 128 readOnly: false required: false type: string - _key: updated_at api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -32953,17 +33019,39 @@ entities: group_id: Device_Update methods: - _key: create - description: Create a firmware image. + description: 'Create a firmware image. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ + + -H ''Authorization: '' \ + + -H ''Content-Type: multipart/form-data'' \ + + -F ''datafile=@myimage.bin;type=application/octet-stream'' + + -F ''description=bla bla'' \ + + -F ''name=My Linux Image'' + + ``` + + ' drop_fields: - object - etag - type - filter - created_at + - updated_at - datafile_checksum - datafile_size - id - - updated_at - datafile_url field_renames: - _key: datafile_url @@ -32971,9 +33059,9 @@ entities: fields: - _key: description api_fieldname: description - description: The description of the object + description: The description of the object. entity_fieldname: description - example: '' + example: a description in: stream maxLength: 2000 parameter_fieldname: description @@ -32981,7 +33069,7 @@ entities: type: string - _key: firmware_image_file api_fieldname: datafile - description: The firmware image file to upload + description: The firmware image file to upload. entity_fieldname: firmware_image_file external_param: true in: stream @@ -32991,9 +33079,8 @@ entities: type: file - _key: name api_fieldname: name - description: The firmware image name + description: The firmware image name. entity_fieldname: name - example: '' in: stream maxLength: 128 parameter_fieldname: name @@ -33009,7 +33096,7 @@ entities: parameter_map: datafile: firmware_image_file image_id: id - path: /v3/firmware-images/ + path: /v3/firmware-images request_body: file request_content_type: multipart/form-data responses: @@ -33017,91 +33104,78 @@ entities: description: Firmware image created. The API gateway enforces the account-specific file size. schema: - foreign_key: - entity: firmware_image - group: Device_Update - properties: - - _key: created_at + - _key: foreign_key + entity: firmware_image + group: Device_Update + - _key: properties + created_at: api_fieldname: created_at - description: The time the object was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: datafile + datafile: api_fieldname: datafile description: The firmware image file URL entity_fieldname: datafile_url example: http://example.com/00000000000000000000000000000000 type: string - - _key: datafile_checksum + datafile_checksum: api_fieldname: datafile_checksum - description: The checksum (sha256) generated for the datafile + description: The checksum (sha256) generated for the datafile. entity_fieldname: datafile_checksum example: '0000000000000000000000000000000000000000000000000000000000000000' type: string - - _key: datafile_size + datafile_size: api_fieldname: datafile_size - description: The size of the datafile in bytes + description: The size of the datafile in bytes. entity_fieldname: datafile_size format: int64 type: integer - - _key: description + description: api_fieldname: description - description: The description of the object + description: The description of the object. entity_fieldname: description - example: '' + example: a description maxLength: 2000 type: string - - _key: etag + etag: api_fieldname: etag - description: The entity instance signature + description: API resource entity version. entity_fieldname: etag - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22T12:37:58.753425Z' type: string - - _key: id + id: api_fieldname: id - description: The firmware image ID + description: The firmware image ID. entity_fieldname: id example: '00000000000000000000000000000000' type: string - - _key: name + name: api_fieldname: name - description: The firmware image name + description: The firmware image name. entity_fieldname: name - example: '' maxLength: 128 type: string - - _key: object + object: api_fieldname: object - description: The API resource entity + description: 'Entity name: always ''firmware-image''.' entity_fieldname: object - example: firmware-image type: string - - _key: updated_at + updated_at: api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - required: - - created_at - - datafile - - datafile_checksum - - description - - etag - - id - - name - - object - - updated_at - _key: '400' description: Cannot validate the data used to create the firmware image. - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '403' - description: Forbidden + description: Forbidden. - _key: '413' description: Firmware image too large. return_info: @@ -33114,7 +33188,22 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: Delete a firmware image. + description: 'Delete a firmware image. + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -33126,10 +33215,12 @@ entities: fields: - _key: id api_fieldname: image_id - description: The firmware image ID + description: The firmware image ID. entity_fieldname: id external_param: false in: path + maxLength: 32 + minLength: 32 name: image_id parameter_fieldname: image_id required: true @@ -33141,18 +33232,18 @@ entities: pagination: false parameter_map: image_id: id - path: /v3/firmware-images/{image_id}/ + path: /v3/firmware-images/{image_id} request_body: json request_content_type: application/json responses: - _key: '204' - description: Firmware image deleted + description: Firmware image deleted. - _key: '400' - description: Bad Request + description: Bad Request. - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Firmware image not found + description: Firmware image not found. return_info: custom: false self: true @@ -33162,7 +33253,21 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: List all firmware images. + description: 'List all firmware images. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -33209,7 +33314,7 @@ entities: fields: - _key: after api_fieldname: after - description: The ID of the the item after which to retrieve the next page + description: The ID of the item after which to retrieve the next page. entity_fieldname: after example: null external_param: true @@ -33221,7 +33326,7 @@ entities: - _key: include api_fieldname: include description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' entity_fieldname: include external_param: true in: query @@ -33246,7 +33351,7 @@ entities: type: integer - _key: order api_fieldname: order - description: ASC or DESC + description: ASC or DESC. entity_fieldname: order enum: - ASC @@ -33270,12 +33375,12 @@ entities: pagination: true parameter_map: image_id: id - path: /v3/firmware-images/ + path: /v3/firmware-images request_body: json request_content_type: application/json responses: - _key: '200' - description: Request successful + description: Request successful. schema: foreign_key: entity: firmware_image @@ -33290,67 +33395,59 @@ entities: - _key: data api_fieldname: data entity_fieldname: data - example: '[]' items: - foreign_key: - entity: firmware_image - group: Device_Update - properties: - - _key: created_at - description: The time the object was created + - _key: foreign_key + entity: firmware_image + group: Device_Update + - _key: properties + created_at: + api_fieldname: created_at + description: The time the entity was created. + entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: datafile + datafile: description: The firmware image file URL example: http://example.com/00000000000000000000000000000000 type: string - - _key: datafile_checksum - description: The checksum (sha256) generated for the datafile + datafile_checksum: + description: The checksum (sha256) generated for the datafile. example: '0000000000000000000000000000000000000000000000000000000000000000' type: string - - _key: datafile_size - description: The size of the datafile in bytes + datafile_size: + description: The size of the datafile in bytes. format: int64 type: integer - - _key: description - description: The description of the object - example: '' + description: + description: The description of the object. + example: a description maxLength: 2000 type: string - - _key: etag - description: The entity instance signature - example: '2017-05-22T12:37:55.576563Z' - format: date-time + etag: + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '2017-05-22T12:37:58.753425Z' type: string - - _key: id - description: The firmware image ID + id: + description: The firmware image ID. example: '00000000000000000000000000000000' type: string - - _key: name - description: The firmware image name - example: '' + name: + description: The firmware image name. maxLength: 128 type: string - - _key: object - description: The API resource entity - example: firmware-image + object: + description: 'Entity name: always ''firmware-image''.' type: string - - _key: updated_at - description: The time the object was updated + updated_at: + api_fieldname: updated_at + description: The time the entity was updated. + entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - required: - - created_at - - datafile - - datafile_checksum - - description - - etag - - id - - name - - object - - updated_at type: array - _key: has_more api_fieldname: has_more @@ -33363,8 +33460,8 @@ entities: type: integer - _key: object api_fieldname: object + description: 'Entity name: always ''list''.' entity_fieldname: object - example: list type: string - _key: order api_fieldname: order @@ -33382,11 +33479,11 @@ entities: format: int32 type: integer - _key: '400' - description: Bad Request + description: Bad Request. - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Unable to find content + description: Unable to find content. return_info: custom: false self: true @@ -33436,18 +33533,33 @@ entities: - lte - gte - _key: read - description: Retrieve a firmware image. + description: 'Retrieve a firmware image. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag - type - filter - created_at + - updated_at - datafile_checksum - datafile_size - description - name - - updated_at - datafile_url field_renames: - _key: datafile_url @@ -33455,7 +33567,7 @@ entities: fields: - _key: id api_fieldname: id - description: The firmware image ID + description: The firmware image ID. entity_fieldname: id example: '00000000000000000000000000000000' in: path @@ -33469,111 +33581,99 @@ entities: pagination: false parameter_map: image_id: id - path: /v3/firmware-images/{image_id}/ + path: /v3/firmware-images/{image_id} request_body: json request_content_type: application/json responses: - _key: '200' - description: Retrieved result successfully + description: Retrieved result successfully. schema: - foreign_key: - entity: firmware_image - group: Device_Update - properties: - - _key: created_at + - _key: foreign_key + entity: firmware_image + group: Device_Update + - _key: properties + created_at: api_fieldname: created_at - description: The time the object was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: datafile + datafile: api_fieldname: datafile description: The firmware image file URL entity_fieldname: datafile_url example: http://example.com/00000000000000000000000000000000 type: string - - _key: datafile_checksum + datafile_checksum: api_fieldname: datafile_checksum - description: The checksum (sha256) generated for the datafile + description: The checksum (sha256) generated for the datafile. entity_fieldname: datafile_checksum example: '0000000000000000000000000000000000000000000000000000000000000000' type: string - - _key: datafile_size + datafile_size: api_fieldname: datafile_size - description: The size of the datafile in bytes + description: The size of the datafile in bytes. entity_fieldname: datafile_size format: int64 type: integer - - _key: description + description: api_fieldname: description - description: The description of the object + description: The description of the object. entity_fieldname: description - example: '' + example: a description maxLength: 2000 type: string - - _key: etag + etag: api_fieldname: etag - description: The entity instance signature + description: API resource entity version. entity_fieldname: etag - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22T12:37:58.753425Z' type: string - - _key: id + id: api_fieldname: id - description: The firmware image ID + description: The firmware image ID. entity_fieldname: id example: '00000000000000000000000000000000' type: string - - _key: name + name: api_fieldname: name - description: The firmware image name + description: The firmware image name. entity_fieldname: name - example: '' maxLength: 128 type: string - - _key: object + object: api_fieldname: object - description: The API resource entity + description: 'Entity name: always ''firmware-image''.' entity_fieldname: object - example: firmware-image type: string - - _key: updated_at + updated_at: api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - required: - - created_at - - datafile - - datafile_checksum - - description - - etag - - id - - name - - object - - updated_at - _key: '400' - description: Bad Request + description: Bad Request. - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Firmware image can't be found + description: Firmware image can't be found. return_info: custom: false self: true type: firmware_image return_type: firmware_image - summary: Get an image + summary: Get an image. x_deprecation: null x_filter: {} primary_key_field: id swagger_models: - FirmwareImage - FirmwareImagePage - tags: [] + tags: + - Device update - firmware images - _key: firmware_manifest field_renames: - _key: datafile_url @@ -33583,7 +33683,7 @@ entities: fields: - _key: created_at api_fieldname: created_at - description: The time the object was created + description: The time the entity was created. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -33599,13 +33699,13 @@ entities: - _key: datafile_url api_fieldname: datafile description: The URL of the firmware manifest binary - example: http://example.com/00000000000000000000000000000000 + example: http://example.com/12345678901234567890123456789012 readOnly: true required: false type: string - _key: description api_fieldname: description - description: The description of the firmware manifest + description: The description of the firmware manifest. example: '' maxLength: 2000 readOnly: false @@ -33613,21 +33713,21 @@ entities: type: string - _key: device_class api_fieldname: device_class - description: The class of the device + description: The class of the device. example: 00000000-0000-0000-0000-000000000000 readOnly: true required: false type: string - _key: id api_fieldname: id - description: The firmware manifest ID - example: '00000000000000000000000000000000' + description: The firmware manifest ID. + example: '12345678901234567890123456789012' readOnly: false required: true type: string - _key: key_table_url api_fieldname: key_table - description: The key table of pre-shared keys for devices + description: The key table of pre-shared keys for devices. example: http://example.com format: uri readOnly: true @@ -33635,15 +33735,15 @@ entities: type: string - _key: name api_fieldname: name - description: The name of the object - example: '' + description: The name of the object. + example: default_object_name maxLength: 128 readOnly: false required: false type: string - _key: timestamp api_fieldname: timestamp - description: The firmware manifest version as a timestamp + description: The firmware manifest version as a timestamp. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -33651,7 +33751,7 @@ entities: type: string - _key: updated_at api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -33660,19 +33760,43 @@ entities: group_id: Device_Update methods: - _key: create - description: Upload a firmware manifest. The API enforces a maximum size of manifests - of 2 KB. + description: 'Upload a firmware manifest. The API enforces a maximum manifest + size of 2KB. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ + + -H ''Authorization: '' \ + + -H ''Content-Type: multipart/form-data'' \ + + -F ''datafile=@myimage.bin;type=application/octet-stream'' \ + + -F ''description=bla bla'' \ + + -F ''key_table=@myKeyTable.proto;type='' \ + + -F ''name=My Manifest'' + + ``` + + ' drop_fields: - object - etag - type - filter - created_at + - updated_at - datafile_size - device_class - id - timestamp - - updated_at - datafile_url - key_table_url field_renames: @@ -33683,7 +33807,7 @@ entities: fields: - _key: description api_fieldname: description - description: The description of the firmware manifest + description: The description of the firmware manifest. entity_fieldname: description example: '' in: stream @@ -33704,7 +33828,8 @@ entities: type: file - _key: key_table_file api_fieldname: key_table - description: The key table of pre-shared keys for devices + description: The key table of pre-shared keys for devices. The table is generated + by the manifest tool. entity_fieldname: key_table_file external_param: true in: stream @@ -33714,9 +33839,9 @@ entities: type: file - _key: name api_fieldname: name - description: The name of the object + description: The name of the object. entity_fieldname: name - example: '' + example: default_object_name in: stream maxLength: 128 parameter_fieldname: name @@ -33738,111 +33863,98 @@ entities: request_content_type: multipart/form-data responses: - _key: '201' - description: Created + description: Created. schema: - foreign_key: - entity: firmware_manifest - group: Device_Update - properties: - - _key: created_at + - _key: foreign_key + entity: firmware_manifest + group: Device_Update + - _key: properties + created_at: api_fieldname: created_at - description: The time the object was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: datafile + datafile: api_fieldname: datafile description: The URL of the firmware manifest binary entity_fieldname: datafile_url - example: http://example.com/00000000000000000000000000000000 + example: http://example.com/12345678901234567890123456789012 type: string - - _key: datafile_size + datafile_size: api_fieldname: datafile_size description: The size of the datafile in bytes entity_fieldname: datafile_size format: int64 type: integer - - _key: description + description: api_fieldname: description - description: The description of the firmware manifest + description: The description of the firmware manifest. entity_fieldname: description example: '' maxLength: 2000 type: string - - _key: device_class + device_class: api_fieldname: device_class - description: The class of the device + description: The class of the device. entity_fieldname: device_class example: 00000000-0000-0000-0000-000000000000 type: string - - _key: etag + etag: api_fieldname: etag - description: The entity instance signature + description: API resource entity version. entity_fieldname: etag - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22T12:37:58.753425Z' type: string - - _key: id + id: api_fieldname: id - description: The firmware manifest ID + description: The firmware manifest ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: '12345678901234567890123456789012' type: string - - _key: key_table + key_table: api_fieldname: key_table - description: The key table of pre-shared keys for devices + description: The key table of pre-shared keys for devices. entity_fieldname: key_table_url example: http://example.com format: uri type: string - - _key: name + name: api_fieldname: name - description: The name of the object + description: The name of the object. entity_fieldname: name - example: '' + example: default_object_name maxLength: 128 type: string - - _key: object + object: api_fieldname: object - description: The API resource entity + description: 'Entity name: always ''firmware-manifest''.' entity_fieldname: object - example: firmware-manifest type: string - - _key: timestamp + timestamp: api_fieldname: timestamp - description: The firmware manifest version as a timestamp + description: The firmware manifest version as a timestamp. entity_fieldname: timestamp example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: updated_at + updated_at: api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - required: - - created_at - - datafile - - description - - device_class - - etag - - id - - name - - object - - timestamp - - updated_at - _key: '400' description: 'Validation error. The data used to create the firmware manifest did not validate and/or the manifest uploaded exceeded 2 KB in size. ' - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '403' - description: Forbidden + description: Forbidden. return_info: custom: false self: true @@ -33853,7 +33965,22 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: Delete a firmware manifest. + description: 'Delete a firmware manifest. + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -33867,10 +33994,12 @@ entities: fields: - _key: id api_fieldname: manifest_id - description: The firmware manifest ID + description: The firmware manifest ID. entity_fieldname: id external_param: false in: path + maxLength: 32 + minLength: 32 name: manifest_id parameter_fieldname: manifest_id required: true @@ -33882,18 +34011,18 @@ entities: pagination: false parameter_map: manifest_id: id - path: /v3/firmware-manifests/{manifest_id}/ + path: /v3/firmware-manifests/{manifest_id} request_body: json request_content_type: application/json responses: - _key: '204' - description: Firmware manifest deleted + description: Firmware manifest deleted. - _key: '400' - description: Bad Request + description: Bad Request. - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Firmware manifest not found + description: Firmware manifest not found. return_info: custom: false self: true @@ -33903,7 +34032,21 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: List firmware manifests. + description: 'List all firmware manifests. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -33956,7 +34099,7 @@ entities: fields: - _key: after api_fieldname: after - description: The ID of the the item after which to retrieve the next page + description: The ID of the item after which to retrieve the next page. entity_fieldname: after example: null external_param: true @@ -33968,7 +34111,7 @@ entities: - _key: include api_fieldname: include description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' entity_fieldname: include external_param: true in: query @@ -33993,7 +34136,7 @@ entities: type: integer - _key: order api_fieldname: order - description: ASC or DESC + description: ASC or DESC. entity_fieldname: order enum: - ASC @@ -34022,7 +34165,7 @@ entities: request_content_type: application/json responses: - _key: '200' - description: Request successful + description: Request successful. schema: foreign_key: entity: firmware_manifest @@ -34037,78 +34180,70 @@ entities: - _key: data api_fieldname: data entity_fieldname: data - example: '[]' items: - foreign_key: - entity: firmware_manifest - group: Device_Update - properties: - - _key: created_at - description: The time the object was created + - _key: foreign_key + entity: firmware_manifest + group: Device_Update + - _key: properties + created_at: + api_fieldname: created_at + description: The time the entity was created. + entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: datafile + datafile: description: The URL of the firmware manifest binary - example: http://example.com/00000000000000000000000000000000 + example: http://example.com/12345678901234567890123456789012 type: string - - _key: datafile_size + datafile_size: description: The size of the datafile in bytes format: int64 type: integer - - _key: description - description: The description of the firmware manifest + description: + description: The description of the firmware manifest. example: '' maxLength: 2000 type: string - - _key: device_class - description: The class of the device + device_class: + description: The class of the device. example: 00000000-0000-0000-0000-000000000000 type: string - - _key: etag - description: The entity instance signature - example: '2017-05-22T12:37:55.576563Z' - format: date-time + etag: + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag + example: '2017-05-22T12:37:58.753425Z' type: string - - _key: id - description: The firmware manifest ID - example: '00000000000000000000000000000000' + id: + description: The firmware manifest ID. + example: '12345678901234567890123456789012' type: string - - _key: key_table - description: The key table of pre-shared keys for devices + key_table: + description: The key table of pre-shared keys for devices. example: http://example.com format: uri type: string - - _key: name - description: The name of the object - example: '' + name: + description: The name of the object. + example: default_object_name maxLength: 128 type: string - - _key: object - description: The API resource entity - example: firmware-manifest + object: + description: 'Entity name: always ''firmware-manifest''.' type: string - - _key: timestamp - description: The firmware manifest version as a timestamp + timestamp: + description: The firmware manifest version as a timestamp. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: updated_at - description: The time the object was updated + updated_at: + api_fieldname: updated_at + description: The time the entity was updated. + entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - required: - - created_at - - datafile - - description - - device_class - - etag - - id - - name - - object - - timestamp - - updated_at type: array - _key: has_more api_fieldname: has_more @@ -34121,13 +34256,13 @@ entities: type: integer - _key: object api_fieldname: object + description: 'Entity name: always ''list''.' entity_fieldname: object - example: list type: string - _key: order api_fieldname: order description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' entity_fieldname: order enum: - ASC @@ -34140,17 +34275,17 @@ entities: format: int32 type: integer - _key: '400' - description: Bad Request + description: Bad Request. - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Unable to find content + description: Unable to find content. return_info: custom: false self: true type: firmware_manifest return_type: paginated_response(firmware_manifest) - summary: List manifests + summary: List all firmware manifests. x_deprecation: null x_filter: created_at: @@ -34199,19 +34334,34 @@ entities: - lte - gte - _key: read - description: Retrieve a firmware manifest. + description: 'Retrieve a firmware manifest. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag - type - filter - created_at + - updated_at - datafile_size - description - device_class - name - timestamp - - updated_at - datafile_url - key_table_url field_renames: @@ -34222,9 +34372,9 @@ entities: fields: - _key: id api_fieldname: id - description: The firmware manifest ID + description: The firmware manifest ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: '12345678901234567890123456789012' in: path parameter_fieldname: manifest_id required: true @@ -34236,113 +34386,100 @@ entities: pagination: false parameter_map: manifest_id: id - path: /v3/firmware-manifests/{manifest_id}/ + path: /v3/firmware-manifests/{manifest_id} request_body: json request_content_type: application/json responses: - _key: '200' - description: Retrieved result successfully + description: Retrieved result successfully. schema: - foreign_key: - entity: firmware_manifest - group: Device_Update - properties: - - _key: created_at + - _key: foreign_key + entity: firmware_manifest + group: Device_Update + - _key: properties + created_at: api_fieldname: created_at - description: The time the object was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: datafile + datafile: api_fieldname: datafile description: The URL of the firmware manifest binary entity_fieldname: datafile_url - example: http://example.com/00000000000000000000000000000000 + example: http://example.com/12345678901234567890123456789012 type: string - - _key: datafile_size + datafile_size: api_fieldname: datafile_size description: The size of the datafile in bytes entity_fieldname: datafile_size format: int64 type: integer - - _key: description + description: api_fieldname: description - description: The description of the firmware manifest + description: The description of the firmware manifest. entity_fieldname: description example: '' maxLength: 2000 type: string - - _key: device_class + device_class: api_fieldname: device_class - description: The class of the device + description: The class of the device. entity_fieldname: device_class example: 00000000-0000-0000-0000-000000000000 type: string - - _key: etag + etag: api_fieldname: etag - description: The entity instance signature + description: API resource entity version. entity_fieldname: etag - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22T12:37:58.753425Z' type: string - - _key: id + id: api_fieldname: id - description: The firmware manifest ID + description: The firmware manifest ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: '12345678901234567890123456789012' type: string - - _key: key_table + key_table: api_fieldname: key_table - description: The key table of pre-shared keys for devices + description: The key table of pre-shared keys for devices. entity_fieldname: key_table_url example: http://example.com format: uri type: string - - _key: name + name: api_fieldname: name - description: The name of the object + description: The name of the object. entity_fieldname: name - example: '' + example: default_object_name maxLength: 128 type: string - - _key: object + object: api_fieldname: object - description: The API resource entity + description: 'Entity name: always ''firmware-manifest''.' entity_fieldname: object - example: firmware-manifest type: string - - _key: timestamp + timestamp: api_fieldname: timestamp - description: The firmware manifest version as a timestamp + description: The firmware manifest version as a timestamp. entity_fieldname: timestamp example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - - _key: updated_at + updated_at: api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - required: - - created_at - - datafile - - description - - device_class - - etag - - id - - name - - object - - timestamp - - updated_at - _key: '400' - description: Bad request + description: Bad request. - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Firmware manifest can't be found + description: Firmware manifest can't be found. return_info: custom: false self: true @@ -34355,7 +34492,8 @@ entities: swagger_models: - FirmwareManifest - FirmwareManifestPage - tags: [] + tags: + - Device update - firmware manifests - _key: identity_provider field_renames: - _key: identity_provider_type @@ -65529,6 +65667,37 @@ entities: - _key: update_campaign field_renames: [] fields: + - _key: active_at + api_fieldname: active_at + description: The time the campaign entered the active state. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + readOnly: true + required: false + type: string + - _key: approval_required + api_fieldname: approval_required + description: Flag indicating whether approval is needed to start the campaign. + example: 'false' + readOnly: false + required: false + type: boolean + - _key: archived_at + api_fieldname: archived_at + description: The time the campaign was archived. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + readOnly: true + required: false + type: string + - _key: autostop + api_fieldname: autostop + description: Flag indicating whether the campaign should be auto-stopped on reaching + a threshold. + example: 'false' + readOnly: false + required: false + type: boolean - _key: autostop_reason api_fieldname: autostop_reason description: Text description of why a campaign failed to start or why a campaign @@ -65537,9 +65706,30 @@ entities: readOnly: true required: false type: string + - _key: autostop_success_percent + api_fieldname: autostop_success_percent + description: Percent of successful device updates to auto stop the campaign. + example: '85.00' + format: double + readOnly: false + required: false + type: number + - _key: campaign_strategy + api_fieldname: campaign_strategy + default: one-shot + description: How the campaign adds devices. A `one-shot` campaign does not add + new devices after it has started. A `continuous` campaign means that devices + may be added to the campaign after it has started. The default is `one-shot`. + enum: + - one-shot + - continuous + enum_reference: update_campaign_strategy_enum + readOnly: false + required: false + type: string - _key: created_at api_fieldname: created_at - description: The time the update campaign was created + description: The time the entity was created. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -65547,15 +65737,15 @@ entities: type: string - _key: description api_fieldname: description - description: An optional description of the campaign - example: '' + description: An optional description of the campaign. + example: This campaign updates Class XX devices to version 1.34 maxLength: 2000 readOnly: false required: false type: string - _key: device_filter api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. example: id__eq=00000000000000000000000000000000 readOnly: false required: true @@ -65575,7 +65765,7 @@ entities: type: filter - _key: finished api_fieldname: finished - description: The campaign finish timestamp + description: The time the campaign finished. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -65583,14 +65773,14 @@ entities: type: string - _key: id api_fieldname: id - description: The campaign ID + description: The campaign ID. example: '00000000000000000000000000000000' readOnly: false required: true type: string - _key: name api_fieldname: name - description: The campaign name + description: The campaign name. example: campaign maxLength: 128 readOnly: false @@ -65598,24 +65788,64 @@ entities: type: string - _key: phase api_fieldname: phase - description: The current phase of the campaign. + description: The phase of the campaign. + enum: + - draft + - awaiting_approval + - timed + - starting + - active + - stopping + - stopped + - deleted + - archived + enum_reference: update_campaign_phase_enum readOnly: true required: false type: string - _key: root_manifest_id api_fieldname: root_manifest_id + description: The ID of the manifest that will be sent to the device as part of + the campaign. example: '00000000000000000000000000000000' readOnly: false required: false type: string - _key: root_manifest_url api_fieldname: root_manifest_url + description: The URL for the manifest that will be sent to the device as part + of the campaign. example: http://example.com/00000000000000000000000000000000 readOnly: true required: false type: string - _key: started_at api_fieldname: started_at + description: The time the campaign was started. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + readOnly: true + required: false + type: string + - _key: starting_at + api_fieldname: starting_at + description: The time the campaign will be started. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + readOnly: true + required: false + type: string + - _key: stopped_at + api_fieldname: stopped_at + description: The time the campaign was stopped. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + readOnly: true + required: false + type: string + - _key: stopping_at + api_fieldname: stopping_at + description: The time the campaign will be stopped. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -65623,7 +65853,7 @@ entities: type: string - _key: updated_at api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -65635,14 +65865,29 @@ entities: within 1 minute when then start time has elapsed. example: '2017-05-22T12:37:55.576563Z' format: date-time - readOnly: false + readOnly: true required: false type: string x-nullable: true group_id: Device_Update methods: - _key: archive - description: This command will archive a campaign. + description: 'Archive a campaign. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/archive + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -65665,10 +65910,12 @@ entities: type: filter - _key: id api_fieldname: campaign_id - description: The campaign ID + description: The campaign ID. entity_fieldname: id external_param: false in: path + maxLength: 32 + minLength: 32 name: campaign_id parameter_fieldname: campaign_id required: true @@ -65703,28 +65950,84 @@ entities: x_deprecation: null x_filter: {} - _key: create - description: Create an update campaign. + description: "Create an update campaign.\n
\n**Usage example:**\n```\ncurl\ + \ -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization:\ + \ ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign\ + \ is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ + ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ + ,\n}'\n```\n" drop_fields: - object - etag - type - filter - state - - autostop_reason - - phase - created_at + - updated_at + - active_at + - archived_at + - autostop_reason - finished - id - root_manifest_url + - starting_at - started_at - - updated_at + - stopping_at + - stopped_at + - phase + - when field_renames: [] fields: + - _key: approval_required + api_fieldname: approval_required + description: Flag indicating whether approval is needed to start the campaign. + entity_fieldname: approval_required + example: 'false' + in: body + parameter_fieldname: approval_required + required: false + type: boolean + - _key: autostop + api_fieldname: autostop + description: Flag indicating whether the campaign should be auto-stopped on + reaching a threshold. + entity_fieldname: autostop + example: 'false' + in: body + parameter_fieldname: autostop + required: false + type: boolean + - _key: autostop_success_percent + api_fieldname: autostop_success_percent + description: Percent of successful device updates to auto stop the campaign. + entity_fieldname: autostop_success_percent + example: '85.00' + format: double + in: body + parameter_fieldname: autostop_success_percent + required: false + type: number + - _key: campaign_strategy + api_fieldname: campaign_strategy + default: one-shot + description: How the campaign adds devices. A `one-shot` campaign does not add + new devices after it has started. A `continuous` campaign means that devices + may be added to the campaign after it has started. The default is `one-shot`. + entity_fieldname: campaign_strategy + enum: + - one-shot + - continuous + enum_reference: update_campaign_strategy_enum + in: body + parameter_fieldname: campaign_strategy + required: false + type: string - _key: description api_fieldname: description - description: An optional description of the campaign + description: An optional description of the campaign. entity_fieldname: description - example: '' + example: This campaign updates Class XX devices to version 1.34 in: body maxLength: 2000 parameter_fieldname: description @@ -65732,7 +66035,7 @@ entities: type: string - _key: device_filter api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter example: id__eq=00000000000000000000000000000000 in: body @@ -65753,7 +66056,7 @@ entities: type: filter - _key: name api_fieldname: name - description: The campaign name + description: The campaign name. entity_fieldname: name example: campaign in: body @@ -65763,24 +66066,14 @@ entities: type: string - _key: root_manifest_id api_fieldname: root_manifest_id + description: The ID of the manifest that will be sent to the device as part + of the campaign. entity_fieldname: root_manifest_id example: '00000000000000000000000000000000' in: body parameter_fieldname: root_manifest_id required: false type: string - - _key: when - api_fieldname: when - description: The scheduled start time for the campaign. The campaign will start - within 1 minute when then start time has elapsed. - entity_fieldname: when - example: '2017-05-22T12:37:55.576563Z' - format: date-time - in: body - parameter_fieldname: when - required: false - type: string - x-nullable: true group_id: Device_Update method: post mode: create @@ -65788,17 +66081,44 @@ entities: pagination: false parameter_map: campaign_id: id - path: /v3/update-campaigns/ + path: /v3/update-campaigns request_body: json request_content_type: application/json responses: - _key: '201' - description: Update campaign created + description: Update campaign created. schema: - _key: foreign_key entity: update_campaign group: Device_Update - _key: properties + active_at: + api_fieldname: active_at + description: The time the campaign entered the active state. + entity_fieldname: active_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + approval_required: + api_fieldname: approval_required + description: Flag indicating whether approval is needed to start the campaign. + entity_fieldname: approval_required + example: 'false' + type: boolean + archived_at: + api_fieldname: archived_at + description: The time the campaign was archived. + entity_fieldname: archived_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + autostop: + api_fieldname: autostop + description: Flag indicating whether the campaign should be auto-stopped + on reaching a threshold. + entity_fieldname: autostop + example: 'false' + type: boolean autostop_reason: api_fieldname: autostop_reason description: Text description of why a campaign failed to start or why a @@ -65806,83 +66126,122 @@ entities: entity_fieldname: autostop_reason example: Insufficient billing credit. type: string + autostop_success_percent: + api_fieldname: autostop_success_percent + description: Percent of successful device updates to auto stop the campaign. + entity_fieldname: autostop_success_percent + example: '85.00' + format: double + type: number + campaign_strategy: + api_fieldname: campaign_strategy + default: one-shot + description: How the campaign adds devices. A `one-shot` campaign does not + add new devices after it has started. A `continuous` campaign means that + devices may be added to the campaign after it has started. The default + is `one-shot`. + entity_fieldname: campaign_strategy + enum: + - one-shot + - continuous + type: string created_at: api_fieldname: created_at - description: The time the update campaign was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string description: api_fieldname: description - description: An optional description of the campaign + description: An optional description of the campaign. entity_fieldname: description - example: '' + example: This campaign updates Class XX devices to version 1.34 maxLength: 2000 type: string device_filter: api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter example: id__eq=00000000000000000000000000000000 type: string etag: api_fieldname: etag - description: The entity instance signature + description: API resource entity version. entity_fieldname: etag example: '2017-05-22T12:37:58.753425Z' type: string finished: api_fieldname: finished - description: The campaign finish timestamp + description: The time the campaign finished. entity_fieldname: finished example: '2017-05-22T12:37:55.576563Z' format: date-time type: string id: api_fieldname: id - description: The campaign ID + description: The campaign ID. entity_fieldname: id example: '00000000000000000000000000000000' type: string name: api_fieldname: name - description: The campaign name + description: The campaign name. entity_fieldname: name example: campaign maxLength: 128 type: string object: api_fieldname: object - description: The API resource entity + description: 'Entity name: always ''update-campaign''.' entity_fieldname: object - example: update-campaign type: string phase: api_fieldname: phase - description: The current phase of the campaign. + description: The phase of the campaign. entity_fieldname: phase - readOnly: true + enum: + - draft + - awaiting_approval + - timed + - starting + - active + - stopping + - stopped + - deleted + - archived type: string root_manifest_id: api_fieldname: root_manifest_id + description: The ID of the manifest that will be sent to the device as part + of the campaign. entity_fieldname: root_manifest_id example: '00000000000000000000000000000000' type: string root_manifest_url: api_fieldname: root_manifest_url + description: The URL for the manifest that will be sent to the device as + part of the campaign. entity_fieldname: root_manifest_url example: http://example.com/00000000000000000000000000000000 type: string started_at: api_fieldname: started_at + description: The time the campaign was started. entity_fieldname: started_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + starting_at: + api_fieldname: starting_at + description: The time the campaign will be started. + entity_fieldname: starting_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string state: api_fieldname: state - description: 'DEPRECATED: The state of the campaign (use phase instead).' + description: The state of the campaign. entity_fieldname: state enum: - draft @@ -65910,9 +66269,23 @@ entities: end_of_life_at: '2020-03-18T14:55:20+00:00' issued_at: '2019-03-18T14:55:20+00:00' links: [] + stopped_at: + api_fieldname: stopped_at + description: The time the campaign was stopped. + entity_fieldname: stopped_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + stopping_at: + api_fieldname: stopping_at + description: The time the campaign will be stopped. + entity_fieldname: stopping_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string updated_at: api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -65928,11 +66301,11 @@ entities: x-nullable: true - _key: '400' description: 'Validation error: The data used to create the campaign did not - validate + validate. ' - _key: '401' - description: Not authenticated + description: Not authenticated. return_info: custom: false self: true @@ -65942,7 +66315,22 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: Delete an update campaign. + description: 'Delete an update campaign. + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -65965,10 +66353,12 @@ entities: type: filter - _key: id api_fieldname: campaign_id - description: The ID of the update campaign + description: The campaign ID. entity_fieldname: id external_param: false in: path + maxLength: 32 + minLength: 32 name: campaign_id parameter_fieldname: campaign_id required: true @@ -65980,21 +66370,21 @@ entities: pagination: false parameter_map: campaign_id: id - path: /v3/update-campaigns/{campaign_id}/ + path: /v3/update-campaigns/{campaign_id} request_body: json request_content_type: application/json responses: - _key: '204' - description: Update campaign deleted + description: Update campaign deleted. - _key: '400' description: 'Validation error: The data used to update the campaign did not - validate + validate. ' - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Update campaign can't be found + description: Update campaign can't be found. - _key: '409' description: Conflict - Cannot delete the campaign while in the current phase. schema: @@ -66052,7 +66442,22 @@ entities: x_deprecation: null x_filter: {} - _key: device_metadata - description: Get campaign device metadata. + description: 'Get metadata for all devices in a campaign. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -66066,7 +66471,7 @@ entities: fields: - _key: after api_fieldname: after - description: The ID of the the item after which to retrieve the next page + description: The ID of the item after which to retrieve the next page. entity_fieldname: after example: 'null' external_param: true @@ -66089,10 +66494,12 @@ entities: type: filter - _key: id api_fieldname: campaign_id - description: The update campaign ID + description: The campaign ID. entity_fieldname: id external_param: false in: path + maxLength: 32 + minLength: 32 name: campaign_id parameter_fieldname: campaign_id required: true @@ -66100,7 +66507,7 @@ entities: - _key: include api_fieldname: include description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' entity_fieldname: include external_param: true in: query @@ -66125,7 +66532,7 @@ entities: type: integer - _key: order api_fieldname: order - description: ASC or DESC + description: ASC or DESC. entity_fieldname: order enum: - ASC @@ -66148,12 +66555,12 @@ entities: pagination: true parameter_map: campaign_id: id - path: /v3/update-campaigns/{campaign_id}/campaign-device-metadata/ + path: /v3/update-campaigns/{campaign_id}/campaign-device-metadata request_body: json request_content_type: application/json responses: - _key: '200' - description: Request successful + description: Request successful. schema: foreign_key: entity: campaign_device_metadata @@ -66162,13 +66569,13 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one + description: The entity ID to fetch after the given one. entity_fieldname: after example: 'null' type: string - _key: data api_fieldname: data - description: A list of entities + description: A list of entities. entity_fieldname: data items: foreign_key: @@ -66177,7 +66584,7 @@ entities: properties: - _key: campaign api_fieldname: campaign - description: The device's campaign ID + description: The device's campaign ID. entity_fieldname: campaign_id example: 015bf72fccda00000000000100100280 in: path @@ -66186,14 +66593,14 @@ entities: type: string - _key: created_at api_fieldname: created_at - description: The time the campaign was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - _key: deployment_state api_fieldname: deployment_state - description: The state of the update campaign on the device + description: The state of the update campaign on the device. entity_fieldname: deployment_state enum: - pending @@ -66205,26 +66612,26 @@ entities: type: string - _key: description api_fieldname: description - description: Description + description: Description. entity_fieldname: description - example: '' + example: a description maxLength: 2000 type: string - _key: device_id api_fieldname: device_id - description: The device ID + description: The device ID. entity_fieldname: device_id example: 015c2fec9bba0000000000010010036f type: string - _key: etag api_fieldname: etag - description: API resource entity version + description: API resource entity version. entity_fieldname: etag example: '2017-05-22T12:37:58.753425Z' type: string - _key: id api_fieldname: id - description: The metadata record ID + description: The metadata record ID. entity_fieldname: id example: 015c3029f6f7000000000001001000c3 in: path @@ -66233,41 +66640,39 @@ entities: type: string - _key: mechanism api_fieldname: mechanism - description: How the firmware is delivered (connector or direct) + description: How the firmware is delivered (connector or direct). entity_fieldname: mechanism example: connector type: string - _key: mechanism_url api_fieldname: mechanism_url - description: The Device Management Connect URL + description: The Device Management Connect URL. entity_fieldname: mechanism_url - example: '' type: string - _key: name api_fieldname: name - description: The record name + default: default_object_name + description: The record name. entity_fieldname: name - example: default_object_name maxLength: 128 type: string - _key: object api_fieldname: object - description: 'The entity name: always ''update-campaign-device-metadata''' + description: 'The entity name: always ''update-campaign-device-metadata''.' entity_fieldname: object - example: update-campaign-device-metadata type: string - _key: updated_at api_fieldname: updated_at - description: 'The record was modified in the database format: date-time' + description: The time the entity was updated. entity_fieldname: updated_at - example: '2017-05-22T12:37:58.776736Z' + example: '2017-05-22T12:37:55.576563Z' format: date-time type: string type: object type: array - _key: has_more api_fieldname: has_more - description: A flag indicating whether there are more results + description: A flag indicating whether there are more results. entity_fieldname: has_more example: 'false' type: boolean @@ -66283,14 +66688,13 @@ entities: type: integer - _key: object api_fieldname: object - description: 'The entity name: always ''list''' + description: 'The entity name: always ''list''.' entity_fieldname: object - example: list type: string - _key: order api_fieldname: order description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' entity_fieldname: order enum: - ASC @@ -66316,7 +66720,21 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: Get update campaigns for devices specified by a filter. + description: 'Get update campaigns for devices specified by a filter. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -66374,7 +66792,7 @@ entities: fields: - _key: after api_fieldname: after - description: The ID of the the item after which to retrieve the next page + description: The ID of the item after which to retrieve the next page. entity_fieldname: after example: null external_param: true @@ -66398,7 +66816,7 @@ entities: - _key: include api_fieldname: include description: 'A comma-separated list of data fields to return. Currently supported: - total_count' + total_count.' entity_fieldname: include external_param: true in: query @@ -66423,7 +66841,7 @@ entities: - _key: order api_fieldname: order description: 'The order of the records. Acceptable values: ASC, DESC. Default: - ASC' + ASC.' entity_fieldname: order enum: - ASC @@ -66447,12 +66865,12 @@ entities: pagination: true parameter_map: campaign_id: id - path: /v3/update-campaigns/ + path: /v3/update-campaigns request_body: json request_content_type: application/json responses: - _key: '200' - description: Request successful + description: Request successful. schema: foreign_key: entity: update_campaign @@ -66467,69 +66885,125 @@ entities: - _key: data api_fieldname: data entity_fieldname: data - example: '[]' items: - _key: foreign_key entity: update_campaign group: Device_Update - _key: properties + active_at: + description: The time the campaign entered the active state. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + approval_required: + description: Flag indicating whether approval is needed to start the + campaign. + example: 'false' + type: boolean + archived_at: + description: The time the campaign was archived. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + autostop: + description: Flag indicating whether the campaign should be auto-stopped + on reaching a threshold. + example: 'false' + type: boolean autostop_reason: description: Text description of why a campaign failed to start or why a campaign stopped. example: Insufficient billing credit. type: string + autostop_success_percent: + description: Percent of successful device updates to auto stop the campaign. + example: '85.00' + format: double + type: number + campaign_strategy: + default: one-shot + description: How the campaign adds devices. A `one-shot` campaign does + not add new devices after it has started. A `continuous` campaign + means that devices may be added to the campaign after it has started. + The default is `one-shot`. + enum: + - one-shot + - continuous + type: string created_at: - description: The time the update campaign was created + api_fieldname: created_at + description: The time the entity was created. + entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string description: - description: An optional description of the campaign - example: '' + description: An optional description of the campaign. + example: This campaign updates Class XX devices to version 1.34 maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. example: id__eq=00000000000000000000000000000000 type: string etag: - description: The entity instance signature + api_fieldname: etag + description: API resource entity version. + entity_fieldname: etag example: '2017-05-22T12:37:58.753425Z' type: string finished: - description: The campaign finish timestamp + description: The time the campaign finished. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string id: - description: The campaign ID + description: The campaign ID. example: '00000000000000000000000000000000' type: string name: - description: The campaign name + description: The campaign name. example: campaign maxLength: 128 type: string object: - description: The API resource entity - example: update-campaign + description: 'Entity name: always ''update-campaign''.' type: string phase: - description: The current phase of the campaign. - readOnly: true + description: The phase of the campaign. + enum: + - draft + - awaiting_approval + - timed + - starting + - active + - stopping + - stopped + - deleted + - archived type: string root_manifest_id: + description: The ID of the manifest that will be sent to the device + as part of the campaign. example: '00000000000000000000000000000000' type: string root_manifest_url: + description: The URL for the manifest that will be sent to the device + as part of the campaign. example: http://example.com/00000000000000000000000000000000 type: string started_at: + description: The time the campaign was started. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + starting_at: + description: The time the campaign will be started. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string state: - description: 'DEPRECATED: The state of the campaign (use phase instead).' + description: The state of the campaign. enum: - draft - scheduled @@ -66556,8 +67030,20 @@ entities: end_of_life_at: '2020-03-18T14:55:20+00:00' issued_at: '2019-03-18T14:55:20+00:00' links: [] + stopped_at: + description: The time the campaign was stopped. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + stopping_at: + description: The time the campaign will be stopped. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string updated_at: - description: The time the object was updated + api_fieldname: updated_at + description: The time the entity was updated. + entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -66579,13 +67065,13 @@ entities: type: integer - _key: object api_fieldname: object + description: 'Entity name: always ''list''.' entity_fieldname: object - example: list type: string - _key: order api_fieldname: order description: 'The order of the records to return. Acceptable values: ASC, - DESC. Default: ASC' + DESC. Default: ASC.' entity_fieldname: order enum: - ASC @@ -66598,13 +67084,13 @@ entities: type: integer - _key: '400' description: 'Validation error: The data used to update the campaign did not - validate + validate. ' - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Unable to find content + description: Unable to find content. return_info: custom: false self: true @@ -66669,25 +67155,49 @@ entities: - lte - gte - _key: read - description: Get an update campaign. + description: 'Get an update campaign. + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag - type - filter - state - - autostop_reason - - phase - created_at + - updated_at + - campaign_strategy + - active_at + - approval_required + - archived_at + - autostop + - autostop_success_percent + - autostop_reason - description - device_filter - finished - name - root_manifest_id - root_manifest_url + - starting_at - started_at + - stopping_at + - stopped_at + - phase - when - - updated_at field_renames: [] fields: - _key: device_filter_helper @@ -66704,7 +67214,7 @@ entities: type: filter - _key: id api_fieldname: id - description: The campaign ID + description: The campaign ID. entity_fieldname: id example: '00000000000000000000000000000000' in: path @@ -66718,17 +67228,44 @@ entities: pagination: false parameter_map: campaign_id: id - path: /v3/update-campaigns/{campaign_id}/ + path: /v3/update-campaigns/{campaign_id} request_body: json request_content_type: application/json responses: - _key: '200' - description: Retrieved result successfully + description: Retrieved result successfully. schema: - _key: foreign_key entity: update_campaign group: Device_Update - _key: properties + active_at: + api_fieldname: active_at + description: The time the campaign entered the active state. + entity_fieldname: active_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + approval_required: + api_fieldname: approval_required + description: Flag indicating whether approval is needed to start the campaign. + entity_fieldname: approval_required + example: 'false' + type: boolean + archived_at: + api_fieldname: archived_at + description: The time the campaign was archived. + entity_fieldname: archived_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + autostop: + api_fieldname: autostop + description: Flag indicating whether the campaign should be auto-stopped + on reaching a threshold. + entity_fieldname: autostop + example: 'false' + type: boolean autostop_reason: api_fieldname: autostop_reason description: Text description of why a campaign failed to start or why a @@ -66736,83 +67273,122 @@ entities: entity_fieldname: autostop_reason example: Insufficient billing credit. type: string + autostop_success_percent: + api_fieldname: autostop_success_percent + description: Percent of successful device updates to auto stop the campaign. + entity_fieldname: autostop_success_percent + example: '85.00' + format: double + type: number + campaign_strategy: + api_fieldname: campaign_strategy + default: one-shot + description: How the campaign adds devices. A `one-shot` campaign does not + add new devices after it has started. A `continuous` campaign means that + devices may be added to the campaign after it has started. The default + is `one-shot`. + entity_fieldname: campaign_strategy + enum: + - one-shot + - continuous + type: string created_at: api_fieldname: created_at - description: The time the update campaign was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string description: api_fieldname: description - description: An optional description of the campaign + description: An optional description of the campaign. entity_fieldname: description - example: '' + example: This campaign updates Class XX devices to version 1.34 maxLength: 2000 type: string device_filter: api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter example: id__eq=00000000000000000000000000000000 type: string etag: api_fieldname: etag - description: The entity instance signature + description: API resource entity version. entity_fieldname: etag example: '2017-05-22T12:37:58.753425Z' type: string finished: api_fieldname: finished - description: The campaign finish timestamp + description: The time the campaign finished. entity_fieldname: finished example: '2017-05-22T12:37:55.576563Z' format: date-time type: string id: api_fieldname: id - description: The campaign ID + description: The campaign ID. entity_fieldname: id example: '00000000000000000000000000000000' type: string name: api_fieldname: name - description: The campaign name + description: The campaign name. entity_fieldname: name example: campaign maxLength: 128 type: string object: api_fieldname: object - description: The API resource entity + description: 'Entity name: always ''update-campaign''.' entity_fieldname: object - example: update-campaign type: string phase: api_fieldname: phase - description: The current phase of the campaign. + description: The phase of the campaign. entity_fieldname: phase - readOnly: true + enum: + - draft + - awaiting_approval + - timed + - starting + - active + - stopping + - stopped + - deleted + - archived type: string root_manifest_id: api_fieldname: root_manifest_id + description: The ID of the manifest that will be sent to the device as part + of the campaign. entity_fieldname: root_manifest_id example: '00000000000000000000000000000000' type: string root_manifest_url: api_fieldname: root_manifest_url + description: The URL for the manifest that will be sent to the device as + part of the campaign. entity_fieldname: root_manifest_url example: http://example.com/00000000000000000000000000000000 type: string started_at: api_fieldname: started_at + description: The time the campaign was started. entity_fieldname: started_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + starting_at: + api_fieldname: starting_at + description: The time the campaign will be started. + entity_fieldname: starting_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string state: api_fieldname: state - description: 'DEPRECATED: The state of the campaign (use phase instead).' + description: The state of the campaign. entity_fieldname: state enum: - draft @@ -66840,9 +67416,23 @@ entities: end_of_life_at: '2020-03-18T14:55:20+00:00' issued_at: '2019-03-18T14:55:20+00:00' links: [] + stopped_at: + api_fieldname: stopped_at + description: The time the campaign was stopped. + entity_fieldname: stopped_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + stopping_at: + api_fieldname: stopping_at + description: The time the campaign will be stopped. + entity_fieldname: stopping_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string updated_at: api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -66858,13 +67448,13 @@ entities: x-nullable: true - _key: '400' description: 'Validation error: The data used to update the campaign did not - validate + validate. ' - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '404' - description: Unable to find campaign + description: Unable to find campaign. return_info: custom: false self: true @@ -66874,7 +67464,22 @@ entities: x_deprecation: null x_filter: {} - _key: start - description: This command will begin the process of starting a campaign. + description: 'Start a campaign. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/start + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -66897,10 +67502,12 @@ entities: type: filter - _key: id api_fieldname: campaign_id - description: The campaign ID + description: The campaign ID. entity_fieldname: id external_param: false in: path + maxLength: 32 + minLength: 32 name: campaign_id parameter_fieldname: campaign_id required: true @@ -66935,7 +67542,23 @@ entities: x_deprecation: null x_filter: {} - _key: stop - description: This command will begin the process of stopping a campaign. + description: 'Stop a campaign. Stopping is a process that requires the campaign + go through several [phases](../updating-firmware/running-update-campaigns.html#stopping). + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/stop + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -66958,10 +67581,12 @@ entities: type: filter - _key: id api_fieldname: campaign_id - description: The campaign ID + description: The campaign ID. entity_fieldname: id external_param: false in: path + maxLength: 32 + minLength: 32 name: campaign_id parameter_fieldname: campaign_id required: true @@ -66996,27 +67621,68 @@ entities: x_deprecation: null x_filter: {} - _key: update - description: Modify an update campaign. + description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012\ + \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\":\ + \ \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ + ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ + ,\n}'\n```\n" drop_fields: - object - etag - type - filter - state - - autostop_reason - - phase - created_at + - updated_at + - campaign_strategy + - active_at + - archived_at + - autostop_reason - finished - root_manifest_url + - starting_at - started_at - - updated_at + - stopping_at + - stopped_at + - phase + - when field_renames: [] fields: + - _key: approval_required + api_fieldname: approval_required + description: Flag indicating whether approval is needed to start the campaign. + entity_fieldname: approval_required + example: 'false' + in: body + parameter_fieldname: approval_required + required: false + type: boolean + - _key: autostop + api_fieldname: autostop + description: Flag indicating whether the campaign should be auto-stopped on + reaching a threshold. + entity_fieldname: autostop + example: 'false' + in: body + parameter_fieldname: autostop + required: false + type: boolean + - _key: autostop_success_percent + api_fieldname: autostop_success_percent + description: Percent of successful device updates to auto stop the campaign. + entity_fieldname: autostop_success_percent + example: '85.00' + format: double + in: body + parameter_fieldname: autostop_success_percent + required: false + type: number - _key: description api_fieldname: description - description: An optional description of the campaign + description: An optional description of the campaign. entity_fieldname: description - example: '' + example: This campaign updates Class XX devices to version 1.34 in: body maxLength: 2000 parameter_fieldname: description @@ -67024,7 +67690,7 @@ entities: type: string - _key: device_filter api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter example: id__eq=00000000000000000000000000000000 in: body @@ -67045,7 +67711,7 @@ entities: type: filter - _key: id api_fieldname: id - description: The campaign ID + description: The campaign ID. entity_fieldname: id example: '00000000000000000000000000000000' in: path @@ -67054,7 +67720,7 @@ entities: type: string - _key: name api_fieldname: name - description: The campaign name + description: The campaign name. entity_fieldname: name example: campaign in: body @@ -67064,24 +67730,14 @@ entities: type: string - _key: root_manifest_id api_fieldname: root_manifest_id + description: The ID of the manifest that will be sent to the device as part + of the campaign. entity_fieldname: root_manifest_id example: '00000000000000000000000000000000' in: body parameter_fieldname: root_manifest_id required: false type: string - - _key: when - api_fieldname: when - description: The scheduled start time for the campaign. The campaign will start - within 1 minute when then start time has elapsed. - entity_fieldname: when - example: '2017-05-22T12:37:55.576563Z' - format: date-time - in: body - parameter_fieldname: when - required: false - type: string - x-nullable: true group_id: Device_Update method: put mode: update @@ -67089,17 +67745,44 @@ entities: pagination: false parameter_map: campaign_id: id - path: /v3/update-campaigns/{campaign_id}/ + path: /v3/update-campaigns/{campaign_id} request_body: json request_content_type: application/json responses: - _key: '200' - description: Update campaign updated + description: Update campaign updated. schema: - _key: foreign_key entity: update_campaign group: Device_Update - _key: properties + active_at: + api_fieldname: active_at + description: The time the campaign entered the active state. + entity_fieldname: active_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + approval_required: + api_fieldname: approval_required + description: Flag indicating whether approval is needed to start the campaign. + entity_fieldname: approval_required + example: 'false' + type: boolean + archived_at: + api_fieldname: archived_at + description: The time the campaign was archived. + entity_fieldname: archived_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + autostop: + api_fieldname: autostop + description: Flag indicating whether the campaign should be auto-stopped + on reaching a threshold. + entity_fieldname: autostop + example: 'false' + type: boolean autostop_reason: api_fieldname: autostop_reason description: Text description of why a campaign failed to start or why a @@ -67107,83 +67790,122 @@ entities: entity_fieldname: autostop_reason example: Insufficient billing credit. type: string + autostop_success_percent: + api_fieldname: autostop_success_percent + description: Percent of successful device updates to auto stop the campaign. + entity_fieldname: autostop_success_percent + example: '85.00' + format: double + type: number + campaign_strategy: + api_fieldname: campaign_strategy + default: one-shot + description: How the campaign adds devices. A `one-shot` campaign does not + add new devices after it has started. A `continuous` campaign means that + devices may be added to the campaign after it has started. The default + is `one-shot`. + entity_fieldname: campaign_strategy + enum: + - one-shot + - continuous + type: string created_at: api_fieldname: created_at - description: The time the update campaign was created + description: The time the entity was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string description: api_fieldname: description - description: An optional description of the campaign + description: An optional description of the campaign. entity_fieldname: description - example: '' + example: This campaign updates Class XX devices to version 1.34 maxLength: 2000 type: string device_filter: api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at + description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter example: id__eq=00000000000000000000000000000000 type: string etag: api_fieldname: etag - description: The entity instance signature + description: API resource entity version. entity_fieldname: etag example: '2017-05-22T12:37:58.753425Z' type: string finished: api_fieldname: finished - description: The campaign finish timestamp + description: The time the campaign finished. entity_fieldname: finished example: '2017-05-22T12:37:55.576563Z' format: date-time type: string id: api_fieldname: id - description: The campaign ID + description: The campaign ID. entity_fieldname: id example: '00000000000000000000000000000000' type: string name: api_fieldname: name - description: The campaign name + description: The campaign name. entity_fieldname: name example: campaign maxLength: 128 type: string object: api_fieldname: object - description: The API resource entity + description: 'Entity name: always ''update-campaign''.' entity_fieldname: object - example: update-campaign type: string phase: api_fieldname: phase - description: The current phase of the campaign. + description: The phase of the campaign. entity_fieldname: phase - readOnly: true + enum: + - draft + - awaiting_approval + - timed + - starting + - active + - stopping + - stopped + - deleted + - archived type: string root_manifest_id: api_fieldname: root_manifest_id + description: The ID of the manifest that will be sent to the device as part + of the campaign. entity_fieldname: root_manifest_id example: '00000000000000000000000000000000' type: string root_manifest_url: api_fieldname: root_manifest_url + description: The URL for the manifest that will be sent to the device as + part of the campaign. entity_fieldname: root_manifest_url example: http://example.com/00000000000000000000000000000000 type: string started_at: api_fieldname: started_at + description: The time the campaign was started. entity_fieldname: started_at example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + starting_at: + api_fieldname: starting_at + description: The time the campaign will be started. + entity_fieldname: starting_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string state: api_fieldname: state - description: 'DEPRECATED: The state of the campaign (use phase instead).' + description: The state of the campaign. entity_fieldname: state enum: - draft @@ -67211,9 +67933,23 @@ entities: end_of_life_at: '2020-03-18T14:55:20+00:00' issued_at: '2019-03-18T14:55:20+00:00' links: [] + stopped_at: + api_fieldname: stopped_at + description: The time the campaign was stopped. + entity_fieldname: stopped_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + stopping_at: + api_fieldname: stopping_at + description: The time the campaign will be stopped. + entity_fieldname: stopping_at + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string updated_at: api_fieldname: updated_at - description: The time the object was updated + description: The time the entity was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -67229,16 +67965,16 @@ entities: x-nullable: true - _key: '400' description: 'Validation error: The data used to update the campaign did not - validate + validate. ' - _key: '401' - description: Not authenticated + description: Not authenticated. - _key: '403' description: Fields apart from 'name', 'description' and 'state' cannot be modified when the state is not 'draft'. - _key: '404' - description: Update campaign can't be found + description: Update campaign can't be found. return_info: custom: false self: true @@ -67254,7 +67990,8 @@ entities: - UpdateCampaignPage - UpdateCampaignPostRequest - UpdateCampaignPutRequest - tags: [] + tags: + - Device update - campaigns - _key: user field_renames: [] fields: @@ -72915,6 +73652,29 @@ enums: values: - ASC - DESC +- _key: update_campaign_phase_enum + entity_name: update_campaign + enum_name: update_campaign_phase_enum + field_name: phase + group_id: Device_Update + values: + - active + - archived + - awaiting_approval + - deleted + - draft + - starting + - stopped + - stopping + - timed +- _key: update_campaign_strategy_enum + entity_name: update_campaign + enum_name: update_campaign_strategy_enum + field_name: campaign_strategy + group_id: Device_Update + values: + - continuous + - one-shot - _key: user_invitation_order_enum entity_name: user_invitation enum_name: user_invitation_order_enum @@ -73021,6 +73781,8 @@ groups: - firmware_manifest enums: - campaign_device_metadata_deployment_state_enum + - update_campaign_strategy_enum + - update_campaign_phase_enum - update_campaign_order_enum - campaign_statistics_summary_status_enum - campaign_statistics_id_enum From 8922d6deaf915c6f788c2d9f588dda998da0440d Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 10 Oct 2019 14:00:16 +0000 Subject: [PATCH 015/111] new SDK config changes via api-contract @ 2019-10-10 14:00 --- api_specifications/public/pelion_dm_public_openapi.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 77d3fc5e1..39aa8c378 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7697,7 +7697,7 @@ paths: - Resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. - end_of_life_at: 2020-05-017T00:00:00+00:00 + end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest @@ -7806,7 +7806,7 @@ paths: The /v2/device-requests/{device-id} endpoint lets you use your own async-id, and simplifies integration by returning all resource values, cached and non-cached, through the event notification channel. - end_of_life_at: 2020-05-017T00:00:00+00:00 + end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest @@ -7915,7 +7915,7 @@ paths: - Resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. - end_of_life_at: 2020-05-017T00:00:00+00:00 + end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest @@ -8036,7 +8036,7 @@ paths: - Resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. - end_of_life_at: 2020-05-017T00:00:00+00:00 + end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest From 7692888a3f833ac1682582225be350780b264f8e Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 11 Oct 2019 09:25:45 +0000 Subject: [PATCH 016/111] new SDK config changes via api-contract @ 2019-10-11 09:25 --- api_specifications/public/pelion_dm_public_openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 39aa8c378..258e54628 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8218,7 +8218,7 @@ paths: end_of_life_at: '2019-11-01T00:00:00+00:00' issued_at: '2017-02-10T15:23:00+00:00' links: - - cloud.mbed.com/integrate-web-app/event-notification.html + - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html x-origin: /home/circleci/project/device-server/public/swagger.yaml get: deprecated: true @@ -8292,7 +8292,7 @@ paths: end_of_life_at: '2019-11-01T00:00:00+00:00' issued_at: '2017-02-10T15:23:00+00:00' links: - - cloud.mbed.com/integrate-web-app/event-notification.html + - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/notification/websocket: delete: From e13be751f3a23277a3871075245cff36375dee42 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 14 Oct 2019 08:56:49 +0000 Subject: [PATCH 017/111] new SDK config changes via api-contract @ 2019-10-14 08:56 --- api_specifications/public/pelion_dm_public_openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 258e54628..11d85e61f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8215,7 +8215,7 @@ paths: x-deprecation: comment: Long polling is deprecated and should be used for development purposes only. - end_of_life_at: '2019-11-01T00:00:00+00:00' + end_of_life_at: '2020-03-31T00:00:00+00:00' issued_at: '2017-02-10T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html @@ -8289,7 +8289,7 @@ paths: x-deprecation: comment: Long polling is deprecated and should be used for development purposes only. - end_of_life_at: '2019-11-01T00:00:00+00:00' + end_of_life_at: '2020-03-31T00:00:00+00:00' issued_at: '2017-02-10T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html From e9a9114435b8da6115e2d6c6ac5fa80a0e5b2fdd Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 22 Oct 2019 13:35:41 +0000 Subject: [PATCH 018/111] new SDK config changes via api-contract @ 2019-10-22 13:35 --- .../public/pelion_dm_public_openapi.yaml | 5 + .../public/sdk_foundation_definition.json | 118 ++++++++++++++++++ .../public/sdk_foundation_definition.yaml | 92 ++++++++++++++ 3 files changed, 215 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 11d85e61f..d6daeebc4 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -934,6 +934,11 @@ definitions: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + created_at: + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string ip_address: description: IP address of the client. example: 127.0.0.1 diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 87020ee8a..274b05be1 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -13857,6 +13857,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -15320,6 +15329,16 @@ "required": false, "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "readOnly": true, + "required": false, + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -56249,6 +56268,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -73699,6 +73727,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -77481,6 +77518,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -79265,6 +79311,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -80183,6 +80238,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -81326,6 +81390,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -89331,6 +89404,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -90520,6 +90602,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -91669,6 +91760,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -92537,6 +92637,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", @@ -93360,6 +93469,15 @@ "entity_fieldname": "account_id", "_key": "account_id" }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "api_fieldname": "created_at", + "entity_fieldname": "created_at", + "_key": "created_at" + }, { "type": "string", "example": "127.0.0.1", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 44cdeff48..011ca67f5 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -10538,6 +10538,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -11047,6 +11054,14 @@ entities: readOnly: true required: false type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + readOnly: true + required: false + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -42733,6 +42748,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -55657,6 +55679,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -58461,6 +58490,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -59037,6 +59073,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -60391,6 +60434,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -61112,6 +61162,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -68019,6 +68076,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -68559,6 +68623,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -69448,6 +69519,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -70332,6 +70410,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. @@ -71004,6 +71089,13 @@ entities: example: 01619571e2e90242ac12000600000000 pattern: '[a-f0-9]{32}' type: string + - _key: created_at + api_fieldname: created_at + description: Creation UTC time RFC3339. + entity_fieldname: created_at + example: '2018-02-13T09:35:20Z' + format: date-time + type: string - _key: ip_address api_fieldname: ip_address description: IP address of the client. From 460087cbebd3bac98af24a00a115bd338eb8de00 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 23 Oct 2019 10:38:59 +0000 Subject: [PATCH 019/111] new SDK config changes via api-contract @ 2019-10-23 10:38 --- api_specifications/public/pelion_dm_public_openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index d6daeebc4..8a103ba6b 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7325,8 +7325,8 @@ paths: Example payload to write value "value1" to resource /5/0/1: - { "method": "PUT", "uri": "/5/0/1%20?k1=v1&k2=v2%22", "accept": "text/plain", - "content-type": "text/plain", "payload-b64": "dmFsdWUxCg==" } + { "method": "PUT", "uri": "/5/0/1?k1=v1&k2=v2", "accept": "text/plain", "content-type": + "text/plain", "payload-b64": "dmFsdWUxCg==" } Example payload to execute LWM2M resource /123/1/1: From 37cc7eca57ad46ca8ea6737f7a5c7ccca4d747ad Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 13 Nov 2019 10:26:17 +0000 Subject: [PATCH 020/111] new SDK config changes via api-contract @ 2019-11-13 10:26 --- .../public/pelion_dm_public_openapi.yaml | 179 +++++++++++++----- 1 file changed, 132 insertions(+), 47 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 8a103ba6b..93f9f7a14 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -5161,6 +5161,14 @@ definitions: - type - time type: object + RegisterWebsocketChannel: + properties: + serialization: + description: Serialization configuration for a channel + schema: + $ref: '#/definitions/SerializationConfigData' + type: object + type: object ReportAccountContactInfo: description: Account contact information. properties: @@ -5431,6 +5439,84 @@ definitions: description: URL of the identity provider's SSO endpoint. type: string type: object + SerializationConfigData: + properties: + cfg: + description: Serialization configuration object according to configuration + type. + schema: + $ref: '#/definitions/SerializationConfigObjectV2' + type: object + max_chunk_size: + description: Maximum number of messages in NotificationMessage container delivered + in one request. Default is 10000. Using a very low value for high troughput + applications may cause lag in notification delivery, as a new chunk is sent + only after the previous one has been acknowledged. Using a high value is + recommended and safe, as chunks are sent quickly after notifications are + received from devices. See [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic) + for more details. + example: '500' + maximum: 10000 + minimum: 100 + type: integer + type: + default: v2 + description: 'Serialization type: v2 - specified in NotificationMessage.' + enum: + - v2 + example: v2 + type: string + required: + - type + type: object + SerializationConfigObjectV2: + properties: + deregistrations_as_object: + default: false + description: 'Defines serialization format for ''de-registrations'' and ''registrations-expired''. + If set to true, + + de-registration and registration-expired messages will be represented as + json objects and can have + + additional fields: ''uid'', ''timestamp'', ''original-ep'', together with + the ''ep'' field. If set to false, + + (default) - de-registration and ''registration-expired'' will be represented + by a string, + + containing only data from ''ep'' field. + + ' + example: 'true' + type: boolean + include_original_ep: + default: false + description: 'Include ''original-ep'' message field in serialized objects. + This is the endpoint_name from the device. + + ' + example: 'true' + type: boolean + include_timestamp: + default: false + description: 'Include ''timestamp'' message field in serialized objects. The + timestamp represents the time that the notification service receives the + message and sorts it into the queue. Timestamp provides information of queue + length (web-app current time - timestamp = delay). + + ' + example: 'true' + type: boolean + include_uid: + default: false + description: 'Include ''uid'' message field to serialized objects. This is + message ID, and can be used for duplicate detection. + + ' + example: 'true' + type: boolean + type: object ServerCredentialsResponseData: properties: created_at: @@ -6963,6 +7049,11 @@ definitions: description: The headers (key/value) sent with the notification. Optional. example: '{"authorization" : "f4b93d6e-4652-4874-82e4-41a3ced0cd56"}' type: object + serialization: + description: Serialization configuration for a channel. + schema: + $ref: '#/definitions/SerializationConfigData' + type: object url: description: The URL to which the notifications are sent. We recommend that you serve this URL over HTTPS. @@ -6978,6 +7069,11 @@ definitions: description: Number of events in the channel's event queue waiting to be delivered. example: 0 type: integer + serialization: + description: Serialization configuration for a channel. + schema: + $ref: '#/definitions/SerializationConfigData' + type: object status: default: disconnected description: Channel status is 'connected' when the channel has an active @@ -8139,14 +8235,19 @@ paths: \ a notification to an HTTPS based callback URL, Device Management Connect\ \ presents a valid client certificate to identify itself. The certificate\ \ is signed by a trusted certificate authorithy (GlobalSign) with a Common\ - \ Name (CN) set to notifications.mbedcloud.com.\n\n**Example:**\n\nThis example\ - \ command shows how to set your callback URL and API key. It also sets an\ - \ optional header authorization. When Device Management Connect calls your\ - \ callback URL, the call contains the authorization header with the defined\ + \ Name (CN) set to notifications.mbedcloud.com.\n\n**Configuration options:**\n\ + \nThe event notification channel provides configurations options defined in\ + \ [Serialization config](#SerializationConfigObjectV2).\n\n**Example:**\n\n\ + This example command shows how to set your callback URL and API key. It also\ + \ sets an optional header authorization. When Device Management Connect calls\ + \ your callback URL, the call contains the authorization header with the defined\ \ value.\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/callback\ \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ - \ \\\n-d '{\n\"url\": \"{callback-url}\",\n\"headers\": {\"authorization\"\ - \ : \"f4b93d6e-4652-4874-82e4-41a3ced0cd56\"}\n}'\n```" + \ \\\n-d '{\n \"url\": \"{callback-url}\",\n \"headers\": {\"authorization\"\ + : \"f4b93d6e-4652-4874-82e4-41a3ced0cd56\"},\n \"serialization\": {\"type\"\ + : \"v2\", \"max_chunk_size\": \"100\",\n \"cfg\": {\"deregistrations_as_object\"\ + : \"true\", \"include_uid\": \"true\", \"include_timestamp\": \"true\", \"\ + include_original_ep\": \"true\"\n }\n }\n}'\n```" operationId: registerWebhook parameters: - description: A JSON object that contains the optional headers and URL where @@ -8363,46 +8464,30 @@ paths: put: consumes: - application/json - description: '(PREVIEW) Register (or update) a channel using websocket connection - to deliver notifications. The websocket channel should be opened by client - using `/v2/notification/websocket-connect` endpoint. To get notifications - pushed, you must place subscriptions. For more information on notification - messages, see [NotificationMessage](#NotificationMessage). - - - A websocket channel can have only one active websocket connection at a time. - If a websocket connection for a channel exists and a new connection to the - same channel is made, the connection is accepted and the older connection - is closed. - - - **Expiration of a websocket:** - - - A websocket channel is expired if the channel does not have an opened websocket - connection for a 24-hour period. Channel expiration means the channel is deleted - and any undelivered notifications stored in its internal queue is removed. - As long as the channel has an opened websocket connection or time between - successive websocket connections is less than 24 hours, - - the channel is considered active, notifications are stored in its internal - queue and delivered when a websocket connection is active. A channel can be - also deleted explicitly with a DELETE call. - - - More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic). - - - **Example:** - - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket - \ - - -H ''Authorization: Bearer '' - - ```' + description: "(PREVIEW) Register (or update) a channel using websocket connection\ + \ to deliver notifications. The websocket channel should be opened by client\ + \ using `/v2/notification/websocket-connect` endpoint. To get notifications\ + \ pushed, you must place subscriptions. For more information on notification\ + \ messages, see [NotificationMessage](#NotificationMessage).\n\nA websocket\ + \ channel can have only one active websocket connection at a time. If a websocket\ + \ connection for a channel exists and a new connection to the same channel\ + \ is made, the connection is accepted and the older connection is closed.\n\ + \n**Expiration of a websocket:**\n\nA websocket channel is expired if the\ + \ channel does not have an opened websocket connection for a 24-hour period.\ + \ Channel expiration means the channel is deleted and any undelivered notifications\ + \ stored in its internal queue is removed. As long as the channel has an opened\ + \ websocket connection or time between successive websocket connections is\ + \ less than 24 hours,\nthe channel is considered active, notifications are\ + \ stored in its internal queue and delivered when a websocket connection is\ + \ active. A channel can be also deleted explicitly with a DELETE call.\n\n\ + More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ + \n**Configuration options:**\n\nThe event notification channel provides configurations\ + \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ + \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ + \ \\\n-H 'Authorization: Bearer '\n-d '{\n \"serialization\": {\"\ + type\": \"v2\", \"max_chunk_size\": \"100\",\n \"cfg\": {\"deregistrations_as_object\"\ + : \"true\", \"include_uid\": \"true\", \"include_timestamp\": \"true\", \"\ + include_original_ep\": \"true\"\n }\n }\n}\n```" operationId: registerWebsocket responses: 200: @@ -8410,7 +8495,7 @@ paths: this operation has no effect, and any subsequent PUT call from a client previously registered to a channel results in a 200 OK response. schema: - $ref: '#/definitions/WebsocketChannel' + $ref: '#/definitions/RegisterWebsocketChannel' 201: description: Channel succesfully registered. schema: From 6b22f9ae05d295b4e0f3b5ee36aa1c7da5d019ab Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 27 Nov 2019 10:28:16 +0000 Subject: [PATCH 021/111] new SDK config changes via api-contract @ 2019-11-27 10:28 --- .../public/pelion_dm_public_openapi.yaml | 64 ++- .../public/sdk_foundation_definition.json | 398 ++++++++++++++++-- .../public/sdk_foundation_definition.yaml | 367 ++++++++++++++-- 3 files changed, 766 insertions(+), 63 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 93f9f7a14..75e8a037a 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -3968,21 +3968,49 @@ definitions: properties: created_at: *id013 datafile: - description: The URL of the firmware manifest binary + description: The URL of the ASN.1 DER-encoded firmware manifest binary. example: http://example.com/12345678901234567890123456789012 + format: uri type: string datafile_size: - description: The size of the datafile in bytes + description: The size of the firmware manifest in bytes. + format: int64 + type: integer + delivered_payload_digest: + description: Digest (SHA256, hex-encoded) of the payload to deliver to the + device. + example: c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc + format: hex + type: string + delivered_payload_size: + description: The size in bytes of the payload to deliver to the device. format: int64 type: integer + delivered_payload_type: + description: Type of the payload to deliver to the device (full or delta image). + enum: + - full + - delta + type: string + delivered_payload_url: + description: The URL of the payload to deliver to the device. + example: http://example.com/abcdefghijklmnopqrstuvwxyz + format: uri + type: string description: description: The description of the firmware manifest. example: '' maxLength: 2000 type: string device_class: - description: The class of the device. + description: The device class ID. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + device_vendor: + description: The device vendor ID. example: 00000000-0000-0000-0000-000000000000 + format: uuid type: string etag: *id014 id: @@ -3991,22 +4019,46 @@ definitions: type: string key_table: description: The key table of pre-shared keys for devices. - example: http://example.com + example: http://example.com/key-table format: uri type: string + manifest_schema_version: + description: Version of the manifest schema (1 or 3). + enum: + - '1' + - '3' + type: string name: - description: The name of the object. - example: default_object_name + description: The name of the manifest. + example: manifest_name maxLength: 128 type: string object: description: 'Entity name: always ''firmware-manifest''.' type: string + parsed_raw_manifest: + description: 'Raw manifest in JSON format, parsed from ASN.1 DER encoding. + + Fields may change. Backwards compatibility is not guaranteed. + + Recommended for debugging only. + + ' + type: object + precursor_payload_digest: + description: Digest (SHA256, hex-encoded) of the currently installed payload. + example: 54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f + type: string timestamp: description: The firmware manifest version as a timestamp. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + update_priority: + description: Update priority, passed to the application callback when an update + is performed. Allows the application to make application-specific decisions. + format: int64 + type: integer updated_at: *id015 FirmwareManifestEqNeqFilter: properties: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 274b05be1..9f5a53bfe 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -93,6 +93,8 @@ "campaign_statistics_summary_status_enum", "campaign_statistics_id_enum", "firmware_image_order_enum", + "firmware_manifest_schema_version_enum", + "firmware_manifest_delivered_payload_type_enum", "firmware_manifest_order_enum" ], "_key": "Device_Update" @@ -485,6 +487,17 @@ "group_id": "Device_Update", "_key": "firmware_image_order_enum" }, + { + "entity_name": "firmware_manifest", + "field_name": "delivered_payload_type", + "enum_name": "firmware_manifest_delivered_payload_type_enum", + "values": [ + "delta", + "full" + ], + "group_id": "Device_Update", + "_key": "firmware_manifest_delivered_payload_type_enum" + }, { "entity_name": "firmware_manifest", "field_name": "order", @@ -496,6 +509,17 @@ "group_id": "Device_Update", "_key": "firmware_manifest_order_enum" }, + { + "entity_name": "firmware_manifest", + "field_name": "manifest_schema_version", + "enum_name": "firmware_manifest_schema_version_enum", + "values": [ + "1", + "3" + ], + "group_id": "Device_Update", + "_key": "firmware_manifest_schema_version_enum" + }, { "entity_name": "identity_provider", "field_name": "algorithm", @@ -44223,10 +44247,10 @@ "_key": "key_table_file" }, { - "description": "The name of the object.", + "description": "The name of the manifest.", "type": "string", "maxLength": 128, - "example": "default_object_name", + "example": "manifest_name", "api_fieldname": "name", "entity_fieldname": "name", "parameter_fieldname": "name", @@ -44276,20 +44300,71 @@ "api_fieldname": "object", "entity_fieldname": "object" }, + "manifest_schema_version": { + "description": "Version of the manifest schema (1 or 3).", + "type": "string", + "enum": [ + "1", + "3" + ], + "api_fieldname": "manifest_schema_version", + "entity_fieldname": "manifest_schema_version" + }, "datafile": { - "description": "The URL of the firmware manifest binary", + "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", + "format": "uri", "example": "http://example.com/12345678901234567890123456789012", "api_fieldname": "datafile", "entity_fieldname": "datafile_url" }, "datafile_size": { - "description": "The size of the datafile in bytes", - "format": "int64", + "description": "The size of the firmware manifest in bytes.", "type": "integer", + "format": "int64", "api_fieldname": "datafile_size", "entity_fieldname": "datafile_size" }, + "delivered_payload_url": { + "description": "The URL of the payload to deliver to the device.", + "type": "string", + "format": "uri", + "example": "http://example.com/abcdefghijklmnopqrstuvwxyz", + "api_fieldname": "delivered_payload_url", + "entity_fieldname": "delivered_payload_url" + }, + "delivered_payload_size": { + "description": "The size in bytes of the payload to deliver to the device.", + "type": "integer", + "format": "int64", + "api_fieldname": "delivered_payload_size", + "entity_fieldname": "delivered_payload_size" + }, + "delivered_payload_digest": { + "description": "Digest (SHA256, hex-encoded) of the payload to deliver to the device.", + "type": "string", + "format": "hex", + "example": "c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc", + "api_fieldname": "delivered_payload_digest", + "entity_fieldname": "delivered_payload_digest" + }, + "delivered_payload_type": { + "description": "Type of the payload to deliver to the device (full or delta image).", + "type": "string", + "enum": [ + "full", + "delta" + ], + "api_fieldname": "delivered_payload_type", + "entity_fieldname": "delivered_payload_type" + }, + "precursor_payload_digest": { + "description": "Digest (SHA256, hex-encoded) of the currently installed payload.", + "type": "string", + "example": "54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f", + "api_fieldname": "precursor_payload_digest", + "entity_fieldname": "precursor_payload_digest" + }, "description": { "description": "The description of the firmware manifest.", "type": "string", @@ -44299,17 +44374,33 @@ "entity_fieldname": "description" }, "device_class": { - "description": "The class of the device.", + "description": "The device class ID.", "type": "string", + "format": "uuid", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "device_class", "entity_fieldname": "device_class" }, + "device_vendor": { + "description": "The device vendor ID.", + "type": "string", + "format": "uuid", + "example": "00000000-0000-0000-0000-000000000000", + "api_fieldname": "device_vendor", + "entity_fieldname": "device_vendor" + }, + "update_priority": { + "description": "Update priority, passed to the application callback when an update is performed. Allows the application to make application-specific decisions.", + "type": "integer", + "format": "int64", + "api_fieldname": "update_priority", + "entity_fieldname": "update_priority" + }, "key_table": { "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", - "example": "http://example.com", + "example": "http://example.com/key-table", "api_fieldname": "key_table", "entity_fieldname": "key_table_url" }, @@ -44321,10 +44412,10 @@ "entity_fieldname": "id" }, "name": { - "description": "The name of the object.", + "description": "The name of the manifest.", "type": "string", "maxLength": 128, - "example": "default_object_name", + "example": "manifest_name", "api_fieldname": "name", "entity_fieldname": "name" }, @@ -44336,6 +44427,12 @@ "api_fieldname": "timestamp", "entity_fieldname": "timestamp" }, + "parsed_raw_manifest": { + "description": "Raw manifest in JSON format, parsed from ASN.1 DER encoding.\nFields may change. Backwards compatibility is not guaranteed.\nRecommended for debugging only.\n", + "type": "object", + "api_fieldname": "parsed_raw_manifest", + "entity_fieldname": "parsed_raw_manifest" + }, "_key": "properties" } ], @@ -44371,10 +44468,19 @@ "filter", "created_at", "updated_at", + "manifest_schema_version", "datafile_size", + "delivered_payload_url", + "delivered_payload_size", + "delivered_payload_digest", + "delivered_payload_type", + "precursor_payload_digest", "device_class", + "device_vendor", + "update_priority", "id", "timestamp", + "parsed_raw_manifest", "datafile_url", "key_table_url" ], @@ -44588,15 +44694,54 @@ "description": "Entity name: always 'firmware-manifest'.", "type": "string" }, + "manifest_schema_version": { + "description": "Version of the manifest schema (1 or 3).", + "type": "string", + "enum": [ + "1", + "3" + ] + }, "datafile": { - "description": "The URL of the firmware manifest binary", + "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", + "format": "uri", "example": "http://example.com/12345678901234567890123456789012" }, "datafile_size": { - "description": "The size of the datafile in bytes", - "format": "int64", - "type": "integer" + "description": "The size of the firmware manifest in bytes.", + "type": "integer", + "format": "int64" + }, + "delivered_payload_url": { + "description": "The URL of the payload to deliver to the device.", + "type": "string", + "format": "uri", + "example": "http://example.com/abcdefghijklmnopqrstuvwxyz" + }, + "delivered_payload_size": { + "description": "The size in bytes of the payload to deliver to the device.", + "type": "integer", + "format": "int64" + }, + "delivered_payload_digest": { + "description": "Digest (SHA256, hex-encoded) of the payload to deliver to the device.", + "type": "string", + "format": "hex", + "example": "c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc" + }, + "delivered_payload_type": { + "description": "Type of the payload to deliver to the device (full or delta image).", + "type": "string", + "enum": [ + "full", + "delta" + ] + }, + "precursor_payload_digest": { + "description": "Digest (SHA256, hex-encoded) of the currently installed payload.", + "type": "string", + "example": "54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f" }, "description": { "description": "The description of the firmware manifest.", @@ -44605,15 +44750,27 @@ "example": "" }, "device_class": { - "description": "The class of the device.", + "description": "The device class ID.", + "type": "string", + "format": "uuid", + "example": "00000000-0000-0000-0000-000000000000" + }, + "device_vendor": { + "description": "The device vendor ID.", "type": "string", + "format": "uuid", "example": "00000000-0000-0000-0000-000000000000" }, + "update_priority": { + "description": "Update priority, passed to the application callback when an update is performed. Allows the application to make application-specific decisions.", + "type": "integer", + "format": "int64" + }, "key_table": { "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", - "example": "http://example.com" + "example": "http://example.com/key-table" }, "id": { "description": "The firmware manifest ID.", @@ -44621,10 +44778,10 @@ "example": "12345678901234567890123456789012" }, "name": { - "description": "The name of the object.", + "description": "The name of the manifest.", "type": "string", "maxLength": 128, - "example": "default_object_name" + "example": "manifest_name" }, "timestamp": { "description": "The firmware manifest version as a timestamp.", @@ -44632,6 +44789,10 @@ "example": "2017-05-22T12:37:55.576563Z", "type": "string" }, + "parsed_raw_manifest": { + "description": "Raw manifest in JSON format, parsed from ASN.1 DER encoding.\nFields may change. Backwards compatibility is not guaranteed.\nRecommended for debugging only.\n", + "type": "object" + }, "_key": "properties" } ], @@ -44891,20 +45052,71 @@ "api_fieldname": "object", "entity_fieldname": "object" }, + "manifest_schema_version": { + "description": "Version of the manifest schema (1 or 3).", + "type": "string", + "enum": [ + "1", + "3" + ], + "api_fieldname": "manifest_schema_version", + "entity_fieldname": "manifest_schema_version" + }, "datafile": { - "description": "The URL of the firmware manifest binary", + "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", + "format": "uri", "example": "http://example.com/12345678901234567890123456789012", "api_fieldname": "datafile", "entity_fieldname": "datafile_url" }, "datafile_size": { - "description": "The size of the datafile in bytes", - "format": "int64", + "description": "The size of the firmware manifest in bytes.", "type": "integer", + "format": "int64", "api_fieldname": "datafile_size", "entity_fieldname": "datafile_size" }, + "delivered_payload_url": { + "description": "The URL of the payload to deliver to the device.", + "type": "string", + "format": "uri", + "example": "http://example.com/abcdefghijklmnopqrstuvwxyz", + "api_fieldname": "delivered_payload_url", + "entity_fieldname": "delivered_payload_url" + }, + "delivered_payload_size": { + "description": "The size in bytes of the payload to deliver to the device.", + "type": "integer", + "format": "int64", + "api_fieldname": "delivered_payload_size", + "entity_fieldname": "delivered_payload_size" + }, + "delivered_payload_digest": { + "description": "Digest (SHA256, hex-encoded) of the payload to deliver to the device.", + "type": "string", + "format": "hex", + "example": "c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc", + "api_fieldname": "delivered_payload_digest", + "entity_fieldname": "delivered_payload_digest" + }, + "delivered_payload_type": { + "description": "Type of the payload to deliver to the device (full or delta image).", + "type": "string", + "enum": [ + "full", + "delta" + ], + "api_fieldname": "delivered_payload_type", + "entity_fieldname": "delivered_payload_type" + }, + "precursor_payload_digest": { + "description": "Digest (SHA256, hex-encoded) of the currently installed payload.", + "type": "string", + "example": "54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f", + "api_fieldname": "precursor_payload_digest", + "entity_fieldname": "precursor_payload_digest" + }, "description": { "description": "The description of the firmware manifest.", "type": "string", @@ -44914,17 +45126,33 @@ "entity_fieldname": "description" }, "device_class": { - "description": "The class of the device.", + "description": "The device class ID.", "type": "string", + "format": "uuid", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "device_class", "entity_fieldname": "device_class" }, + "device_vendor": { + "description": "The device vendor ID.", + "type": "string", + "format": "uuid", + "example": "00000000-0000-0000-0000-000000000000", + "api_fieldname": "device_vendor", + "entity_fieldname": "device_vendor" + }, + "update_priority": { + "description": "Update priority, passed to the application callback when an update is performed. Allows the application to make application-specific decisions.", + "type": "integer", + "format": "int64", + "api_fieldname": "update_priority", + "entity_fieldname": "update_priority" + }, "key_table": { "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", - "example": "http://example.com", + "example": "http://example.com/key-table", "api_fieldname": "key_table", "entity_fieldname": "key_table_url" }, @@ -44936,10 +45164,10 @@ "entity_fieldname": "id" }, "name": { - "description": "The name of the object.", + "description": "The name of the manifest.", "type": "string", "maxLength": 128, - "example": "default_object_name", + "example": "manifest_name", "api_fieldname": "name", "entity_fieldname": "name" }, @@ -44951,6 +45179,12 @@ "api_fieldname": "timestamp", "entity_fieldname": "timestamp" }, + "parsed_raw_manifest": { + "description": "Raw manifest in JSON format, parsed from ASN.1 DER encoding.\nFields may change. Backwards compatibility is not guaranteed.\nRecommended for debugging only.\n", + "type": "object", + "api_fieldname": "parsed_raw_manifest", + "entity_fieldname": "parsed_raw_manifest" + }, "_key": "properties" } ], @@ -44986,11 +45220,20 @@ "filter", "created_at", "updated_at", + "manifest_schema_version", "datafile_size", + "delivered_payload_url", + "delivered_payload_size", + "delivered_payload_digest", + "delivered_payload_type", + "precursor_payload_digest", "description", "device_class", + "device_vendor", + "update_priority", "name", "timestamp", + "parsed_raw_manifest", "datafile_url", "key_table_url" ], @@ -45017,23 +45260,66 @@ "_key": "created_at" }, { - "description": "The size of the datafile in bytes", - "format": "int64", + "description": "The size of the firmware manifest in bytes.", "type": "integer", + "format": "int64", "api_fieldname": "datafile_size", "readOnly": true, "required": false, "_key": "datafile_size" }, { - "description": "The URL of the firmware manifest binary", + "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", + "format": "uri", "example": "http://example.com/12345678901234567890123456789012", "api_fieldname": "datafile", "readOnly": true, "required": false, "_key": "datafile_url" }, + { + "description": "Digest (SHA256, hex-encoded) of the payload to deliver to the device.", + "type": "string", + "format": "hex", + "example": "c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc", + "api_fieldname": "delivered_payload_digest", + "readOnly": true, + "required": false, + "_key": "delivered_payload_digest" + }, + { + "description": "The size in bytes of the payload to deliver to the device.", + "type": "integer", + "format": "int64", + "api_fieldname": "delivered_payload_size", + "readOnly": true, + "required": false, + "_key": "delivered_payload_size" + }, + { + "description": "Type of the payload to deliver to the device (full or delta image).", + "type": "string", + "enum": [ + "full", + "delta" + ], + "api_fieldname": "delivered_payload_type", + "readOnly": true, + "required": false, + "enum_reference": "firmware_manifest_delivered_payload_type_enum", + "_key": "delivered_payload_type" + }, + { + "description": "The URL of the payload to deliver to the device.", + "type": "string", + "format": "uri", + "example": "http://example.com/abcdefghijklmnopqrstuvwxyz", + "api_fieldname": "delivered_payload_url", + "readOnly": true, + "required": false, + "_key": "delivered_payload_url" + }, { "description": "The description of the firmware manifest.", "type": "string", @@ -45045,14 +45331,25 @@ "_key": "description" }, { - "description": "The class of the device.", + "description": "The device class ID.", "type": "string", + "format": "uuid", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "device_class", "readOnly": true, "required": false, "_key": "device_class" }, + { + "description": "The device vendor ID.", + "type": "string", + "format": "uuid", + "example": "00000000-0000-0000-0000-000000000000", + "api_fieldname": "device_vendor", + "readOnly": true, + "required": false, + "_key": "device_vendor" + }, { "description": "The firmware manifest ID.", "type": "string", @@ -45066,22 +45363,52 @@ "description": "The key table of pre-shared keys for devices.", "type": "string", "format": "uri", - "example": "http://example.com", + "example": "http://example.com/key-table", "api_fieldname": "key_table", "readOnly": true, "required": false, "_key": "key_table_url" }, { - "description": "The name of the object.", + "description": "Version of the manifest schema (1 or 3).", + "type": "string", + "enum": [ + "1", + "3" + ], + "api_fieldname": "manifest_schema_version", + "readOnly": true, + "required": false, + "enum_reference": "firmware_manifest_schema_version_enum", + "_key": "manifest_schema_version" + }, + { + "description": "The name of the manifest.", "type": "string", "maxLength": 128, - "example": "default_object_name", + "example": "manifest_name", "api_fieldname": "name", "readOnly": false, "required": false, "_key": "name" }, + { + "description": "Raw manifest in JSON format, parsed from ASN.1 DER encoding.\nFields may change. Backwards compatibility is not guaranteed.\nRecommended for debugging only.\n", + "type": "object", + "api_fieldname": "parsed_raw_manifest", + "readOnly": true, + "required": false, + "_key": "parsed_raw_manifest" + }, + { + "description": "Digest (SHA256, hex-encoded) of the currently installed payload.", + "type": "string", + "example": "54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f", + "api_fieldname": "precursor_payload_digest", + "readOnly": true, + "required": false, + "_key": "precursor_payload_digest" + }, { "description": "The firmware manifest version as a timestamp.", "format": "date-time", @@ -45092,6 +45419,15 @@ "required": false, "_key": "timestamp" }, + { + "description": "Update priority, passed to the application callback when an update is performed. Allows the application to make application-specific decisions.", + "type": "integer", + "format": "int64", + "api_fieldname": "update_priority", + "readOnly": true, + "required": false, + "_key": "update_priority" + }, { "type": "string", "format": "date-time", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 011ca67f5..e836dada4 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33706,15 +33706,49 @@ entities: type: string - _key: datafile_size api_fieldname: datafile_size - description: The size of the datafile in bytes + description: The size of the firmware manifest in bytes. format: int64 readOnly: true required: false type: integer - _key: datafile_url api_fieldname: datafile - description: The URL of the firmware manifest binary + description: The URL of the ASN.1 DER-encoded firmware manifest binary. example: http://example.com/12345678901234567890123456789012 + format: uri + readOnly: true + required: false + type: string + - _key: delivered_payload_digest + api_fieldname: delivered_payload_digest + description: Digest (SHA256, hex-encoded) of the payload to deliver to the device. + example: c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc + format: hex + readOnly: true + required: false + type: string + - _key: delivered_payload_size + api_fieldname: delivered_payload_size + description: The size in bytes of the payload to deliver to the device. + format: int64 + readOnly: true + required: false + type: integer + - _key: delivered_payload_type + api_fieldname: delivered_payload_type + description: Type of the payload to deliver to the device (full or delta image). + enum: + - full + - delta + enum_reference: firmware_manifest_delivered_payload_type_enum + readOnly: true + required: false + type: string + - _key: delivered_payload_url + api_fieldname: delivered_payload_url + description: The URL of the payload to deliver to the device. + example: http://example.com/abcdefghijklmnopqrstuvwxyz + format: uri readOnly: true required: false type: string @@ -33728,8 +33762,17 @@ entities: type: string - _key: device_class api_fieldname: device_class - description: The class of the device. + description: The device class ID. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + readOnly: true + required: false + type: string + - _key: device_vendor + api_fieldname: device_vendor + description: The device vendor ID. example: 00000000-0000-0000-0000-000000000000 + format: uuid readOnly: true required: false type: string @@ -33743,19 +33786,48 @@ entities: - _key: key_table_url api_fieldname: key_table description: The key table of pre-shared keys for devices. - example: http://example.com + example: http://example.com/key-table format: uri readOnly: true required: false type: string + - _key: manifest_schema_version + api_fieldname: manifest_schema_version + description: Version of the manifest schema (1 or 3). + enum: + - '1' + - '3' + enum_reference: firmware_manifest_schema_version_enum + readOnly: true + required: false + type: string - _key: name api_fieldname: name - description: The name of the object. - example: default_object_name + description: The name of the manifest. + example: manifest_name maxLength: 128 readOnly: false required: false type: string + - _key: parsed_raw_manifest + api_fieldname: parsed_raw_manifest + description: 'Raw manifest in JSON format, parsed from ASN.1 DER encoding. + + Fields may change. Backwards compatibility is not guaranteed. + + Recommended for debugging only. + + ' + readOnly: true + required: false + type: object + - _key: precursor_payload_digest + api_fieldname: precursor_payload_digest + description: Digest (SHA256, hex-encoded) of the currently installed payload. + example: 54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f + readOnly: true + required: false + type: string - _key: timestamp api_fieldname: timestamp description: The firmware manifest version as a timestamp. @@ -33764,6 +33836,14 @@ entities: readOnly: true required: false type: string + - _key: update_priority + api_fieldname: update_priority + description: Update priority, passed to the application callback when an update + is performed. Allows the application to make application-specific decisions. + format: int64 + readOnly: true + required: false + type: integer - _key: updated_at api_fieldname: updated_at description: The time the entity was updated. @@ -33808,10 +33888,19 @@ entities: - filter - created_at - updated_at + - manifest_schema_version - datafile_size + - delivered_payload_url + - delivered_payload_size + - delivered_payload_digest + - delivered_payload_type + - precursor_payload_digest - device_class + - device_vendor + - update_priority - id - timestamp + - parsed_raw_manifest - datafile_url - key_table_url field_renames: @@ -33854,9 +33943,9 @@ entities: type: file - _key: name api_fieldname: name - description: The name of the object. + description: The name of the manifest. entity_fieldname: name - example: default_object_name + example: manifest_name in: stream maxLength: 128 parameter_fieldname: name @@ -33893,16 +33982,47 @@ entities: type: string datafile: api_fieldname: datafile - description: The URL of the firmware manifest binary + description: The URL of the ASN.1 DER-encoded firmware manifest binary. entity_fieldname: datafile_url example: http://example.com/12345678901234567890123456789012 + format: uri type: string datafile_size: api_fieldname: datafile_size - description: The size of the datafile in bytes + description: The size of the firmware manifest in bytes. entity_fieldname: datafile_size format: int64 type: integer + delivered_payload_digest: + api_fieldname: delivered_payload_digest + description: Digest (SHA256, hex-encoded) of the payload to deliver to the + device. + entity_fieldname: delivered_payload_digest + example: c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc + format: hex + type: string + delivered_payload_size: + api_fieldname: delivered_payload_size + description: The size in bytes of the payload to deliver to the device. + entity_fieldname: delivered_payload_size + format: int64 + type: integer + delivered_payload_type: + api_fieldname: delivered_payload_type + description: Type of the payload to deliver to the device (full or delta + image). + entity_fieldname: delivered_payload_type + enum: + - full + - delta + type: string + delivered_payload_url: + api_fieldname: delivered_payload_url + description: The URL of the payload to deliver to the device. + entity_fieldname: delivered_payload_url + example: http://example.com/abcdefghijklmnopqrstuvwxyz + format: uri + type: string description: api_fieldname: description description: The description of the firmware manifest. @@ -33912,9 +34032,17 @@ entities: type: string device_class: api_fieldname: device_class - description: The class of the device. + description: The device class ID. entity_fieldname: device_class example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + device_vendor: + api_fieldname: device_vendor + description: The device vendor ID. + entity_fieldname: device_vendor + example: 00000000-0000-0000-0000-000000000000 + format: uuid type: string etag: api_fieldname: etag @@ -33932,14 +34060,22 @@ entities: api_fieldname: key_table description: The key table of pre-shared keys for devices. entity_fieldname: key_table_url - example: http://example.com + example: http://example.com/key-table format: uri type: string + manifest_schema_version: + api_fieldname: manifest_schema_version + description: Version of the manifest schema (1 or 3). + entity_fieldname: manifest_schema_version + enum: + - '1' + - '3' + type: string name: api_fieldname: name - description: The name of the object. + description: The name of the manifest. entity_fieldname: name - example: default_object_name + example: manifest_name maxLength: 128 type: string object: @@ -33947,6 +34083,23 @@ entities: description: 'Entity name: always ''firmware-manifest''.' entity_fieldname: object type: string + parsed_raw_manifest: + api_fieldname: parsed_raw_manifest + description: 'Raw manifest in JSON format, parsed from ASN.1 DER encoding. + + Fields may change. Backwards compatibility is not guaranteed. + + Recommended for debugging only. + + ' + entity_fieldname: parsed_raw_manifest + type: object + precursor_payload_digest: + api_fieldname: precursor_payload_digest + description: Digest (SHA256, hex-encoded) of the currently installed payload. + entity_fieldname: precursor_payload_digest + example: 54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f + type: string timestamp: api_fieldname: timestamp description: The firmware manifest version as a timestamp. @@ -33954,6 +34107,14 @@ entities: example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + update_priority: + api_fieldname: update_priority + description: Update priority, passed to the application callback when an + update is performed. Allows the application to make application-specific + decisions. + entity_fieldname: update_priority + format: int64 + type: integer updated_at: api_fieldname: updated_at description: The time the entity was updated. @@ -34208,21 +34369,50 @@ entities: format: date-time type: string datafile: - description: The URL of the firmware manifest binary + description: The URL of the ASN.1 DER-encoded firmware manifest binary. example: http://example.com/12345678901234567890123456789012 + format: uri type: string datafile_size: - description: The size of the datafile in bytes + description: The size of the firmware manifest in bytes. format: int64 type: integer + delivered_payload_digest: + description: Digest (SHA256, hex-encoded) of the payload to deliver + to the device. + example: c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc + format: hex + type: string + delivered_payload_size: + description: The size in bytes of the payload to deliver to the device. + format: int64 + type: integer + delivered_payload_type: + description: Type of the payload to deliver to the device (full or delta + image). + enum: + - full + - delta + type: string + delivered_payload_url: + description: The URL of the payload to deliver to the device. + example: http://example.com/abcdefghijklmnopqrstuvwxyz + format: uri + type: string description: description: The description of the firmware manifest. example: '' maxLength: 2000 type: string device_class: - description: The class of the device. + description: The device class ID. example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + device_vendor: + description: The device vendor ID. + example: 00000000-0000-0000-0000-000000000000 + format: uuid type: string etag: api_fieldname: etag @@ -34236,22 +34426,48 @@ entities: type: string key_table: description: The key table of pre-shared keys for devices. - example: http://example.com + example: http://example.com/key-table format: uri type: string + manifest_schema_version: + description: Version of the manifest schema (1 or 3). + enum: + - '1' + - '3' + type: string name: - description: The name of the object. - example: default_object_name + description: The name of the manifest. + example: manifest_name maxLength: 128 type: string object: description: 'Entity name: always ''firmware-manifest''.' type: string + parsed_raw_manifest: + description: 'Raw manifest in JSON format, parsed from ASN.1 DER encoding. + + Fields may change. Backwards compatibility is not guaranteed. + + Recommended for debugging only. + + ' + type: object + precursor_payload_digest: + description: Digest (SHA256, hex-encoded) of the currently installed + payload. + example: 54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f + type: string timestamp: description: The firmware manifest version as a timestamp. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + update_priority: + description: Update priority, passed to the application callback when + an update is performed. Allows the application to make application-specific + decisions. + format: int64 + type: integer updated_at: api_fieldname: updated_at description: The time the entity was updated. @@ -34372,11 +34588,20 @@ entities: - filter - created_at - updated_at + - manifest_schema_version - datafile_size + - delivered_payload_url + - delivered_payload_size + - delivered_payload_digest + - delivered_payload_type + - precursor_payload_digest - description - device_class + - device_vendor + - update_priority - name - timestamp + - parsed_raw_manifest - datafile_url - key_table_url field_renames: @@ -34421,16 +34646,47 @@ entities: type: string datafile: api_fieldname: datafile - description: The URL of the firmware manifest binary + description: The URL of the ASN.1 DER-encoded firmware manifest binary. entity_fieldname: datafile_url example: http://example.com/12345678901234567890123456789012 + format: uri type: string datafile_size: api_fieldname: datafile_size - description: The size of the datafile in bytes + description: The size of the firmware manifest in bytes. entity_fieldname: datafile_size format: int64 type: integer + delivered_payload_digest: + api_fieldname: delivered_payload_digest + description: Digest (SHA256, hex-encoded) of the payload to deliver to the + device. + entity_fieldname: delivered_payload_digest + example: c520fc771c0482ad39e983d27cf725a7c724fe58c616129a34a420d1941068bc + format: hex + type: string + delivered_payload_size: + api_fieldname: delivered_payload_size + description: The size in bytes of the payload to deliver to the device. + entity_fieldname: delivered_payload_size + format: int64 + type: integer + delivered_payload_type: + api_fieldname: delivered_payload_type + description: Type of the payload to deliver to the device (full or delta + image). + entity_fieldname: delivered_payload_type + enum: + - full + - delta + type: string + delivered_payload_url: + api_fieldname: delivered_payload_url + description: The URL of the payload to deliver to the device. + entity_fieldname: delivered_payload_url + example: http://example.com/abcdefghijklmnopqrstuvwxyz + format: uri + type: string description: api_fieldname: description description: The description of the firmware manifest. @@ -34440,9 +34696,17 @@ entities: type: string device_class: api_fieldname: device_class - description: The class of the device. + description: The device class ID. entity_fieldname: device_class example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + device_vendor: + api_fieldname: device_vendor + description: The device vendor ID. + entity_fieldname: device_vendor + example: 00000000-0000-0000-0000-000000000000 + format: uuid type: string etag: api_fieldname: etag @@ -34460,14 +34724,22 @@ entities: api_fieldname: key_table description: The key table of pre-shared keys for devices. entity_fieldname: key_table_url - example: http://example.com + example: http://example.com/key-table format: uri type: string + manifest_schema_version: + api_fieldname: manifest_schema_version + description: Version of the manifest schema (1 or 3). + entity_fieldname: manifest_schema_version + enum: + - '1' + - '3' + type: string name: api_fieldname: name - description: The name of the object. + description: The name of the manifest. entity_fieldname: name - example: default_object_name + example: manifest_name maxLength: 128 type: string object: @@ -34475,6 +34747,23 @@ entities: description: 'Entity name: always ''firmware-manifest''.' entity_fieldname: object type: string + parsed_raw_manifest: + api_fieldname: parsed_raw_manifest + description: 'Raw manifest in JSON format, parsed from ASN.1 DER encoding. + + Fields may change. Backwards compatibility is not guaranteed. + + Recommended for debugging only. + + ' + entity_fieldname: parsed_raw_manifest + type: object + precursor_payload_digest: + api_fieldname: precursor_payload_digest + description: Digest (SHA256, hex-encoded) of the currently installed payload. + entity_fieldname: precursor_payload_digest + example: 54d640fcd687c9b13420b9be66a265494899002aad1b7370cfb3dbfd7fbec42f + type: string timestamp: api_fieldname: timestamp description: The firmware manifest version as a timestamp. @@ -34482,6 +34771,14 @@ entities: example: '2017-05-22T12:37:55.576563Z' format: date-time type: string + update_priority: + api_fieldname: update_priority + description: Update priority, passed to the application callback when an + update is performed. Allows the application to make application-specific + decisions. + entity_fieldname: update_priority + format: int64 + type: integer updated_at: api_fieldname: updated_at description: The time the entity was updated. @@ -73341,6 +73638,14 @@ enums: values: - ASC - DESC +- _key: firmware_manifest_delivered_payload_type_enum + entity_name: firmware_manifest + enum_name: firmware_manifest_delivered_payload_type_enum + field_name: delivered_payload_type + group_id: Device_Update + values: + - delta + - full - _key: firmware_manifest_order_enum entity_name: firmware_manifest enum_name: firmware_manifest_order_enum @@ -73349,6 +73654,14 @@ enums: values: - ASC - DESC +- _key: firmware_manifest_schema_version_enum + entity_name: firmware_manifest + enum_name: firmware_manifest_schema_version_enum + field_name: manifest_schema_version + group_id: Device_Update + values: + - '1' + - '3' - _key: identity_provider_algorithm_enum entity_name: identity_provider enum_name: identity_provider_algorithm_enum @@ -73879,6 +74192,8 @@ groups: - campaign_statistics_summary_status_enum - campaign_statistics_id_enum - firmware_image_order_enum + - firmware_manifest_schema_version_enum + - firmware_manifest_delivered_payload_type_enum - firmware_manifest_order_enum - _key: Devices entities: From 9aa26e39c8f4b7e76d35906757fd11af2428d3a6 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 27 Nov 2019 12:06:11 +0000 Subject: [PATCH 022/111] new SDK config changes via api-contract @ 2019-11-27 12:06 --- .../public/pelion_dm_public_openapi.yaml | 322 ++++++++++++++---- 1 file changed, 257 insertions(+), 65 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 75e8a037a..caf352c28 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -877,6 +877,13 @@ definitions: type: string x-nullable: true type: object + ActiveDevicesCounter: + description: Active device count is the total number of unique active devices + connected to Device Management. A device is considered active when it has registered + at least once over a billing period. + format: int64 + minimum: 0 + type: integer ActiveServicePackage: description: An active service package. properties: @@ -998,6 +1005,7 @@ definitions: - package_renewal - package_creation - package_termination + - package_tokens_edit type: string required: - account_id @@ -1345,6 +1353,17 @@ definitions: - trusted_certificate_id - created_at - object + BootstrapRequestsCounter: + description: The number of bootstrap requests received from devices. + format: int64 + minimum: 0 + type: integer + BootstrapsCounter: + description: The total number of successful bootstrap operations in the requested + time. + format: int64 + minimum: 0 + type: integer BrandingColor: properties: color: @@ -3416,6 +3435,38 @@ definitions: - method - uri type: object + DeviceToPelionMessagesCounter: + description: The number of messages from the device to Device Management. + properties: + bootstrap_requests: + $ref: '#/definitions/BootstrapRequestsCounter' + est_requests: + $ref: '#/definitions/EstRequestsCounter' + observations: + $ref: '#/definitions/ObservationsCounter' + proxy_responses: + $ref: '#/definitions/ProxyResponsesCounter' + registration_deletes: + $ref: '#/definitions/RegistrationDeletesCounter' + registration_updates: + $ref: '#/definitions/RegistrationUpdatesCounter' + registrations: + $ref: '#/definitions/RegistrationsCounter' + total_count: + description: The number of all inbound requests from devices to Device Management. + format: int64 + minimum: 0 + type: integer + required: + - total_count + - registrations + - registration_updates + - registration_deletes + - observations + - est_requests + - proxy_responses + - bootstrap_requests + type: object EndpointData: properties: ep: @@ -3633,6 +3684,12 @@ definitions: - request_id - type type: object + EstRequestsCounter: + description: The number of certificate creation requests received from devices + during bootstrap. + format: int64 + minimum: 0 + type: integer EventType: properties: campaign_id: @@ -4166,6 +4223,12 @@ definitions: total_count: format: int32 type: integer + FirmwareUpdatesCounter: + description: The total number of successful firmware update operations in the + requested time. + format: int64 + minimum: 0 + type: integer ForbiddenErrorResponse: description: 403 Forbidden. properties: @@ -4990,6 +5053,11 @@ definitions: required: - issuer type: object + ObservationsCounter: + description: The number of resource observation event requests received from devices. + format: int64 + minimum: 0 + type: integer ParentAccountInfo: description: Represents parent account contact details in responses. properties: @@ -5022,6 +5090,29 @@ definitions: required: - minimum_length type: object + PelionToDeviceMessagesCounter: + description: The number of messages from Device Management to the device. + properties: + proxy_requests: + $ref: '#/definitions/ProxyRequestsCounter' + subscriptions: + $ref: '#/definitions/SubscriptionsCounter' + total_count: + description: The number of all outbound requests sent to devices. + format: int64 + minimum: 0 + type: integer + required: + - total_count + - proxy_requests + - subscriptions + type: object + PelionToWebappNotificationsCounter: + description: The number of notifications from Device Management to the web application + or portal. + format: int64 + minimum: 0 + type: integer PendingServicePackage: description: A pending service package. properties: @@ -5181,6 +5272,16 @@ definitions: - firmware_update_count - reason type: object + ProxyRequestsCounter: + description: The number of device command requests sent to devices. + format: int64 + minimum: 0 + type: integer + ProxyResponsesCounter: + description: The number of device command responses received from devices. + format: int64 + minimum: 0 + type: integer QuotaUsageReport: description: Account quota usage entry for queried month. properties: @@ -5207,6 +5308,7 @@ definitions: - package_renewal - package_creation - package_termination + - package_tokens_edit type: string required: - amount @@ -5221,6 +5323,21 @@ definitions: $ref: '#/definitions/SerializationConfigData' type: object type: object + RegistrationDeletesCounter: + description: The number of deregistration requests received from devices. + format: int64 + minimum: 0 + type: integer + RegistrationUpdatesCounter: + description: The number of device registration update requests received from devices. + format: int64 + minimum: 0 + type: integer + RegistrationsCounter: + description: The number of full device registration requests received from devices. + format: int64 + minimum: 0 + type: integer ReportAccountContactInfo: description: Account contact information. properties: @@ -5228,6 +5345,15 @@ definitions: type: string address_line2: type: string + alias: + type: string + business_model: + description: The business model selected for the account to generate the billing + reports. + enum: + - active_device_business_model + - api_calls_1_business_model + type: string city: type: string company: @@ -5254,18 +5380,22 @@ definitions: ReportBillingData: properties: active_devices: - format: int64 - minimum: 0 - type: integer + $ref: '#/definitions/ActiveDevicesCounter' + bootstraps: + $ref: '#/definitions/BootstrapsCounter' + device_to_pelion_messages: + $ref: '#/definitions/DeviceToPelionMessagesCounter' firmware_updates: - format: int64 - minimum: 0 - type: integer + $ref: '#/definitions/FirmwareUpdatesCounter' generated: description: Billing report generated time in RFC3339 date-time with millisecond accuracy and UTC time zone. format: date-time type: string + pelion_to_device_messages: + $ref: '#/definitions/PelionToDeviceMessagesCounter' + pelion_to_webapp_notifications: + $ref: '#/definitions/PelionToWebappNotificationsCounter' period_end: description: Billing report end time in RFC3339 date-time with millisecond accuracy and UTC time zone. @@ -5276,10 +5406,14 @@ definitions: accuracy and UTC time zone. format: date-time type: string + rest_api_requests_with_api_key_tokens: + $ref: '#/definitions/RestApiRequestsWithApiKeyTokenCounter' + rest_api_requests_with_user_tokens: + $ref: '#/definitions/RestApiRequestsWithUserTokenCounter' sda_tokens: - format: int64 - minimum: 0 - type: integer + $ref: '#/definitions/SdaTokensCounter' + transactions: + $ref: '#/definitions/TransactionsCounter' required: - generated - period_start @@ -5327,7 +5461,7 @@ definitions: description: Account contact information. aggregated: $ref: '#/definitions/ReportBillingData' - description: Aggregated report billing data including all subtenant accounts, + description: Aggregated report billing data including all tenant accounts, if any. billing_data: $ref: '#/definitions/ReportBillingData' @@ -5346,10 +5480,10 @@ definitions: type: string service_package: $ref: '#/definitions/ServicePackageReport' - description: Report service package. + description: Service package report. subtenants: - description: List of billing reports for subtenant accounts. Empty list if - account does not have any subtenant account. + description: List of billing reports for tenant accounts. Empty list if account + does not have any tenant account. items: $ref: '#/definitions/SubtenantAccountReport' type: array @@ -5423,6 +5557,18 @@ definitions: example: light_sensor type: string type: object + RestApiRequestsWithApiKeyTokenCounter: + description: The number of REST API requests from API key sessions in web applications + or other service integrations. + format: int64 + minimum: 0 + type: integer + RestApiRequestsWithUserTokenCounter: + description: The number of REST API requests from user sessions in Device Management + Portal. + format: int64 + minimum: 0 + type: integer SAML2Info: description: Represents SAML2 specific attributes in responses. properties: @@ -5491,6 +5637,13 @@ definitions: description: URL of the identity provider's SSO endpoint. type: string type: object + SdaTokensCounter: + description: The total number of devices included in the Secure Device Access + tokens used in the requested time. A single Secure Device Access token can be + linked to multiple endpoint names. + format: int64 + minimum: 0 + type: integer SerializationConfigData: properties: cfg: @@ -5665,16 +5818,17 @@ definitions: - package_creation - package_renewal - package_termination + - package_tokens_edit type: string reservation: $ref: '#/definitions/ServicePackageQuotaHistoryReservation' - description: Reservation details if reason is `reservation`, `reservation_releasem` + description: Reservation details if reason is `reservation`, `reservation_release` or `reservation_termination`. type: object service_package: $ref: '#/definitions/ServicePackageQuotaHistoryServicePackage' - description: Service package details if reason is `package_creation`, `package_renewal` - or `package_termination`. + description: Service package details if reason is `package_creation`, `package_renewal`, + `package_termination`, or `package_tokens_edit`. type: object required: - id @@ -5732,6 +5886,9 @@ definitions: enum: - service-package-quota-history type: string + order: + description: History item record order based on creation time. + type: string total_count: description: Sum of all quota history entries that should be returned. format: int32 @@ -5743,6 +5900,7 @@ definitions: - has_more - limit - total_count + - order type: object ServicePackageQuotaHistoryServicePackage: description: Service package quota history service package object. @@ -5832,33 +5990,47 @@ definitions: type: string type: array type: object + SubscriptionsCounter: + description: The number of subscription requests sent to devices. + format: int64 + minimum: 0 + type: integer SubscriptionsList: description: A list of resource URIs, one per line. example: /sen/light type: string SubtenantAccountReport: - description: Billing report for subtenant account. + description: Billing report for tenant account. properties: account: $ref: '#/definitions/SubtenantReportAccountContactInfo' - description: Subtenant account contact information. + description: Tenant account contact information. billing_data: $ref: '#/definitions/ReportBillingData' description: Report billing data. service_package: $ref: '#/definitions/SubtenantServicePackageReport' - description: Report service package for subtenant account. + description: service package report for the tenant. required: - account - billing_data type: object SubtenantReportAccountContactInfo: - description: Subtenant account contact information. + description: Tenant account contact information. properties: address_line1: type: string address_line2: type: string + alias: + type: string + business_model: + description: The business model selected for the account to generate the billing + reports. + enum: + - active_device_business_model + - api_calls_1_business_model + type: string city: type: string company: @@ -5868,7 +6040,7 @@ definitions: country: type: string customer_subtenant_id: - description: Account subtenant ID, if a subtenant. + description: Account tenant ID, valid only for tenants. type: string email: type: string @@ -5895,6 +6067,15 @@ definitions: required: - quota_usage type: object + TransactionsCounter: + description: A transaction is a data block of 512 bytes processed by Device Management. + It can be sent either by the device (device --> Device Management) or received + by the device (Device Management --> device). A transaction does not include + IP, TCP or UDP, TLS or DTLS packet overhead. It only contains the packet payload + (full CoAP packet including CoAP headers). + format: int64 + minimum: 0 + type: integer TrustedCertificateReq: description: Represents a trusted certificate in upload requests. properties: @@ -15456,23 +15637,15 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/billing-report: get: - description: 'Fetch the billing report generated for the currently authenticated - commercial non-subtenant account. - - Billing reports for subtenant accounts are included in their aggregator''s - billing report response. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-report?month=2018-07 - \ - - -H ''Authorization: Bearer '' - - ```' + description: "Fetch the billing report generated for the currently authenticated\ + \ commercial non-tenant account. The billing reports for\ntenant accounts\ + \ are included in their aggregator's billing report response. The response\ + \ contains below additional counters\nwhen the account's business model is\ + \ set to `API calls` in the Admin Console.\n - rest_api_requests_with_user_token\n\ + \ - rest_api_requests_with_api_key_token\n - pelion_to_webapp_notifications\n\ + \ - device_to_pelion_messages\n - pelion_to_device_messages\n\n**Example:**\n\ + ```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-report?month=2018-07\ + \ \\\n-H 'Authorization: Bearer '\n```" operationId: getBillingReport parameters: - description: Queried year and month of billing report. @@ -15527,14 +15700,14 @@ paths: campaign_name: example-account-campaign-name time: 2016-09-02T00:00.000Z type: reservation - - account_id: example-subtenant-account-1 + - account_id: example-tenant-account-1 amount: -20 - campaign_name: example-subtenant-account-1-campaign-name + campaign_name: example-tenant-account-1-campaign-name time: 2016-09-03T00:00.000Z type: reservation - - account_id: example-subtenant-account-2 + - account_id: example-tenant-account-2 amount: -30 - campaign_name: example-subtenant-account-2-campaign-name + campaign_name: example-tenant-account-2-campaign-name time: 2016-09-04T00:00.000Z type: reservation metadata: @@ -15556,12 +15729,12 @@ paths: address_line1: null address_line2: null city: null - company: example-subtenant-company-1 + company: example-tenant-company-1 contact: null country: null - customer_subtenant_id: example-customer-subtenant-id-1 + customer_tenant_id: example-customer-tenant-id-1 email: null - id: example-subtenant-account-1 + id: example-tenant-account-1 phone_number: null postal_code: null state: null @@ -15575,19 +15748,19 @@ paths: service_package: quota_usage: - amount: -20 - campaign_name: example-subtenant-account-1-campaign-name + campaign_name: example-tenant-account-1-campaign-name time: 2016-09-03T00:00.000Z type: reservation - account: address_line1: null address_line2: null city: null - company: example-subtenant-company-2 + company: example-tenant-company-2 contact: null country: null - customer_subtenant_id: example-customer-subtenant-id-2 + customer_tenant_id: example-customer-tenant-id-2 email: null - id: example-subtenant-account-2 + id: example-tenant-account-2 phone_number: null postal_code: null state: null @@ -15601,7 +15774,7 @@ paths: service_package: quota_usage: - amount: -30 - campaign_name: example-subtenant-account-2-campaign-name + campaign_name: example-tenant-account-2-campaign-name time: 2016-09-04T00:00.000Z type: reservation schema: @@ -15632,7 +15805,7 @@ paths: schema: $ref: '#/definitions/UnauthorizedErrorResponse' 403: - description: Access forbidden if account is not commercial or subtenant. + description: Access forbidden if account is not commercial or tenant. examples: application/json: code: 403 @@ -15667,16 +15840,18 @@ paths: schema: $ref: '#/definitions/InternalServerErrorResponse' summary: Get billing report. + tags: + - Usage - billing reports x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/billing-report-active-devices: get: description: 'Fetch raw billing data for active devices for the currently authenticated - commercial non-subtenant account. + commercial non-tenant account. - This is supplementary data for the billing report. The raw billing data of - the active devices for subtenant accounts - are included in their aggregator''s raw billing data of the active devices. + This is supplementary data for the billing report. The raw billing data of + the active devices for tenant accounts are included in their aggregator''s + raw billing data of the active devices. The endpoint returns the URL to download the gzipped CSV file. The first line @@ -15739,7 +15914,7 @@ paths: schema: $ref: '#/definitions/UnauthorizedErrorResponse' 403: - description: Access forbidden if account is not commercial or subtenant. + description: Access forbidden if account is not commercial or tenant. examples: application/json: code: 403 @@ -15772,16 +15947,18 @@ paths: schema: $ref: '#/definitions/InternalServerErrorResponse' summary: Get raw billing data of the active devices for the month. + tags: + - Usage - billing reports x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/billing-report-firmware-updates: get: description: 'Fetch raw billing data for firmware updates for the currently - authenticated commercial non-subtenant account. + authenticated commercial non-tenant account. - This is supplementary data for the billing report. The raw billing data of - the firmware updates for subtenant accounts - are included in their aggregator''s raw billing data of the firmware updates. + This is supplementary data for the billing report. The raw billing data of + the firmware updates for tenant accounts are included in their aggregator''s + raw billing data of the firmware updates. The endpoint returns the URL to download the gzipped CSV file. The first line @@ -15844,7 +16021,7 @@ paths: schema: $ref: '#/definitions/UnauthorizedErrorResponse' 403: - description: Access forbidden if account is not commercial or subtenant. + description: Access forbidden if account is not commercial or tenant. examples: application/json: code: 403 @@ -15877,6 +16054,8 @@ paths: schema: $ref: '#/definitions/InternalServerErrorResponse' summary: Get raw billing data of the firmware updates for the month. + tags: + - Usage - billing reports x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/branding-colors: delete: @@ -25544,6 +25723,8 @@ paths: schema: $ref: '#/definitions/InternalServerErrorResponse' summary: Get all service packages. + tags: + - Usage - billing reports x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/service-packages-quota: get: @@ -25606,14 +25787,15 @@ paths: schema: $ref: '#/definitions/InternalServerErrorResponse' summary: Service package quota. + tags: + - Usage - billing reports x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/service-packages-quota-history: get: description: 'Get your quota usage history. This API is available only for commercial - accounts. Aggregator accounts can see their own and subtenant quota usage - data. + accounts. Aggregator accounts can see their own and tenant quota usage data. - Data is in ascending order based on the added timestamp. + Data is in ascending order based on creation time. **Example:** @@ -25644,6 +25826,14 @@ paths: name: after required: false type: string + - description: 'Record order. Acceptable values: ASC, DESC. Default: ASC.' + enum: + - ASC + - DESC + in: query + name: order + required: false + type: string responses: 200: description: Quota history for the currently authenticated commercial account. @@ -25667,7 +25857,7 @@ paths: id: b0817554677248a1b038d7fcd2c020c5 reason: reservation reservation: - account_id: TEST-commercial.5f1edb5c-c61d-11e7-a05a-00155d004e00 + account_id: 10171c6f56084c4f8b53210762650246 campaign_name: campaign id: b5322aabe29d458ea6e4402594085a15 service_package: null @@ -25711,6 +25901,8 @@ paths: schema: $ref: '#/definitions/InternalServerErrorResponse' summary: Service package quota history. + tags: + - Usage - service packages x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/trusted-certificates: get: From 89cb4daa6b2895c160bafee2a7a48fb4640c6ebf Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 3 Dec 2019 12:34:22 +0000 Subject: [PATCH 023/111] new SDK config changes via api-contract @ 2019-12-03 12:34 --- api_specifications/public/pelion_dm_public_openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index caf352c28..985c46e6a 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -5381,8 +5381,6 @@ definitions: properties: active_devices: $ref: '#/definitions/ActiveDevicesCounter' - bootstraps: - $ref: '#/definitions/BootstrapsCounter' device_to_pelion_messages: $ref: '#/definitions/DeviceToPelionMessagesCounter' firmware_updates: @@ -5412,8 +5410,6 @@ definitions: $ref: '#/definitions/RestApiRequestsWithUserTokenCounter' sda_tokens: $ref: '#/definitions/SdaTokensCounter' - transactions: - $ref: '#/definitions/TransactionsCounter' required: - generated - period_start From ba353c86d8657d7410d3f3212437d2944544b5af Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 17 Dec 2019 15:02:20 +0000 Subject: [PATCH 024/111] new SDK config changes via api-contract @ 2019-12-17 15:02 --- api_specifications/public/pelion_dm_public_openapi.yaml | 7 ++++--- api_specifications/public/sdk_foundation_definition.json | 6 +++--- api_specifications/public/sdk_foundation_definition.yaml | 7 ++++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 985c46e6a..853b2b5ef 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -22581,7 +22581,8 @@ paths: ' operationId: Firmware_Image_create parameters: - - description: The firmware image file to upload. + - description: The firmware image file to upload. File name must not exceed + 100 characters. in: formData name: datafile required: true @@ -23783,7 +23784,7 @@ paths: operationId: Firmware_Manifest_create parameters: - description: The manifest file to create. The API gateway enforces the account-specific - file size. + file size. File name must not exceed 100 characters. in: formData name: datafile required: true @@ -23794,7 +23795,7 @@ paths: required: false type: string - description: The key table of pre-shared keys for devices. The table is generated - by the manifest tool. + by the manifest tool. File name must not exceed 100 characters. in: formData name: key_table required: false diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 9f5a53bfe..959739fd0 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -43378,7 +43378,7 @@ "_key": "description" }, { - "description": "The firmware image file to upload.", + "description": "The firmware image file to upload. File name must not exceed 100 characters.", "in": "stream", "name": "datafile", "required": true, @@ -44223,7 +44223,7 @@ "_key": "description" }, { - "description": "The manifest file to create. The API gateway enforces the account-specific file size.", + "description": "The manifest file to create. The API gateway enforces the account-specific file size. File name must not exceed 100 characters.", "in": "stream", "name": "datafile", "required": true, @@ -44235,7 +44235,7 @@ "_key": "firmware_manifest_file" }, { - "description": "The key table of pre-shared keys for devices. The table is generated by the manifest tool.", + "description": "The key table of pre-shared keys for devices. The table is generated by the manifest tool. File name must not exceed 100 characters.", "in": "stream", "name": "key_table", "required": false, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index e836dada4..45beed37a 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33084,7 +33084,8 @@ entities: type: string - _key: firmware_image_file api_fieldname: datafile - description: The firmware image file to upload. + description: The firmware image file to upload. File name must not exceed 100 + characters. entity_fieldname: firmware_image_file external_param: true in: stream @@ -33922,7 +33923,7 @@ entities: - _key: firmware_manifest_file api_fieldname: datafile description: The manifest file to create. The API gateway enforces the account-specific - file size. + file size. File name must not exceed 100 characters. entity_fieldname: firmware_manifest_file external_param: true in: stream @@ -33933,7 +33934,7 @@ entities: - _key: key_table_file api_fieldname: key_table description: The key table of pre-shared keys for devices. The table is generated - by the manifest tool. + by the manifest tool. File name must not exceed 100 characters. entity_fieldname: key_table_file external_param: true in: stream From 8c2d3cbdb053616c1c6af22c7697ab27381e7a82 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 19 Dec 2019 08:18:04 +0000 Subject: [PATCH 025/111] new SDK config changes via api-contract @ 2019-12-19 08:18 --- api_specifications/public/pelion_dm_public_openapi.yaml | 2 +- api_specifications/public/sdk_foundation_definition.json | 8 ++++---- api_specifications/public/sdk_foundation_definition.yaml | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 853b2b5ef..1c9981434 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -3898,7 +3898,7 @@ definitions: properties: created_at: *id013 datafile: - description: The firmware image file URL + description: The firmware image file URL. example: http://example.com/00000000000000000000000000000000 type: string datafile_checksum: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 959739fd0..44dfcb6d2 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -43443,7 +43443,7 @@ "entity_fieldname": "object" }, "datafile": { - "description": "The firmware image file URL", + "description": "The firmware image file URL.", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "datafile", @@ -43731,7 +43731,7 @@ "type": "string" }, "datafile": { - "description": "The firmware image file URL", + "description": "The firmware image file URL.", "type": "string", "example": "http://example.com/00000000000000000000000000000000" }, @@ -44007,7 +44007,7 @@ "entity_fieldname": "object" }, "datafile": { - "description": "The firmware image file URL", + "description": "The firmware image file URL.", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "datafile", @@ -44131,7 +44131,7 @@ "_key": "datafile_size" }, { - "description": "The firmware image file URL", + "description": "The firmware image file URL.", "type": "string", "example": "http://example.com/00000000000000000000000000000000", "api_fieldname": "datafile", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 45beed37a..723f950fd 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -32996,7 +32996,7 @@ entities: type: integer - _key: datafile_url api_fieldname: datafile - description: The firmware image file URL + description: The firmware image file URL. example: http://example.com/00000000000000000000000000000000 readOnly: true required: false @@ -33133,7 +33133,7 @@ entities: type: string datafile: api_fieldname: datafile - description: The firmware image file URL + description: The firmware image file URL. entity_fieldname: datafile_url example: http://example.com/00000000000000000000000000000000 type: string @@ -33424,7 +33424,7 @@ entities: format: date-time type: string datafile: - description: The firmware image file URL + description: The firmware image file URL. example: http://example.com/00000000000000000000000000000000 type: string datafile_checksum: @@ -33617,7 +33617,7 @@ entities: type: string datafile: api_fieldname: datafile - description: The firmware image file URL + description: The firmware image file URL. entity_fieldname: datafile_url example: http://example.com/00000000000000000000000000000000 type: string From 3fe2c36f7c1d5fb79e204b45b5c6287b616f996a Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 19 Dec 2019 12:33:29 +0000 Subject: [PATCH 026/111] new SDK config changes via api-contract @ 2019-12-19 12:33 --- .../public/pelion_dm_public_openapi.yaml | 141 +++++++++++------- 1 file changed, 83 insertions(+), 58 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 1c9981434..a612b53b9 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1225,26 +1225,33 @@ definitions: description: "\nStates whether sending a command to the device succeeded or\ \ failed.\n\n\n \n \n \n \n\ \ \n \n \n \n \n\ - \ \n \n \n \n\ - \ \n \n\ - \ \n \n \n\ - \ \n \n \n \n \n\ - \ \n \n \n \n \n \n \ - \ \n \n \n \n\ - \ \n \n\ - \ \n \n \n \n \n \n\ - \ \n \n \n
CodeDescription
200Operation succeeded. The playload contains result of the operation\ - \ from the device.
404Endpoint does not have requested resource.
412Precondition failed and\ - \ operation was not executed. Device responded with 4.12 CoAP response code.
413Request entity\ - \ is too large and could not be delivered to the device.
415Endpoint does not support\ - \ media type.
429Expired request was removed from queue (REQUEST_EXPIRED), device\ - \ requested deregistration (DEVICE_REMOVED_REGISTRATION), or device was\ - \ suspended (DEVICE_BLOCKED).
502Request to the device failed and retry count exceeded. Last retry\ - \ failed to establish TCP or TLS connection to endpoint.
503Request to the device failed\ - \ and retry count exceeded. Last retry failed because endpoint is currently\ - \ unavailable (NOT_CONNECTED).
504Request to the device failed and retry count exceeded. Last retry\ - \ failed, as device did not respond in the time of protocol-specific retransmission\ - \ logic (TIMEOUT).
\n" + \
Operation succeeded. The payload contains result of the operation\ + \ from the device.
400The device rejected the request, possibly because it does not\ + \ support the request method.\n See how the supported methods are\n\ + \ [configured for the device resources](../connecting/collecting-resources.html#setting-the-operation-mode).
404The device replied\ + \ that it does not have the requested resource.
412Precondition failed and the operation\ + \ was not executed. The device responded with 4.12 CoAP\n response\ + \ code. The device may reject a subscription request with this response\ + \ code.
413Request\ + \ entity is too large and could not be delivered to the device.
415The device does\ + \ not support the media type in the request.
429An expired request was removed from\ + \ queue (REQUEST_EXPIRED),\n the device requested deregistration (DEVICE_REMOVED_REGISTRATION),\n\ + \ or the device was suspended (DEVICE_BLOCKED). The request was never\ + \ delivered to the device.
502The request to the device failed and the retry count was exceeded.\n\ + \ The last retry failed to establish TCP or TLS connection to the device.
503The request to\ + \ the device failed and the retry count was exceeded.\n The last retry\ + \ failed, because the device is currently unavailable (NOT_CONNECTED).
504The request to\ + \ the device failed and the retry count was exceeded.\n The last retry\ + \ failed, because the device did not respond in time according to the protocol-specific\n\ + \ retransmission logic (TIMEOUT).
\n" example: 200 type: integer type: object @@ -7532,51 +7539,58 @@ paths: on a device. - The `async-id` is provided by the client, enabling the client to track the - end-to-end flow with an identifier + The `async-id` is provided by the REST client, enabling the REST client to + track the end-to-end flow with an - that is relevant to the end application. For example, a web application''s - session ID along with the device ID + identifier relevant to the end application. It can be, for example, a UUID + or the web application''s session ID - and the resource path could be used as the `async-id`. This also avoids any - race conditions with + along with the device ID and the resource. This also prevents any race conditions + with - [the notification channel](/docs/current/integrate-web-app/event-notification.html). + [the notification channel](../integrate-web-app/event-notification.html). All responses are sent through the - currently configured notification channel as an **AsyncIDResponse**. + currently configured notification channel as an + + [AsyncIDResponse](../service-api-references/device-management-connect.html#AsyncIDResponse). For `GET` methods, values may be fetched from an internal cache, instead of contacting the device. - The server queues requests if it cannot reach the device at the time of the - request. The queue is limited to 20 + The server puts the requests in a queue if it cannot reach the device at the + time of the request. The queue + + is limited to 20 requests. - requests. The queueing behaviour is affected by the `retry` and the `expiry-seconds` + The queueing behaviour is affected by the `retry` and the `expiry-seconds` parameters. If the device is not reached, or the device fails to respond when the request is made, the server queues the request - and retries within the given expiry period the next time the device contacts - the server. The requests from + and retries the delivery within the given expiry period the next time the + device contacts the server. - the queue are delivered in the order of insertion, one at a time, and not - concurrently. + The requests from the queue are delivered in the order of insertion, one at + a time, and not concurrently. - One delivery attempt consist from protocol specific retrasmission logic, where - is multiple trasmissions. In case + A delivery attempt follows the protocol-specific retransmission logic. Depending + on the protocol, there - of CoAP, the retrasmissions exponential backoff 2, 4, 8, 16 to 64 seconds, - taking total over 2 minutes. + can be multiple transmissions. For CoAP, the retransmissions have an exponential + backoff - If the device does not respond within this two-minute period, delivery fails, - and the request is put back + of 2, 4, 8, 16, and up to 64 seconds, taking in total over 2 minutes. - in the queue so long as the retry count is less than its maximum. + If the device does not respond within this two-minute period, the delivery + fails, one `retry` is used, and + + the request is put back into the queue so long as the retry count is less + than its maximum. For a queue-mode device, the request delivery is not attempted immediately, @@ -7588,17 +7602,25 @@ paths: If retries are exhausted or the expiry time has passed, then the server discards the request and sends an error - in **AsyncIDResponse**. The retries could be exhausted, for example, if the - device periodically contacts + in [AsyncIDResponse](../service-api-references/device-management-connect.html#AsyncIDResponse). + The retries + + could be exhausted, for example, if the device periodically contacts the server and receives the request from the queue, but then fails to respond back to the server. - On the other hand, the device might lose its network connectivity, and the - requests in the queue might expire + On the other hand, the device may lose its network connectivity, and the requests + in the queue may expire - and get discarded before the device regains the connectivity. + and get discarded before the device regains connectivity. If the request was + delivered to the device, + + the status code in `AsyncIDResponse` is *2xx* or *4xx*, as responded by the + device. If the request could not be + + delivered, the status code generated by the server is *429* or *5xx*. You can write [Notification Rules](../connecting/resource-change-webapp.html#notification-rules) @@ -7691,11 +7713,11 @@ paths: pattern: ^[\w\-]{1,40}$ required: true type: string - - description: The count of retry transmissions of the request to the device, - after initial transmission. For example, retry of two means three delivery - attempts in total. If retries are exhausted, the request is discarded and - an error is delivered in the AsyncIDResponse. Default value of retry is - 0 for a non-queue-mode device and 2 for a queue-mode device. + - description: The number of attempts to deliver the request to the device after + the first delivery attempt. For example, two retries sums up to the total + of three delivery attempts. If retries are exhausted, the request is discarded + and an error is delivered in the AsyncIDResponse. The default value of retries + for a non-queue mode device is 0 and 2 for for a queue-mode device. in: query maximum: 10 minimum: 0 @@ -7704,8 +7726,9 @@ paths: type: integer - description: The time period during which the delivery is attempted, in seconds. If the device is not reachable within this period, the request is discarded - and an error is delivered in the AsyncIDResponse. Default value of expiry-seconds - is 2 hours for a non-queue-mode device and 3 days for a queue-mode device. + and an error is delivered in the AsyncIDResponse. The default value of expiry + seconds for a non-queue mode device is two hours and three days for a queue-mode + device. in: query maximum: 2592000 minimum: 60 @@ -7724,8 +7747,10 @@ paths: 202: description: Accepted. 400: - description: Bad request. Contains one of the errors RESOURCE_NOT_FOUND, - DEVICE_NOT_CONNECTED, MALFORMED_JSON_CONTENT, MALFORMED_ASYNC_ID and QUEUE_IS_FULL + description: 'Bad request. Contains one of the errors RESOURCE_NOT_FOUND, + DEVICE_NOT_CONNECTED, MALFORMED_JSON_CONTENT, + + MALFORMED_ASYNC_ID and QUEUE_IS_FULL' schema: type: string 401: @@ -7734,8 +7759,8 @@ paths: description: "Contains one of the following errors:\n\n \n\ \ \n \n \n\ \ \n \n \n \n \n\ - \ \n\ + \ \n\ \ \n \n \n\ \ \n \n \n
Error messageDescription
DEVICE_NOT_FOUNDDevice is not in Device reqistry. Either device has requestd\ - \ register delete or device has not connected in time and expired.The device is not in the device registry. It has either requested\ + \ for register delete\n or it has not connected in time and is expired.
URI_PATH_DOES_NOT_EXISTSThe device does not have requested resource. Check the resource\ \ path is correct.
" From 64a29e409c2ca5cfe0788ae7f60d5066c38371dc Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 19 Dec 2019 15:20:54 +0000 Subject: [PATCH 027/111] new SDK config changes via api-contract @ 2019-12-19 15:20 --- .../public/pelion_dm_public_openapi.yaml | 46 +++--- .../public/sdk_foundation_definition.json | 134 +++++++++--------- .../public/sdk_foundation_definition.yaml | 134 +++++++++--------- 3 files changed, 157 insertions(+), 157 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index a612b53b9..7046e242e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -3701,7 +3701,7 @@ definitions: properties: campaign_id: description: ID of the associated campaign. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string count: example: 10 @@ -3770,7 +3770,7 @@ definitions: properties: campaign_id: description: ID of the associated campaign. - example: '00000000000000000000000000000000' + example: 016e652be6710000000000010010013d type: string count: example: 10 @@ -3906,11 +3906,11 @@ definitions: created_at: *id013 datafile: description: The firmware image file URL. - example: http://example.com/00000000000000000000000000000000 + example: http://bucket.com/myimage.elf type: string datafile_checksum: description: The checksum (sha256) generated for the datafile. - example: '0000000000000000000000000000000000000000000000000000000000000000' + example: e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e type: string datafile_size: description: The size of the datafile in bytes. @@ -3924,7 +3924,7 @@ definitions: etag: *id014 id: description: The firmware image ID. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string name: description: The firmware image name. @@ -4033,7 +4033,7 @@ definitions: created_at: *id013 datafile: description: The URL of the ASN.1 DER-encoded firmware manifest binary. - example: http://example.com/12345678901234567890123456789012 + example: http://bucket.com/mymanifest.manifest format: uri type: string datafile_size: @@ -4058,7 +4058,7 @@ definitions: type: string delivered_payload_url: description: The URL of the payload to deliver to the device. - example: http://example.com/abcdefghijklmnopqrstuvwxyz + example: http://bucket.com/myimage.elf format: uri type: string description: @@ -4068,12 +4068,12 @@ definitions: type: string device_class: description: The device class ID. - example: 00000000-0000-0000-0000-000000000000 + example: 42c4d8de-704d-546e-b9d3-1ce1eb316167 format: uuid type: string device_vendor: description: The device vendor ID. - example: 00000000-0000-0000-0000-000000000000 + example: 5d645eae-c231-5a89-9764-2e655cd94fa8 format: uuid type: string etag: *id014 @@ -6393,7 +6393,7 @@ definitions: type: string device_filter: description: The filter for the devices the campaign is targeting at. - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered type: string etag: *id014 finished: @@ -6403,7 +6403,7 @@ definitions: type: string id: description: The campaign ID. - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 type: string name: description: The campaign name. @@ -6429,12 +6429,12 @@ definitions: root_manifest_id: description: The ID of the manifest that will be sent to the device as part of the campaign. - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 type: string root_manifest_url: description: The URL for the manifest that will be sent to the device as part of the campaign. - example: http://example.com/00000000000000000000000000000000 + example: https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102 type: string started_at: description: The time the campaign was started. @@ -6640,7 +6640,7 @@ definitions: type: string device_filter: description: The filter for the devices the campaign is targeted at. - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered type: string name: default: default_object_name @@ -6648,7 +6648,7 @@ definitions: maxLength: 128 type: string root_manifest_id: - example: '12345678901234567890123456789012' + example: 016e83b46477000000000001001001f3 maxLength: 32 minLength: 32 type: string @@ -6672,7 +6672,7 @@ definitions: type: string device_filter: description: The filter for the devices the campaign is targeting at. - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered type: string name: description: The campaign's name. @@ -6680,7 +6680,7 @@ definitions: maxLength: 128 type: string root_manifest_id: - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100201 maxLength: 32 type: string UploadChunkInfo: @@ -6752,11 +6752,11 @@ definitions: etag: *id014 firmware_image_id: description: ID of the firmware image - empty until the upload job is complete. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001a8 type: string id: description: The upload job ID. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string name: &id029 description: Human-readable name. @@ -26805,7 +26805,7 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/archive + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc649000000000001001000b8/archive \ -H ''Authorization: '' @@ -26906,7 +26906,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \ -H ''Authorization: '' @@ -27001,7 +27001,7 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/start + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/start \ -H ''Authorization: '' @@ -27230,7 +27230,7 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/stop + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \ -H ''Authorization: '' diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 44dfcb6d2..cefa5ef7a 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -18534,7 +18534,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get update campaign metadata for a specific device.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get update campaign metadata for a specific device.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "campaign", @@ -18907,7 +18907,7 @@ "properties": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "description": "ID of the associated campaign.", "_key": "campaign_id" }, @@ -19240,7 +19240,7 @@ "properties": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be6710000000000010010013d", "description": "ID of the associated campaign.", "_key": "campaign_id" }, @@ -19536,7 +19536,7 @@ "fields": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be6710000000000010010013d", "description": "ID of the associated campaign.", "api_fieldname": "campaign_id", "entity_fieldname": "campaign_id", @@ -19574,7 +19574,7 @@ "properties": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be6710000000000010010013d", "description": "ID of the associated campaign.", "api_fieldname": "campaign_id", "entity_fieldname": "campaign_id", @@ -19818,7 +19818,7 @@ "fields": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be6710000000000010010013d", "description": "ID of the associated campaign.", "api_fieldname": "campaign_id", "readOnly": false, @@ -19894,7 +19894,7 @@ "fields": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "description": "ID of the associated campaign.", "api_fieldname": "campaign_id", "entity_fieldname": "campaign_id", @@ -19934,7 +19934,7 @@ "properties": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "description": "ID of the associated campaign.", "api_fieldname": "campaign_id", "entity_fieldname": "campaign_id", @@ -20187,7 +20187,7 @@ "fields": [ { "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "description": "ID of the associated campaign.", "api_fieldname": "campaign_id", "readOnly": false, @@ -43445,14 +43445,14 @@ "datafile": { "description": "The firmware image file URL.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "http://bucket.com/myimage.elf", "api_fieldname": "datafile", "entity_fieldname": "datafile_url" }, "datafile_checksum": { "description": "The checksum (sha256) generated for the datafile.", "type": "string", - "example": "0000000000000000000000000000000000000000000000000000000000000000", + "example": "e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e", "api_fieldname": "datafile_checksum", "entity_fieldname": "datafile_checksum" }, @@ -43474,7 +43474,7 @@ "id": { "description": "The firmware image ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "entity_fieldname": "id" }, @@ -43733,12 +43733,12 @@ "datafile": { "description": "The firmware image file URL.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000" + "example": "http://bucket.com/myimage.elf" }, "datafile_checksum": { "description": "The checksum (sha256) generated for the datafile.", "type": "string", - "example": "0000000000000000000000000000000000000000000000000000000000000000" + "example": "e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e" }, "datafile_size": { "description": "The size of the datafile in bytes.", @@ -43754,7 +43754,7 @@ "id": { "description": "The firmware image ID.", "type": "string", - "example": "00000000000000000000000000000000" + "example": "016e652be671000000000001001001e5" }, "name": { "description": "The firmware image name.", @@ -43956,7 +43956,7 @@ { "description": "The firmware image ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "entity_fieldname": "id", "parameter_fieldname": "image_id", @@ -44009,14 +44009,14 @@ "datafile": { "description": "The firmware image file URL.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "http://bucket.com/myimage.elf", "api_fieldname": "datafile", "entity_fieldname": "datafile_url" }, "datafile_checksum": { "description": "The checksum (sha256) generated for the datafile.", "type": "string", - "example": "0000000000000000000000000000000000000000000000000000000000000000", + "example": "e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e", "api_fieldname": "datafile_checksum", "entity_fieldname": "datafile_checksum" }, @@ -44038,7 +44038,7 @@ "id": { "description": "The firmware image ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "entity_fieldname": "id" }, @@ -44115,7 +44115,7 @@ { "description": "The checksum (sha256) generated for the datafile.", "type": "string", - "example": "0000000000000000000000000000000000000000000000000000000000000000", + "example": "e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e", "api_fieldname": "datafile_checksum", "readOnly": true, "required": false, @@ -44133,7 +44133,7 @@ { "description": "The firmware image file URL.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "http://bucket.com/myimage.elf", "api_fieldname": "datafile", "readOnly": true, "required": false, @@ -44152,7 +44152,7 @@ { "description": "The firmware image ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "readOnly": false, "required": true, @@ -44314,7 +44314,7 @@ "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", "format": "uri", - "example": "http://example.com/12345678901234567890123456789012", + "example": "http://bucket.com/mymanifest.manifest", "api_fieldname": "datafile", "entity_fieldname": "datafile_url" }, @@ -44329,7 +44329,7 @@ "description": "The URL of the payload to deliver to the device.", "type": "string", "format": "uri", - "example": "http://example.com/abcdefghijklmnopqrstuvwxyz", + "example": "http://bucket.com/myimage.elf", "api_fieldname": "delivered_payload_url", "entity_fieldname": "delivered_payload_url" }, @@ -44377,7 +44377,7 @@ "description": "The device class ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000", + "example": "42c4d8de-704d-546e-b9d3-1ce1eb316167", "api_fieldname": "device_class", "entity_fieldname": "device_class" }, @@ -44385,7 +44385,7 @@ "description": "The device vendor ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000", + "example": "5d645eae-c231-5a89-9764-2e655cd94fa8", "api_fieldname": "device_vendor", "entity_fieldname": "device_vendor" }, @@ -44706,7 +44706,7 @@ "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", "format": "uri", - "example": "http://example.com/12345678901234567890123456789012" + "example": "http://bucket.com/mymanifest.manifest" }, "datafile_size": { "description": "The size of the firmware manifest in bytes.", @@ -44717,7 +44717,7 @@ "description": "The URL of the payload to deliver to the device.", "type": "string", "format": "uri", - "example": "http://example.com/abcdefghijklmnopqrstuvwxyz" + "example": "http://bucket.com/myimage.elf" }, "delivered_payload_size": { "description": "The size in bytes of the payload to deliver to the device.", @@ -44753,13 +44753,13 @@ "description": "The device class ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000" + "example": "42c4d8de-704d-546e-b9d3-1ce1eb316167" }, "device_vendor": { "description": "The device vendor ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000" + "example": "5d645eae-c231-5a89-9764-2e655cd94fa8" }, "update_priority": { "description": "Update priority, passed to the application callback when an update is performed. Allows the application to make application-specific decisions.", @@ -45066,7 +45066,7 @@ "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", "format": "uri", - "example": "http://example.com/12345678901234567890123456789012", + "example": "http://bucket.com/mymanifest.manifest", "api_fieldname": "datafile", "entity_fieldname": "datafile_url" }, @@ -45081,7 +45081,7 @@ "description": "The URL of the payload to deliver to the device.", "type": "string", "format": "uri", - "example": "http://example.com/abcdefghijklmnopqrstuvwxyz", + "example": "http://bucket.com/myimage.elf", "api_fieldname": "delivered_payload_url", "entity_fieldname": "delivered_payload_url" }, @@ -45129,7 +45129,7 @@ "description": "The device class ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000", + "example": "42c4d8de-704d-546e-b9d3-1ce1eb316167", "api_fieldname": "device_class", "entity_fieldname": "device_class" }, @@ -45137,7 +45137,7 @@ "description": "The device vendor ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000", + "example": "5d645eae-c231-5a89-9764-2e655cd94fa8", "api_fieldname": "device_vendor", "entity_fieldname": "device_vendor" }, @@ -45272,7 +45272,7 @@ "description": "The URL of the ASN.1 DER-encoded firmware manifest binary.", "type": "string", "format": "uri", - "example": "http://example.com/12345678901234567890123456789012", + "example": "http://bucket.com/mymanifest.manifest", "api_fieldname": "datafile", "readOnly": true, "required": false, @@ -45314,7 +45314,7 @@ "description": "The URL of the payload to deliver to the device.", "type": "string", "format": "uri", - "example": "http://example.com/abcdefghijklmnopqrstuvwxyz", + "example": "http://bucket.com/myimage.elf", "api_fieldname": "delivered_payload_url", "readOnly": true, "required": false, @@ -45334,7 +45334,7 @@ "description": "The device class ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000", + "example": "42c4d8de-704d-546e-b9d3-1ce1eb316167", "api_fieldname": "device_class", "readOnly": true, "required": false, @@ -45344,7 +45344,7 @@ "description": "The device vendor ID.", "type": "string", "format": "uuid", - "example": "00000000-0000-0000-0000-000000000000", + "example": "5d645eae-c231-5a89-9764-2e655cd94fa8", "api_fieldname": "device_vendor", "readOnly": true, "required": false, @@ -86880,7 +86880,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Archive a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/archive \\\n-H 'Authorization: '\n```\n", + "description": "Archive a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc649000000000001001000b8/archive \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -87030,7 +87030,7 @@ { "description": "The filter for the devices the campaign is targeting at.", "type": "string", - "example": "id__eq=00000000000000000000000000000000", + "example": "state__eq=registered", "api_fieldname": "device_filter", "entity_fieldname": "device_filter", "parameter_fieldname": "device_filter", @@ -87065,7 +87065,7 @@ { "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id", "parameter_fieldname": "root_manifest_id", @@ -87182,7 +87182,7 @@ "device_filter": { "description": "The filter for the devices the campaign is targeting at.", "type": "string", - "example": "id__eq=00000000000000000000000000000000", + "example": "state__eq=registered", "api_fieldname": "device_filter", "entity_fieldname": "device_filter" }, @@ -87197,7 +87197,7 @@ "id": { "description": "The campaign ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id" }, @@ -87212,14 +87212,14 @@ "root_manifest_id": { "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id" }, "root_manifest_url": { "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_url", "entity_fieldname": "root_manifest_url" }, @@ -88020,7 +88020,7 @@ "device_filter": { "description": "The filter for the devices the campaign is targeting at.", "type": "string", - "example": "id__eq=00000000000000000000000000000000" + "example": "state__eq=registered" }, "finished": { "description": "The time the campaign finished.", @@ -88031,7 +88031,7 @@ "id": { "description": "The campaign ID.", "type": "string", - "example": "00000000000000000000000000000000" + "example": "016e83ddc648000000000001001000f5" }, "name": { "description": "The campaign name.", @@ -88042,12 +88042,12 @@ "root_manifest_id": { "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "00000000000000000000000000000000" + "example": "016e83dce36a00000000000100100102" }, "root_manifest_url": { "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000" + "example": "https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102" }, "starting_at": { "description": "The time the campaign will be started.", @@ -88357,7 +88357,7 @@ { "description": "The campaign ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id", "parameter_fieldname": "campaign_id", @@ -88474,7 +88474,7 @@ "device_filter": { "description": "The filter for the devices the campaign is targeting at.", "type": "string", - "example": "id__eq=00000000000000000000000000000000", + "example": "state__eq=registered", "api_fieldname": "device_filter", "entity_fieldname": "device_filter" }, @@ -88489,7 +88489,7 @@ "id": { "description": "The campaign ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id" }, @@ -88504,14 +88504,14 @@ "root_manifest_id": { "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id" }, "root_manifest_url": { "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_url", "entity_fieldname": "root_manifest_url" }, @@ -88673,7 +88673,7 @@ "_key": "read" }, { - "description": "Start a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/start \\\n-H 'Authorization: '\n```\n", + "description": "Start a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/start \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -88755,7 +88755,7 @@ "_key": "start" }, { - "description": "Stop a campaign. Stopping is a process that requires the campaign go through several [phases](../updating-firmware/running-update-campaigns.html#stopping).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/stop \\\n-H 'Authorization: '\n```\n", + "description": "Stop a campaign. Stopping is a process that requires the campaign go through several [phases](../updating-firmware/running-update-campaigns.html#stopping).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -88889,7 +88889,7 @@ { "description": "The filter for the devices the campaign is targeting at.", "type": "string", - "example": "id__eq=00000000000000000000000000000000", + "example": "state__eq=registered", "api_fieldname": "device_filter", "entity_fieldname": "device_filter", "parameter_fieldname": "device_filter", @@ -88912,7 +88912,7 @@ { "description": "The campaign ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id", "parameter_fieldname": "campaign_id", @@ -88935,7 +88935,7 @@ { "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id", "parameter_fieldname": "root_manifest_id", @@ -89052,7 +89052,7 @@ "device_filter": { "description": "The filter for the devices the campaign is targeting at.", "type": "string", - "example": "id__eq=00000000000000000000000000000000", + "example": "state__eq=registered", "api_fieldname": "device_filter", "entity_fieldname": "device_filter" }, @@ -89067,7 +89067,7 @@ "id": { "description": "The campaign ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id" }, @@ -89082,14 +89082,14 @@ "root_manifest_id": { "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_id", "entity_fieldname": "root_manifest_id" }, "root_manifest_url": { "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_url", "entity_fieldname": "root_manifest_url" }, @@ -89343,7 +89343,7 @@ { "description": "The filter for the devices the campaign is targeting at.", "type": "string", - "example": "id__eq=00000000000000000000000000000000", + "example": "state__eq=registered", "api_fieldname": "device_filter", "readOnly": false, "required": true, @@ -89375,7 +89375,7 @@ { "description": "The campaign ID.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "readOnly": false, "required": true, @@ -89414,7 +89414,7 @@ { "description": "The ID of the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "00000000000000000000000000000000", + "example": "016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_id", "readOnly": false, "required": false, @@ -89423,7 +89423,7 @@ { "description": "The URL for the manifest that will be sent to the device as part of the campaign.", "type": "string", - "example": "http://example.com/00000000000000000000000000000000", + "example": "https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102", "api_fieldname": "root_manifest_url", "readOnly": true, "required": false, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 723f950fd..c4b70d0f2 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -13531,7 +13531,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \ -H ''Authorization: '' @@ -13696,7 +13696,7 @@ entities: - _key: campaign_id api_fieldname: campaign_id description: ID of the associated campaign. - example: '00000000000000000000000000000000' + example: 016e652be6710000000000010010013d readOnly: false required: true type: string @@ -13831,7 +13831,7 @@ entities: properties: - _key: campaign_id description: ID of the associated campaign. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string - _key: count example: 10 @@ -14083,7 +14083,7 @@ entities: properties: - _key: campaign_id description: ID of the associated campaign. - example: '00000000000000000000000000000000' + example: 016e652be6710000000000010010013d type: string - _key: count example: 10 @@ -14273,7 +14273,7 @@ entities: api_fieldname: campaign_id description: ID of the associated campaign. entity_fieldname: campaign_id - example: '00000000000000000000000000000000' + example: 016e652be6710000000000010010013d in: path parameter_fieldname: campaign_id required: true @@ -14315,7 +14315,7 @@ entities: api_fieldname: campaign_id description: ID of the associated campaign. entity_fieldname: campaign_id - example: '00000000000000000000000000000000' + example: 016e652be6710000000000010010013d type: string - _key: count api_fieldname: count @@ -14473,7 +14473,7 @@ entities: - _key: campaign_id api_fieldname: campaign_id description: ID of the associated campaign. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 readOnly: false required: true type: string @@ -14556,7 +14556,7 @@ entities: api_fieldname: campaign_id description: ID of the associated campaign. entity_fieldname: campaign_id - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 in: path parameter_fieldname: campaign_id required: true @@ -14599,7 +14599,7 @@ entities: api_fieldname: campaign_id description: ID of the associated campaign. entity_fieldname: campaign_id - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string - _key: count api_fieldname: count @@ -32983,7 +32983,7 @@ entities: - _key: datafile_checksum api_fieldname: datafile_checksum description: The checksum (sha256) generated for the datafile. - example: '0000000000000000000000000000000000000000000000000000000000000000' + example: e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e readOnly: true required: false type: string @@ -32997,7 +32997,7 @@ entities: - _key: datafile_url api_fieldname: datafile description: The firmware image file URL. - example: http://example.com/00000000000000000000000000000000 + example: http://bucket.com/myimage.elf readOnly: true required: false type: string @@ -33012,7 +33012,7 @@ entities: - _key: id api_fieldname: id description: The firmware image ID. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 readOnly: false required: true type: string @@ -33135,13 +33135,13 @@ entities: api_fieldname: datafile description: The firmware image file URL. entity_fieldname: datafile_url - example: http://example.com/00000000000000000000000000000000 + example: http://bucket.com/myimage.elf type: string datafile_checksum: api_fieldname: datafile_checksum description: The checksum (sha256) generated for the datafile. entity_fieldname: datafile_checksum - example: '0000000000000000000000000000000000000000000000000000000000000000' + example: e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e type: string datafile_size: api_fieldname: datafile_size @@ -33166,7 +33166,7 @@ entities: api_fieldname: id description: The firmware image ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string name: api_fieldname: name @@ -33425,11 +33425,11 @@ entities: type: string datafile: description: The firmware image file URL. - example: http://example.com/00000000000000000000000000000000 + example: http://bucket.com/myimage.elf type: string datafile_checksum: description: The checksum (sha256) generated for the datafile. - example: '0000000000000000000000000000000000000000000000000000000000000000' + example: e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e type: string datafile_size: description: The size of the datafile in bytes. @@ -33448,7 +33448,7 @@ entities: type: string id: description: The firmware image ID. - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string name: description: The firmware image name. @@ -33585,7 +33585,7 @@ entities: api_fieldname: id description: The firmware image ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 in: path parameter_fieldname: image_id required: true @@ -33619,13 +33619,13 @@ entities: api_fieldname: datafile description: The firmware image file URL. entity_fieldname: datafile_url - example: http://example.com/00000000000000000000000000000000 + example: http://bucket.com/myimage.elf type: string datafile_checksum: api_fieldname: datafile_checksum description: The checksum (sha256) generated for the datafile. entity_fieldname: datafile_checksum - example: '0000000000000000000000000000000000000000000000000000000000000000' + example: e979fe432d6a19b0e70a93b33ac29094cd5fe35a8fd5fbedfd383d8d107d6a7e type: string datafile_size: api_fieldname: datafile_size @@ -33650,7 +33650,7 @@ entities: api_fieldname: id description: The firmware image ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e652be671000000000001001001e5 type: string name: api_fieldname: name @@ -33715,7 +33715,7 @@ entities: - _key: datafile_url api_fieldname: datafile description: The URL of the ASN.1 DER-encoded firmware manifest binary. - example: http://example.com/12345678901234567890123456789012 + example: http://bucket.com/mymanifest.manifest format: uri readOnly: true required: false @@ -33748,7 +33748,7 @@ entities: - _key: delivered_payload_url api_fieldname: delivered_payload_url description: The URL of the payload to deliver to the device. - example: http://example.com/abcdefghijklmnopqrstuvwxyz + example: http://bucket.com/myimage.elf format: uri readOnly: true required: false @@ -33764,7 +33764,7 @@ entities: - _key: device_class api_fieldname: device_class description: The device class ID. - example: 00000000-0000-0000-0000-000000000000 + example: 42c4d8de-704d-546e-b9d3-1ce1eb316167 format: uuid readOnly: true required: false @@ -33772,7 +33772,7 @@ entities: - _key: device_vendor api_fieldname: device_vendor description: The device vendor ID. - example: 00000000-0000-0000-0000-000000000000 + example: 5d645eae-c231-5a89-9764-2e655cd94fa8 format: uuid readOnly: true required: false @@ -33985,7 +33985,7 @@ entities: api_fieldname: datafile description: The URL of the ASN.1 DER-encoded firmware manifest binary. entity_fieldname: datafile_url - example: http://example.com/12345678901234567890123456789012 + example: http://bucket.com/mymanifest.manifest format: uri type: string datafile_size: @@ -34021,7 +34021,7 @@ entities: api_fieldname: delivered_payload_url description: The URL of the payload to deliver to the device. entity_fieldname: delivered_payload_url - example: http://example.com/abcdefghijklmnopqrstuvwxyz + example: http://bucket.com/myimage.elf format: uri type: string description: @@ -34035,14 +34035,14 @@ entities: api_fieldname: device_class description: The device class ID. entity_fieldname: device_class - example: 00000000-0000-0000-0000-000000000000 + example: 42c4d8de-704d-546e-b9d3-1ce1eb316167 format: uuid type: string device_vendor: api_fieldname: device_vendor description: The device vendor ID. entity_fieldname: device_vendor - example: 00000000-0000-0000-0000-000000000000 + example: 5d645eae-c231-5a89-9764-2e655cd94fa8 format: uuid type: string etag: @@ -34371,7 +34371,7 @@ entities: type: string datafile: description: The URL of the ASN.1 DER-encoded firmware manifest binary. - example: http://example.com/12345678901234567890123456789012 + example: http://bucket.com/mymanifest.manifest format: uri type: string datafile_size: @@ -34397,7 +34397,7 @@ entities: type: string delivered_payload_url: description: The URL of the payload to deliver to the device. - example: http://example.com/abcdefghijklmnopqrstuvwxyz + example: http://bucket.com/myimage.elf format: uri type: string description: @@ -34407,12 +34407,12 @@ entities: type: string device_class: description: The device class ID. - example: 00000000-0000-0000-0000-000000000000 + example: 42c4d8de-704d-546e-b9d3-1ce1eb316167 format: uuid type: string device_vendor: description: The device vendor ID. - example: 00000000-0000-0000-0000-000000000000 + example: 5d645eae-c231-5a89-9764-2e655cd94fa8 format: uuid type: string etag: @@ -34649,7 +34649,7 @@ entities: api_fieldname: datafile description: The URL of the ASN.1 DER-encoded firmware manifest binary. entity_fieldname: datafile_url - example: http://example.com/12345678901234567890123456789012 + example: http://bucket.com/mymanifest.manifest format: uri type: string datafile_size: @@ -34685,7 +34685,7 @@ entities: api_fieldname: delivered_payload_url description: The URL of the payload to deliver to the device. entity_fieldname: delivered_payload_url - example: http://example.com/abcdefghijklmnopqrstuvwxyz + example: http://bucket.com/myimage.elf format: uri type: string description: @@ -34699,14 +34699,14 @@ entities: api_fieldname: device_class description: The device class ID. entity_fieldname: device_class - example: 00000000-0000-0000-0000-000000000000 + example: 42c4d8de-704d-546e-b9d3-1ce1eb316167 format: uuid type: string device_vendor: api_fieldname: device_vendor description: The device vendor ID. entity_fieldname: device_vendor - example: 00000000-0000-0000-0000-000000000000 + example: 5d645eae-c231-5a89-9764-2e655cd94fa8 format: uuid type: string etag: @@ -66101,7 +66101,7 @@ entities: - _key: device_filter api_fieldname: device_filter description: The filter for the devices the campaign is targeting at. - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered readOnly: false required: true type: string @@ -66129,7 +66129,7 @@ entities: - _key: id api_fieldname: id description: The campaign ID. - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 readOnly: false required: true type: string @@ -66162,7 +66162,7 @@ entities: api_fieldname: root_manifest_id description: The ID of the manifest that will be sent to the device as part of the campaign. - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 readOnly: false required: false type: string @@ -66170,7 +66170,7 @@ entities: api_fieldname: root_manifest_url description: The URL for the manifest that will be sent to the device as part of the campaign. - example: http://example.com/00000000000000000000000000000000 + example: https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102 readOnly: true required: false type: string @@ -66235,7 +66235,7 @@ entities: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/archive + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc649000000000001001000b8/archive \ -H ''Authorization: '' @@ -66392,7 +66392,7 @@ entities: api_fieldname: device_filter description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered in: body parameter_fieldname: device_filter required: false @@ -66424,7 +66424,7 @@ entities: description: The ID of the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_id - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 in: body parameter_fieldname: root_manifest_id required: false @@ -66518,7 +66518,7 @@ entities: api_fieldname: device_filter description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered type: string etag: api_fieldname: etag @@ -66537,7 +66537,7 @@ entities: api_fieldname: id description: The campaign ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 type: string name: api_fieldname: name @@ -66571,14 +66571,14 @@ entities: description: The ID of the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_id - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 type: string root_manifest_url: api_fieldname: root_manifest_url description: The URL for the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_url - example: http://example.com/00000000000000000000000000000000 + example: https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102 type: string started_at: api_fieldname: started_at @@ -67299,7 +67299,7 @@ entities: type: string device_filter: description: The filter for the devices the campaign is targeting at. - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered type: string etag: api_fieldname: etag @@ -67314,7 +67314,7 @@ entities: type: string id: description: The campaign ID. - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 type: string name: description: The campaign name. @@ -67340,12 +67340,12 @@ entities: root_manifest_id: description: The ID of the manifest that will be sent to the device as part of the campaign. - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 type: string root_manifest_url: description: The URL for the manifest that will be sent to the device as part of the campaign. - example: http://example.com/00000000000000000000000000000000 + example: https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102 type: string started_at: description: The time the campaign was started. @@ -67571,7 +67571,7 @@ entities: api_fieldname: id description: The campaign ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 in: path parameter_fieldname: campaign_id required: true @@ -67665,7 +67665,7 @@ entities: api_fieldname: device_filter description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered type: string etag: api_fieldname: etag @@ -67684,7 +67684,7 @@ entities: api_fieldname: id description: The campaign ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 type: string name: api_fieldname: name @@ -67718,14 +67718,14 @@ entities: description: The ID of the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_id - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 type: string root_manifest_url: api_fieldname: root_manifest_url description: The URL for the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_url - example: http://example.com/00000000000000000000000000000000 + example: https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102 type: string started_at: api_fieldname: started_at @@ -67827,7 +67827,7 @@ entities: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/start + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/start \ -H ''Authorization: '' @@ -67906,7 +67906,7 @@ entities: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/stop + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \ -H ''Authorization: '' @@ -68047,7 +68047,7 @@ entities: api_fieldname: device_filter description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered in: body parameter_fieldname: device_filter required: false @@ -68068,7 +68068,7 @@ entities: api_fieldname: id description: The campaign ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 in: path parameter_fieldname: campaign_id required: true @@ -68088,7 +68088,7 @@ entities: description: The ID of the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_id - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 in: body parameter_fieldname: root_manifest_id required: false @@ -68182,7 +68182,7 @@ entities: api_fieldname: device_filter description: The filter for the devices the campaign is targeting at. entity_fieldname: device_filter - example: id__eq=00000000000000000000000000000000 + example: state__eq=registered type: string etag: api_fieldname: etag @@ -68201,7 +68201,7 @@ entities: api_fieldname: id description: The campaign ID. entity_fieldname: id - example: '00000000000000000000000000000000' + example: 016e83ddc648000000000001001000f5 type: string name: api_fieldname: name @@ -68235,14 +68235,14 @@ entities: description: The ID of the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_id - example: '00000000000000000000000000000000' + example: 016e83dce36a00000000000100100102 type: string root_manifest_url: api_fieldname: root_manifest_url description: The URL for the manifest that will be sent to the device as part of the campaign. entity_fieldname: root_manifest_url - example: http://example.com/00000000000000000000000000000000 + example: https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/016e83dce36a00000000000100100102 type: string started_at: api_fieldname: started_at From 48481fcbb988f0ad38e28a782cd6482b2a83af1d Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 20 Dec 2019 08:27:59 +0000 Subject: [PATCH 028/111] new SDK config changes via api-contract @ 2019-12-20 08:27 --- .../public/pelion_dm_public_openapi.yaml | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 7046e242e..219586f53 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8473,17 +8473,17 @@ paths: \ URL. The callback URLs and headers are API key-specific.\n\nOne possible\ \ use for additional headers is checking the origin of a PUT request, as well\ \ as distinguishing the application (API key) to which the notification belongs.\n\ - \n**Note**: Only one callback URL per API key can be active. If you register\ + \n**Note**: Only one callback URL for each API key can be active. If you register\ \ a new URL while another one is active, it replaces the active one. There\ - \ can be only one notification channel at a time. If another type of channel\ - \ is already present, you need to delete it before setting the callback URL.\n\ - \n**Expiration of a callback URL:**\n\nA callback can expire when Device Management\ - \ cannot deliver a notification due to a connection timeout or an error response\ - \ (4xx or 5xx). After each delivery failure, Device Management sets an exponential\ - \ back off time and makes a retry attempt after that. The first retry delay\ - \ is 1 second, then 2s, 4s, 8s, up to maximum delay of two minutes. The callback\ - \ URL is removed if all retries fail within 24 hours. More about [notification\ - \ sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ + \ can be only one notification channel at a time for each API key. If another\ + \ type of channel is already present, you need to delete it before setting\ + \ the callback URL.\n\n**Expiration of a callback URL:**\n\nA callback can\ + \ expire when Device Management cannot deliver a notification due to a connection\ + \ timeout or an error response (4xx or 5xx). After each delivery failure,\ + \ Device Management sets an exponential back off time and makes a retry attempt\ + \ after that. The first retry delay is 1 second, then 2s, 4s, 8s, up to maximum\ + \ delay of two minutes. The callback URL is removed if all retries fail within\ + \ 24 hours. More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ \n**Supported callback URL protocols:**\n\nCurrently, only HTTP and HTTPS\ \ protocols are supported.\n\n**HTTPS callback URLs:**\n\nWhen delivering\ \ a notification to an HTTPS based callback URL, Device Management Connect\ @@ -8726,15 +8726,19 @@ paths: \ channel can have only one active websocket connection at a time. If a websocket\ \ connection for a channel exists and a new connection to the same channel\ \ is made, the connection is accepted and the older connection is closed.\n\ - \n**Expiration of a websocket:**\n\nA websocket channel is expired if the\ - \ channel does not have an opened websocket connection for a 24-hour period.\ - \ Channel expiration means the channel is deleted and any undelivered notifications\ - \ stored in its internal queue is removed. As long as the channel has an opened\ - \ websocket connection or time between successive websocket connections is\ - \ less than 24 hours,\nthe channel is considered active, notifications are\ - \ stored in its internal queue and delivered when a websocket connection is\ - \ active. A channel can be also deleted explicitly with a DELETE call.\n\n\ - More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ + \n**Note**: Only one websocket channel for each API key can be active. If\ + \ you register a new websocket channel while another one is active, it replaces\ + \ the active one. There can be only one notification channel at a time for\ + \ each API key. If another type of channel is already present, you need to\ + \ delete it before registering a websocket channel.\n\n**Expiration of a websocket:**\n\ + \nA websocket channel is expired if the channel does not have an opened websocket\ + \ connection for a 24-hour period. Channel expiration means the channel is\ + \ deleted and any undelivered notifications stored in its internal queue is\ + \ removed. As long as the channel has an opened websocket connection or time\ + \ between successive websocket connections is less than 24 hours,\nthe channel\ + \ is considered active, notifications are stored in its internal queue and\ + \ delivered when a websocket connection is active. A channel can be also deleted\ + \ explicitly with a DELETE call.\n\nMore about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ \n**Configuration options:**\n\nThe event notification channel provides configurations\ \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ From a85478b3ff0f331affbfe451401b33e5619c615f Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 23 Dec 2019 16:51:17 +0000 Subject: [PATCH 029/111] new SDK config changes via api-contract @ 2019-12-23 16:51 --- .../public/pelion_dm_public_openapi.yaml | 646 ++++++++++++++++-- 1 file changed, 575 insertions(+), 71 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 219586f53..649d581e7 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1255,6 +1255,10 @@ definitions: example: 200 type: integer type: object + AudienceItem: + description: Audience item, device ID or endpoint name. + pattern: ^ep:[a-zA-Z0-9 -]{1,57}$|^id:[0-9a-fA-F]{32}$ + type: string BadRequestErrorResponse: description: 400 Bad request response. properties: @@ -1386,7 +1390,7 @@ definitions: type: string reference: description: Color name. - enum: &id020 + enum: &id024 - error_color - primary - secondary @@ -1466,7 +1470,7 @@ definitions: type: string reference: description: Name of the image. - enum: &id021 + enum: &id025 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -2268,6 +2272,60 @@ definitions: - reference - certificate_issuer_id type: object + CreateTrustAnchorRequest: + properties: + description: + description: The description of the new trust anchor key pair. + format: Free text + maxLength: 256 + minLength: 1 + type: string + required: + - description + type: object + CreateTrustAnchorResponse: + properties: + created_at: &id016 + description: Creation UTC time. + example: '2017-01-01T00:00:00Z' + format: date-time + type: string + description: + description: Notes about the trust anchor. + format: free text + maxLength: 256 + minLength: 1 + type: string + etag: &id017 + description: Entity instance signature, 1 or Unix timestamp of last customer + update. + example: '1' + type: string + fingerprint: + description: The SHA256 of the trust anchor public key; the prefix 'mbed.ta.' + followed by the trust anchor public key as a SHA256 hash in Base64-encoded + DER format. + format: byte + type: string + id: &id018 + description: The ID of the entity. + example: 01612df56f3b0a580a010fc700000000 + pattern: '[A-Fa-f0-9]{32}' + type: string + public_key: + description: The generated trust anchor public key in PEM format. + format: byte + type: string + public_key_der: + description: The generated trust anchor public key in Base64-encoded DER format. + format: byte + type: string + updated_at: &id019 + description: Update UTC time. + example: '2017-01-01T00:00:00Z' + format: date-time + type: string + type: object CredentialsResponseData: properties: certificate: @@ -3026,7 +3084,7 @@ definitions: example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - custom_attributes: &id023 + custom_attributes: &id027 additionalProperties: maxLength: 128 pattern: ^[A-Za-z].* @@ -3038,7 +3096,7 @@ definitions: key: value maxProperties: 10 type: object - description: &id024 + description: &id028 description: The description of the group. example: Devices on the factory floor. maxLength: 2000 @@ -3055,7 +3113,7 @@ definitions: description: The group ID. example: 015c3029f6f7000000000001001000c3 type: string - name: &id025 + name: &id029 description: Name of the group. example: My devices maxLength: 128 @@ -4267,6 +4325,46 @@ definitions: - type - code type: object + GetTrustAnchorsResponse: + properties: + after: + description: An offset token for the current page. + example: '01631667477600000000000100100374' + pattern: '[A-Fa-f0-9]{32}' + type: string + data: + description: The list of trust anchors of the account. + items: + $ref: '#/definitions/TrustAnchorResponse' + type: array + has_more: + description: Indicates whether additional results are available. + example: false + type: boolean + limit: + default: 50 + description: Indicates how many objects to retrieve in the page. The minimum + limit is 2 and the maximum is 1000. Limit values outside of this range are + set to the closest limit. + maximum: 1000 + minimum: 2 + type: integer + object: + description: The type of this API object is a `list`. + example: list + type: string + order: + description: Indicates how to order the entries based on when they were created. + enum: + - ASC + - DESC + example: DESC + type: string + total_count: + example: 1 + format: integer + type: integer + type: object GlobalSignCredentials: description: 'Describes the credentials required to connect to the GlobalSign account. @@ -4685,6 +4783,15 @@ definitions: - type - code type: object + KeyValue: + properties: + key: + type: string + value: + type: string + required: + - key + - value ListOfPreSharedKeysWithoutSecret: properties: after: @@ -6070,6 +6177,58 @@ definitions: required: - quota_usage type: object + TokenRequest: + properties: + aud: + description: 'Array of \:\ tuples representing devices for + which access is being requested. There must be at least one id/ep tuple.
+ \ ::= id|ep
\::=[a-zA-Z0-9+/=- ]+
\ + :== \ ":" \
\ can be up to 60 characters + long, and can contain spaces.
+ + The audience array can contain up to 50 tuples. If IAM does not authorize + even one item in the list, Secure Device Access does not authorize the whole + request and does not return an access token (access denied).' + items: + $ref: '#/definitions/AudienceItem' + maxItems: 50 + minItems: 1 + type: array + cnf: + description: The Android application proof-of-possession public key. + format: The public key in PEM format. + type: string + grant_type: + description: Hardcoded - can only be "client_credentials". + type: string + scope: + description: The space-delimited list of operations that user is requesting + permission for. The array must contain at least one scope item. A scope + item can have up to 60 characters. A scope list can hold up to 20 scope + items.
\::=[a-zA-Z][a-zA-Z0-9-]*
\::= \ + | \ " " | \ " " \
The scope being requested + must match the action that the Android application eventually performs on + the IoT device. The device matches the scope in the access token to the + action requested in the operation bundle. + format: scope-item scope-item ... + type: string + required: + - grant_type + - aud + - scope + - cnf + type: object + TokenResponse: + properties: + access_token: + description: The generated CWT (CBOR Web Token) access token as a Base64 string. + format: byte + type: string + granted_until: + description: Grant expiration UTC time RFC3339. + format: date-time + type: string + type: object TransactionsCounter: description: A transaction is a data block of 512 bytes processed by Device Management. It can be sent either by the device (device --> Device Management) or received @@ -6079,6 +6238,33 @@ definitions: format: int64 minimum: 0 type: integer + TrustAnchorResponse: + properties: + created_at: *id016 + description: + description: The updated notes about the trust anchor. + format: free text + maxLength: 256 + minLength: 1 + type: string + etag: *id017 + fingerprint: + description: The SHA256 of the trust anchor public key; the prefix 'mbed.ta.' + followed by the trust anchor public key as a SHA256 hash in Base64-encoded + DER format. + format: byte + type: string + id: *id018 + public_key: + description: The trust anchor public key in PEM format. + format: byte + type: string + public_key_der: + description: The generated trust anchor public key in Base64-encoded DER format. + format: byte + type: string + updated_at: *id019 + type: object TrustedCertificateReq: description: Represents a trusted certificate in upload requests. properties: @@ -6375,7 +6561,7 @@ definitions: example: '85.00' format: double type: number - campaign_strategy: &id016 + campaign_strategy: &id020 default: one-shot description: How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that @@ -6632,7 +6818,7 @@ definitions: autostop_success_percent: default: 100.0 type: number - campaign_strategy: *id016 + campaign_strategy: *id020 description: description: An optional description of the campaign. example: a description @@ -6683,6 +6869,44 @@ definitions: example: 016e83dce36a00000000000100100201 maxLength: 32 type: string + UpdateTrustAnchorRequest: + properties: + description: + description: The new description for the trust anchor. + format: free text + maxLength: 256 + minLength: 1 + type: string + required: + - description + type: object + UpdateTrustAnchorResponse: + properties: + created_at: *id016 + description: + description: The updated notes about the trust anchor. + format: free text + maxLength: 256 + minLength: 1 + type: string + etag: *id017 + fingerprint: + description: The SHA256 of the trust anchor public key; the prefix 'mbed.ta.' + followed by the trust anchor public key as a SHA256 hash in Base64-encoded + DER format. + format: byte + type: string + id: *id018 + public_key: + description: The trust anchor public key in PEM format. + format: byte + type: string + public_key_der: + description: The generated trust anchor public key in Base64-encoded DER format. + format: byte + type: string + updated_at: *id019 + type: object UploadChunkInfo: properties: created_at: *id013 @@ -6744,7 +6968,7 @@ definitions: example: false type: boolean created_at: *id013 - description: &id028 + description: &id032 description: Human-readable description. example: New Linux update for my devices maxLength: 2000 @@ -6758,7 +6982,7 @@ definitions: description: The upload job ID. example: 016e652be671000000000001001001e5 type: string - name: &id029 + name: &id033 description: Human-readable name. example: New Linux update maxLength: 128 @@ -7531,6 +7755,286 @@ info: title: Pelion Device Management API version: '3' paths: + //ace-auth/token: + post: + description: "Generate a signed CWT (CBOR Web Token). The SDA Android SDK uses\ + \ this API to gain access to perform actions on the devices specified in the\ + \ audience (aud).\n
\nAuthorized for roles: Service, ServiceAdministrator\n\ +
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/ace-auth/token\ + \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"grant_type\":\"client_credentials\",\n \"aud\":[\"id:f90b1017e52f4c70ad92684e802c9249\"\ + ,\"ep:dev1\"],\n \"scope\":\"turn-led-on\",\n \"cnf\":\"-----BEGIN PUBLIC\ + \ KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ...XwIDAQAB-----END PUBLIC KEY-----\"\ + \n}'\n```\n" + operationId: createAceAuthToken + parameters: + - description: Create access token request. + in: body + name: body + required: true + schema: + $ref: '#/definitions/TokenRequest' + responses: + '200': + description: A signed CWT (CBOR Web Token) access token. + schema: + $ref: '#/definitions/TokenResponse' + '400': + description: 'Bad request. Returns the standard error object detailing the + error message and, optionally, the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: 'Authentication failure. The provided header is invalid or + missing. + + Returns the standard error object detailing the error message and, optionally, + the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + tags: + - Security and identity - secure device access + x-origin: /home/circleci/project/sda-service/public/sda.yaml + //v3/trust-anchors: + get: + description: 'Get all trust anchors that match the account ID specified in the + JWT. + +
+ + Authorized for roles: Service, ServiceAdministrator + +
+ + **Usage example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/trust-anchors \ + + -H ''Authorization: '' + + ``` + + ' + operationId: getTrustAnchors + parameters: + - description: Indicates how many objects to retrieve in the page. The minimum + limit is 2 and the maximum is 1000. Limit values outside of this range are + set to the closest limit. + in: query + maximum: 1000 + minimum: 2 + name: limit + type: integer + - description: Indicates how to order the entries based on when they were created. + `ASC` by default. + enum: + - ASC + - DESC + in: query + name: order + type: string + - description: The ID of the item after which to retrieve the next page. + in: query + name: after + pattern: '[A-Fa-f0-9]{32}' + type: string + - description: 'Comma-separated list of data fields to return. Currently supported: + `total_count`.' + in: query + name: include + type: string + responses: + '200': + description: 'Returns the list of trust anchors associated to the account_id + specified in the access token. + + ' + schema: + $ref: '#/definitions/GetTrustAnchorsResponse' + '400': + description: 'Bad request. Returns the standard error object detailing the + error message and, optionally, the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: 'Authentication failure. The provided header is invalid or + missing. + + Returns the standard error object detailing the error message and, optionally, + the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + tags: + - Security and identity - secure device access + x-origin: /home/circleci/project/sda-service/public/sda.yaml + post: + description: "Create a trust anchor key pair and return the public key and creation\ + \ time.\nEach account can have one trust anchor only. This API fails if a\ + \ trust anchor already exists for the account.\n
\nAuthorized for roles:\ + \ Service, ServiceAdministrator\n
\n**Usage example:**\n```\ncurl -X POST\ + \ https://api.us-east-1.mbedcloud.com/v3/trust-anchors \\\n-H 'Authorization:\ + \ ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n\ + -d '{\n \"description\": \"Trust anchor for room lighting controller.\"\n\ + }'\n```\n" + operationId: createTrustAnchor + parameters: + - description: Request a new trust anchor. + in: body + name: body + required: true + schema: + $ref: '#/definitions/CreateTrustAnchorRequest' + responses: + '201': + description: Trust anchor created. + schema: + $ref: '#/definitions/CreateTrustAnchorResponse' + '400': + description: 'Bad request. Returns the standard error object detailing the + error message and, optionally, the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: 'Authentication failure. The provided header is invalid or + missing. + + Returns the standard error object detailing the error message and, optionally, + the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: 'Account limit exceeded. There is already a trust anchor defined + for the account. + + Returns the standard error object detailing the error message. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + tags: + - Security and identity - secure device access + x-origin: /home/circleci/project/sda-service/public/sda.yaml + //v3/trust-anchors/{trust_anchor_id}: + delete: + description: 'Delete the specified trust anchor. Unrecoverable. + +
+ + Authorized for roles: Service, ServiceAdministrator + +
+ + **Usage example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trust-anchors/8e0a9494cc95b750ec6c81464eb06725 + \ + + -H ''Authorization: '' \ + + ``` + + ' + operationId: deleteTrustAnchor + parameters: + - description: The id of the trust anchor to be deleted + in: path + name: trust_anchor_id + pattern: '[A-Fa-f0-9]{32}' + required: true + type: string + responses: + '204': + description: Trust anchor deleted. + '400': + description: 'Bad request. Returns the standard error object detailing the + error message and, optionally, the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: 'Authentication failure. The provided header is invalid or + missing. + + Returns the standard error object detailing the error message and, optionally, + the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: The trust anchor to be deleted was not found. + schema: + $ref: '#/definitions/ErrorResponse' + tags: + - Security and identity - secure device access + x-origin: /home/circleci/project/sda-service/public/sda.yaml + put: + description: "Updates a trust anchor description attribute.\n
\nAuthorized\ + \ for roles: Service, ServiceAdministrator\n
\n**Usage example:**\n```\n\ + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/trust-anchors/8e0a9494cc95b750ec6c81464eb06725\ + \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"description\": \"Trust anchor for ambient light module\"\n\ + }'\n```\n" + operationId: updateTrustAnchor + parameters: + - description: The id of the trust anchor to be updated + in: path + name: trust_anchor_id + pattern: '[A-Fa-f0-9]{32}' + required: true + type: string + - description: Update trust anchor request. + in: body + name: body + required: true + schema: + $ref: '#/definitions/UpdateTrustAnchorRequest' + responses: + '200': + description: Trust anchor updated. + schema: + $ref: '#/definitions/UpdateTrustAnchorResponse' + '400': + description: 'Bad request. Returns the standard error object detailing the + error message and, optionally, the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: 'Authentication failure. The provided header is invalid or + missing. + + Returns the standard error object detailing the error message and, optionally, + the invalid fields. + + ' + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: The trust anchor to be updated was not found. + schema: + $ref: '#/definitions/ErrorResponse' + tags: + - Security and identity - secure device access + x-origin: /home/circleci/project/sda-service/public/sda.yaml /v2/device-requests/{device-id}: post: consumes: @@ -8413,11 +8917,11 @@ paths: ```' operationId: deregisterWebhook responses: - 204: &id019 + 204: &id023 description: Successfully deleted. - 401: &id017 + 401: &id021 description: Unauthorized. - 403: &id018 + 403: &id022 description: Forbidden. The authorization token used is not an API key. 404: description: Callback URL does not exist. @@ -8446,8 +8950,8 @@ paths: description: URL found. schema: $ref: '#/definitions/Webhook' - 401: *id017 - 403: *id018 + 401: *id021 + 403: *id022 404: description: The callback URL does not exist. summary: Check callback URL. @@ -8517,8 +9021,8 @@ paths: 400: description: Given URL is not accessible, or other type of channel already exists. - 401: *id017 - 403: *id018 + 401: *id021 + 403: *id022 415: description: Unsupported Media Type. summary: Register a callback URL. @@ -8568,7 +9072,7 @@ paths: description: Success. The body can contain "REMOVED" if it was deleted with this call or "ALREADY_DELETED" if it was deleted before and not purged yet. - 401: *id017 + 401: *id021 summary: Delete notification Long Poll channel. tags: - Notifications @@ -8631,7 +9135,7 @@ paths: description: No new notifications. 400: description: Other type of channel already exists. - 401: *id017 + 401: *id021 409: description: Conflict. Long poll request exists already. 410: @@ -8674,9 +9178,9 @@ paths: ```' operationId: deleteWebsocket responses: - 204: *id019 - 401: *id017 - 403: *id018 + 204: *id023 + 401: *id021 + 403: *id022 404: description: Websocket channel doesn't exist. summary: (PREVIEW) Delete websocket channel. @@ -8707,8 +9211,8 @@ paths: description: Websocket found. schema: $ref: '#/definitions/WebsocketChannel' - 401: *id017 - 403: *id018 + 401: *id021 + 403: *id022 404: description: No channel has been registered. summary: (PREVIEW) Get websocket channel information. @@ -8760,8 +9264,8 @@ paths: $ref: '#/definitions/WebsocketChannel' 400: description: Other type of channel already exists. - 401: *id017 - 403: *id018 + 401: *id021 + 403: *id022 summary: (PREVIEW) Register a websocket channel. tags: - Notifications @@ -8831,7 +9335,7 @@ paths: description: Switching protocols. 400: description: Required header(s) missing. - 401: *id017 + 401: *id021 426: description: Upgrade required. Connect and/or Upgrade headers missing. summary: (PREVIEW) Open the websocket. @@ -10550,7 +11054,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -10598,7 +11102,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -10654,7 +11158,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -10844,7 +11348,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -10891,7 +11395,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -10947,7 +11451,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -11126,7 +11630,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -11177,7 +11681,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -11232,7 +11736,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -11291,7 +11795,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -11439,7 +11943,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -11488,7 +11992,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -11543,7 +12047,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -11602,7 +12106,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -16236,7 +16740,7 @@ paths: operationId: resetDarkColor parameters: - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -16279,7 +16783,7 @@ paths: operationId: getDarkColor parameters: - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -16330,7 +16834,7 @@ paths: operationId: setDarkColor parameters: - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -16490,7 +16994,7 @@ paths: operationId: resetLightColor parameters: - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -16533,7 +17037,7 @@ paths: operationId: getLightColor parameters: - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -16584,7 +17088,7 @@ paths: operationId: setLightColor parameters: - description: The name of the branding color. - enum: *id020 + enum: *id024 in: path name: reference required: true @@ -16736,7 +17240,7 @@ paths: operationId: getDarkImageData parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -16782,7 +17286,7 @@ paths: operationId: clearDarkImage parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -16832,7 +17336,7 @@ paths: operationId: uploadDarkImage parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -16886,7 +17390,7 @@ paths: operationId: uploadDarkImageMultipart parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -17014,7 +17518,7 @@ paths: operationId: getLightImageData parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -17060,7 +17564,7 @@ paths: operationId: clearLightImage parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -17110,7 +17614,7 @@ paths: operationId: uploadLightImage parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -17164,7 +17668,7 @@ paths: operationId: uploadLightImageMultipart parameters: - description: Name of the branding images (icon or picture). - enum: *id021 + enum: *id025 in: path name: reference required: true @@ -17639,7 +18143,7 @@ paths: ' operationId: deleteCertificateIssuerConfigByID parameters: - - &id022 + - &id026 description: 'The ID of the certificate issuer configuration. ' @@ -17676,7 +18180,7 @@ paths: ' operationId: getCertificateIssuerConfigByID parameters: - - *id022 + - *id026 responses: '200': description: OK. @@ -17714,7 +18218,7 @@ paths: required: true schema: $ref: '#/definitions/CertificateIssuerConfigRequest' - - *id022 + - *id026 responses: '200': description: OK. @@ -19892,9 +20396,9 @@ paths: required: true schema: properties: - custom_attributes: *id023 - description: *id024 - name: *id025 + custom_attributes: *id027 + description: *id028 + name: *id029 type: object responses: '201': @@ -19986,9 +20490,9 @@ paths: required: true schema: properties: - custom_attributes: *id023 - description: *id024 - name: *id025 + custom_attributes: *id027 + description: *id028 + name: *id029 type: object responses: '200': @@ -20614,7 +21118,7 @@ paths: summary: Get a page of devices. tags: - Device directory - groups - x-filter: &id026 + x-filter: &id030 account_id: - eq - neq @@ -21986,7 +22490,7 @@ paths: summary: List all devices. tags: - Device directory - devices - x-filter: *id026 + x-filter: *id030 x-origin: /home/circleci/project/device-directory/public/swagger.yml post: description: Create a new device. @@ -22231,7 +22735,7 @@ paths: in: body name: Block required: true - schema: &id027 + schema: &id031 properties: category: description: The reference of the block category. @@ -22295,7 +22799,7 @@ paths: in: body name: Block required: true - schema: *id027 + schema: *id031 responses: '204': description: Ok - Device suspended. @@ -22900,8 +23404,8 @@ paths: required: true schema: properties: - description: *id028 - name: *id029 + description: *id032 + name: *id033 type: object responses: 201: @@ -23038,8 +23542,8 @@ paths: required: true schema: properties: - description: *id028 - name: *id029 + description: *id032 + name: *id033 type: object responses: 200: From cda7a59936e0f66b1473b1d8e324fc3005210f1e Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 1 Jan 2020 13:02:37 +0000 Subject: [PATCH 030/111] new SDK config changes via api-contract @ 2020-01-01 13:02 --- api_specifications/public/pelion_dm_public_openapi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 649d581e7..f4e688a74 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7796,6 +7796,7 @@ paths: ' schema: $ref: '#/definitions/ErrorResponse' + summary: Get an access token to use with a device. tags: - Security and identity - secure device access x-origin: /home/circleci/project/sda-service/public/sda.yaml @@ -7874,6 +7875,7 @@ paths: ' schema: $ref: '#/definitions/ErrorResponse' + summary: Get the account's trust anchor used to sign the access token. tags: - Security and identity - secure device access x-origin: /home/circleci/project/sda-service/public/sda.yaml @@ -7925,6 +7927,7 @@ paths: ' schema: $ref: '#/definitions/ErrorResponse' + summary: Create a new trust anchor for the account. tags: - Security and identity - secure device access x-origin: /home/circleci/project/sda-service/public/sda.yaml @@ -7982,6 +7985,7 @@ paths: description: The trust anchor to be deleted was not found. schema: $ref: '#/definitions/ErrorResponse' + summary: Delete a trust anchor. tags: - Security and identity - secure device access x-origin: /home/circleci/project/sda-service/public/sda.yaml @@ -8032,6 +8036,7 @@ paths: description: The trust anchor to be updated was not found. schema: $ref: '#/definitions/ErrorResponse' + summary: Update trust anchor attributes (description). tags: - Security and identity - secure device access x-origin: /home/circleci/project/sda-service/public/sda.yaml From 3a9289abdf34814d6afaea7e474fdd8617f462df Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 2 Jan 2020 07:56:21 +0000 Subject: [PATCH 031/111] new SDK config changes via api-contract @ 2020-01-02 07:56 --- .../public/pelion_dm_public_openapi.yaml | 22 +++++++----- .../public/sdk_foundation_definition.json | 18 +++++----- .../public/sdk_foundation_definition.yaml | 35 +++++++++++-------- 3 files changed, 43 insertions(+), 32 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index f4e688a74..f1e30a15f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6578,7 +6578,8 @@ definitions: maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. example: state__eq=registered type: string etag: *id014 @@ -6825,7 +6826,8 @@ definitions: maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeted at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. example: state__eq=registered type: string name: @@ -6857,7 +6859,8 @@ definitions: maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. example: state__eq=registered type: string name: @@ -27142,12 +27145,13 @@ paths: - gte x-origin: /home/circleci/project/update-service/public/swagger.yml post: - description: "Create an update campaign.\n
\n**Usage example:**\n```\ncurl\ - \ -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization:\ - \ ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + description: "Create an update campaign.\n\nTo include a filter for targeted\ + \ devices, refer to the filter using `` in the message body.\n\ +
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns\ + \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"\ - Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ - ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ + Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\"\ + : \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ ,\n}'\n```\n" operationId: Update_Campaign_create parameters: @@ -27269,7 +27273,7 @@ paths: description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012\ \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\"\ - : \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ + : \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\"\ ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ ,\n}'\n```\n" operationId: Update_Campaign_update diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index cefa5ef7a..c18b5a403 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -86962,7 +86962,7 @@ "_key": "archive" }, { - "description": "Create an update campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", + "description": "Create an update campaign.\n\nTo include a filter for targeted devices, refer to the filter using `` in the message body.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", "field_renames": [], "fields": [ { @@ -87028,7 +87028,7 @@ "_key": "description" }, { - "description": "The filter for the devices the campaign is targeting at.", + "description": "The filter for the devices the campaign targets. Refer to this using the filter ID.", "type": "string", "example": "state__eq=registered", "api_fieldname": "device_filter", @@ -87180,7 +87180,7 @@ "entity_fieldname": "description" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at.", + "description": "The filter for the devices the campaign targets. Refer to this using the filter ID.", "type": "string", "example": "state__eq=registered", "api_fieldname": "device_filter", @@ -88018,7 +88018,7 @@ "example": "This campaign updates Class XX devices to version 1.34" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at.", + "description": "The filter for the devices the campaign targets. Refer to this using the filter ID.", "type": "string", "example": "state__eq=registered" }, @@ -88472,7 +88472,7 @@ "entity_fieldname": "description" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at.", + "description": "The filter for the devices the campaign targets. Refer to this using the filter ID.", "type": "string", "example": "state__eq=registered", "api_fieldname": "device_filter", @@ -88837,7 +88837,7 @@ "_key": "stop" }, { - "description": "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: ' \\\nd '{\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", + "description": "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: ' \\\nd '{\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", "field_renames": [], "fields": [ { @@ -88887,7 +88887,7 @@ "_key": "description" }, { - "description": "The filter for the devices the campaign is targeting at.", + "description": "The filter for the devices the campaign targets. Refer to this using the filter ID.", "type": "string", "example": "state__eq=registered", "api_fieldname": "device_filter", @@ -89050,7 +89050,7 @@ "entity_fieldname": "description" }, "device_filter": { - "description": "The filter for the devices the campaign is targeting at.", + "description": "The filter for the devices the campaign targets. Refer to this using the filter ID.", "type": "string", "example": "state__eq=registered", "api_fieldname": "device_filter", @@ -89341,7 +89341,7 @@ "_key": "description" }, { - "description": "The filter for the devices the campaign is targeting at.", + "description": "The filter for the devices the campaign targets. Refer to this using the filter ID.", "type": "string", "example": "state__eq=registered", "api_fieldname": "device_filter", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index c4b70d0f2..83b9a0105 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -66100,7 +66100,8 @@ entities: type: string - _key: device_filter api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this using + the filter ID. example: state__eq=registered readOnly: false required: true @@ -66305,13 +66306,13 @@ entities: x_deprecation: null x_filter: {} - _key: create - description: "Create an update campaign.\n
\n**Usage example:**\n```\ncurl\ - \ -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization:\ - \ ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + description: "Create an update campaign.\n\nTo include a filter for targeted devices,\ + \ refer to the filter using `` in the message body.\n
\n**Usage\ + \ example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns\ + \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign\ - \ is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ - ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ - ,\n}'\n```\n" + \ is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\"\ + ,\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n" drop_fields: - object - etag @@ -66390,7 +66391,8 @@ entities: type: string - _key: device_filter api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. entity_fieldname: device_filter example: state__eq=registered in: body @@ -66516,7 +66518,8 @@ entities: type: string device_filter: api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. entity_fieldname: device_filter example: state__eq=registered type: string @@ -67298,7 +67301,8 @@ entities: maxLength: 2000 type: string device_filter: - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer + to this using the filter ID. example: state__eq=registered type: string etag: @@ -67663,7 +67667,8 @@ entities: type: string device_filter: api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. entity_fieldname: device_filter example: state__eq=registered type: string @@ -67979,7 +67984,7 @@ entities: description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012\ \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\":\ - \ \"Campaign is for ...\",\n \"device_filter\": \"id__eq=123400000000000000000000000ae45\"\ + \ \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\"\ ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ ,\n}'\n```\n" drop_fields: @@ -68045,7 +68050,8 @@ entities: type: string - _key: device_filter api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. entity_fieldname: device_filter example: state__eq=registered in: body @@ -68180,7 +68186,8 @@ entities: type: string device_filter: api_fieldname: device_filter - description: The filter for the devices the campaign is targeting at. + description: The filter for the devices the campaign targets. Refer to this + using the filter ID. entity_fieldname: device_filter example: state__eq=registered type: string From 6f66536da7cd3a105186354cc51b0d5a21981f55 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 13 Jan 2020 13:31:59 +0000 Subject: [PATCH 032/111] new SDK config changes via api-contract @ 2020-01-13 13:31 --- .../public/pelion_dm_public_openapi.yaml | 72 +++++++++++-------- 1 file changed, 41 insertions(+), 31 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index f1e30a15f..ef3577425 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8998,11 +8998,11 @@ paths: \ 24 hours. More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ \n**Supported callback URL protocols:**\n\nCurrently, only HTTP and HTTPS\ \ protocols are supported.\n\n**HTTPS callback URLs:**\n\nWhen delivering\ - \ a notification to an HTTPS based callback URL, Device Management Connect\ - \ presents a valid client certificate to identify itself. The certificate\ - \ is signed by a trusted certificate authorithy (GlobalSign) with a Common\ - \ Name (CN) set to notifications.mbedcloud.com.\n\n**Configuration options:**\n\ - \nThe event notification channel provides configurations options defined in\ + \ a notification to an HTTPS-based callback URL, Device Management Connect\ + \ identifies itself with a valid client certificate. The certificate is signed\ + \ by a trusted certificate authority (GlobalSign), with a Common Name (CN)\ + \ set to `notifications.mbedcloud.com`.\n\n**Configuration options:**\n\n\ + The event notification channel provides configurations options defined in\ \ [Serialization config](#SerializationConfigObjectV2).\n\n**Example:**\n\n\ This example command shows how to set your callback URL and API key. It also\ \ sets an optional header authorization. When Device Management Connect calls\ @@ -9238,19 +9238,19 @@ paths: \ channel can have only one active websocket connection at a time. If a websocket\ \ connection for a channel exists and a new connection to the same channel\ \ is made, the connection is accepted and the older connection is closed.\n\ - \n**Note**: Only one websocket channel for each API key can be active. If\ - \ you register a new websocket channel while another one is active, it replaces\ - \ the active one. There can be only one notification channel at a time for\ - \ each API key. If another type of channel is already present, you need to\ - \ delete it before registering a websocket channel.\n\n**Expiration of a websocket:**\n\ - \nA websocket channel is expired if the channel does not have an opened websocket\ - \ connection for a 24-hour period. Channel expiration means the channel is\ - \ deleted and any undelivered notifications stored in its internal queue is\ - \ removed. As long as the channel has an opened websocket connection or time\ - \ between successive websocket connections is less than 24 hours,\nthe channel\ - \ is considered active, notifications are stored in its internal queue and\ - \ delivered when a websocket connection is active. A channel can be also deleted\ - \ explicitly with a DELETE call.\n\nMore about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ + \n**Note**: Only one websocket channel for each API key can be active at a\ + \ time. If you register a new websocket channel while another one is active,\ + \ it replaces the previously active one. If another type of channel is already\ + \ present, you need to delete it before registering a websocket channel. \ + \ \n\n**Expiration of a websocket:**\n\nA websocket channel is expired if\ + \ the channel does not have an opened websocket connection for a 24-hour period.\ + \ Channel expiration means the channel is deleted and any undelivered notifications\ + \ stored in its internal queue is removed. As long as the channel has an opened\ + \ websocket connection or time between successive websocket connections is\ + \ less than 24 hours,\nthe channel is considered active, notifications are\ + \ stored in its internal queue and delivered when a websocket connection is\ + \ active. A channel can be also deleted explicitly with a DELETE call.\n\n\ + More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ \n**Configuration options:**\n\nThe event notification channel provides configurations\ \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ @@ -9283,20 +9283,30 @@ paths: description: "\n(PREVIEW) A websocket channel can have only one active connection\ \ at a time. If a websocket connection for a channel exists and a new connection\ \ to the same channel is made, the connection is accepted and the older connection\ - \ is closed.\n\nOnce the socket has been opened, it may be closed with one\ - \ of the following status codes.\n\n\n \n \n \n\ - \ \n \n \n \n \n\ - \ \n \n\ + \ is closed.\n\nOnce the socket has been opened, the server may close it with\ + \ one of the following status codes.\n\n
CodeDescription
1000Socket closed by the client.
\n \n \n \ + \ \n \n \n \n \n\ + \ \n \n \n\ \ \n \n \n \n \n \n\ - \ \n \n \n \n \n\ - \ \n \n \n
CodeDescription
1000Socket closed by the client.
1001Going away. Set\ - \ when another socket opens on the used channel, the channel is deleted with\ - \ a REST call, or the server is shutting down.
1008Policy violation. Set when the API\ - \ key is missing or invalid.
1011Unexpected condition. Socket is closed with this status at an attempt\ - \ to open a socket to a nonexistent channel (without a prior PUT request).\ - \ This code is also used to indicate closing socket for any other unexpected\ - \ condition in the server.
\n\n\n**Example:**\n\ - ```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ + \ when another socket opens on the used channel or the channel is deleted\ + \ with a REST call.\n \n \n 1006\n\ + \ Abnormal closure. The client should reconnect after receiving this\ + \ status code. A short reconnect delay is recommended.\n \n \ + \ \n 1008\n Policy violation. Set when\ + \ the API key is missing or invalid.\n \n \n 1011\n\ + \ Unexpected condition. The socket is closed with this status in\ + \ an attempt to open a socket to a nonexistent channel (without a prior PUT\ + \ request). This code is also used to indicate a closing socket for any other\ + \ unexpected condition in the server.\n \n \n 1012\n\ + \ Service restart. Set when the server restarts for update, maintenance,\ + \ and so on. The client should reconnect after receiving this status code.\ + \ A short reconnect delay is recommended.\n \n \n\n\ + \n**Expected client behaviour:**\n\nIf the connection is closed with code\ + \ 1006 or 1012, the client should try to reconnect to maintain the notification\ + \ flow. The client might disconnect several times in a relatively short period,\ + \ for example, during service updates. This is normal. The desired client\ + \ behavior is to reconnect after each disconnect.\n\n**Example:**\n```\ncurl\ + \ -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ \ \\\n-H \"Authorization:Bearer {apikey}\" \\\n-H \"Connection:upgrade\" \\\ \n-H \"Upgrade:websocket\" \\\n-H \"Sec-WebSocket-Version: 13\" \\\n-H \"\ Sec-WebSocket-Key: {base64nonce}\" \\\n-N -I\n```" From 7537f77eef9975e9ca62551c022bbe10292c16d2 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 14 Jan 2020 09:37:35 +0000 Subject: [PATCH 033/111] new SDK config changes via api-contract @ 2020-01-14 09:37 --- .../public/pelion_dm_public_openapi.yaml | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index ef3577425..7bed27b3a 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8991,23 +8991,27 @@ paths: \ type of channel is already present, you need to delete it before setting\ \ the callback URL.\n\n**Expiration of a callback URL:**\n\nA callback can\ \ expire when Device Management cannot deliver a notification due to a connection\ - \ timeout or an error response (4xx or 5xx). After each delivery failure,\ - \ Device Management sets an exponential back off time and makes a retry attempt\ - \ after that. The first retry delay is 1 second, then 2s, 4s, 8s, up to maximum\ - \ delay of two minutes. The callback URL is removed if all retries fail within\ - \ 24 hours. More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ - \n**Supported callback URL protocols:**\n\nCurrently, only HTTP and HTTPS\ - \ protocols are supported.\n\n**HTTPS callback URLs:**\n\nWhen delivering\ - \ a notification to an HTTPS-based callback URL, Device Management Connect\ - \ identifies itself with a valid client certificate. The certificate is signed\ - \ by a trusted certificate authority (GlobalSign), with a Common Name (CN)\ - \ set to `notifications.mbedcloud.com`.\n\n**Configuration options:**\n\n\ - The event notification channel provides configurations options defined in\ - \ [Serialization config](#SerializationConfigObjectV2).\n\n**Example:**\n\n\ - This example command shows how to set your callback URL and API key. It also\ - \ sets an optional header authorization. When Device Management Connect calls\ - \ your callback URL, the call contains the authorization header with the defined\ - \ value.\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/callback\ + \ timeout or error response (4xx or 5xx). After each delivery failure, Device\ + \ Management sets an exponential back-off time and makes a retry attempt after\ + \ that. The first retry delay is 1 second, then 2s, 4s, 8s, up to a maximum\ + \ delay of two minutes. The retry delay is applied when the response is received,\ + \ or in case of timeout, after the timeout expires. The request timeout is\ + \ 20 seconds; in the case of timeout, the first retry happens 20 + 1 seconds\ + \ after the first delivery attempt, then 20 + 2 seconds, and so on. The callback\ + \ URL is removed if all retries fail within 24 hours. More about [notification\ + \ sending logic](../integrate-web-app/event-notification.html#notification-sending-logic)\ + \ in the Device Management documentation.\n\n**Supported callback URL protocols:**\n\ + \nCurrently, only HTTP and HTTPS protocols are supported.\n\n**HTTPS callback\ + \ URLs:**\n\nWhen delivering a notification to an HTTPS-based callback URL,\ + \ Device Management Connect identifies itself with a valid client certificate.\ + \ The certificate is signed by a trusted certificate authority (GlobalSign),\ + \ with a Common Name (CN) set to `notifications.mbedcloud.com`.\n\n**Configuration\ + \ options:**\n\nThe event notification channel provides configurations options\ + \ defined in [Serialization config](#SerializationConfigObjectV2).\n\n**Example:**\n\ + \nThis example command shows how to set your callback URL and API key. It\ + \ also sets an optional header authorization. When Device Management Connect\ + \ calls your callback URL, the call contains the authorization header with\ + \ the defined value.\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/callback\ \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n-d '{\n \"url\": \"{callback-url}\",\n \"headers\": {\"authorization\"\ : \"f4b93d6e-4652-4874-82e4-41a3ced0cd56\"},\n \"serialization\": {\"type\"\ From 752fca950238afce7af45111458851174e517d42 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 14 Jan 2020 09:42:09 +0000 Subject: [PATCH 034/111] new SDK config changes via api-contract @ 2020-01-14 09:42 --- api_specifications/public/pelion_dm_public_openapi.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 7bed27b3a..1f4573816 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9575,8 +9575,6 @@ paths: responses: 204: description: Successfully removed subscription. - 404: - description: Endpoint or resource not found. summary: Remove a subscription. tags: - Subscriptions From 220c999832d885f75b3c3750ff97a51a34c88e4d Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 14 Jan 2020 11:56:16 +0000 Subject: [PATCH 035/111] new SDK config changes via api-contract @ 2020-01-14 11:56 --- api_specifications/public/pelion_dm_public_openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 1f4573816..5f3b33576 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -5518,9 +5518,9 @@ definitions: accuracy and UTC time zone. format: date-time type: string - rest_api_requests_with_api_key_tokens: + rest_api_requests_with_api_key_token: $ref: '#/definitions/RestApiRequestsWithApiKeyTokenCounter' - rest_api_requests_with_user_tokens: + rest_api_requests_with_user_token: $ref: '#/definitions/RestApiRequestsWithUserTokenCounter' sda_tokens: $ref: '#/definitions/SdaTokensCounter' From 1ca7e3d0e88502a61b8eda4104b74b1235d85d90 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 15 Jan 2020 08:50:37 +0000 Subject: [PATCH 036/111] new SDK config changes via api-contract @ 2020-01-15 08:50 --- .../public/pelion_dm_public_openapi.yaml | 260 +++++----- .../public/sdk_foundation_definition.json | 208 ++++---- .../public/sdk_foundation_definition.yaml | 454 +++++++++++++----- 3 files changed, 571 insertions(+), 351 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 5f3b33576..edad1f51c 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -2537,7 +2537,7 @@ definitions: type: string description: description: The description of the device. - example: description + example: Temperature measuring device maxLength: 2000 type: string device_class: @@ -2567,7 +2567,8 @@ definitions: maxLength: 512 type: string endpoint_name: - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name is from + the device certificate and is set by factory tool. example: 00000000-0000-0000-0000-000000000000 readOnly: true type: string @@ -2598,7 +2599,8 @@ definitions: type: string type: array host_gateway: - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind Edge + has this host_gateway set. example: '' type: string id: @@ -2647,7 +2649,12 @@ definitions: format: date-time type: string lifecycle_status: - description: The lifecycle status of the device. + description: 'The lifecycle status of the device. + + * Enabled: The device is allowed to connect to Pelion Device Management. + + * Blocked: The device is prevented from connecting to Pelion Device Management. + Device can be, for example, ''suspended''.' enum: - enabled - blocked @@ -2663,17 +2670,19 @@ definitions: format: date-time type: string mechanism: - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with the + device.' enum: - connector - direct type: string mechanism_url: - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' example: '' type: string name: - description: The name of the device. + description: The name given by the web application for the device. Device + itself provides only the endpoint_name. example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string @@ -2682,14 +2691,34 @@ definitions: example: device type: string operator_suspended: - description: Is the device suspended by the operator? + description: Device has been suspended by operator. type: boolean serial_number: - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during + manufacturing. example: 00000000-0000-0000-0000-000000000000 type: string state: - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped + or connected to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. This + state is set only while bootstrapping is in progress. For example, an external + CA gives an error, and the device tries to bootstrap again after few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to connect + to Device Management. + + * Registered: The device has registered with Pelion Device Management. [Device + commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' enum: - unenrolled - cloud_enrolling @@ -2701,7 +2730,7 @@ definitions: description: Is the device suspended by the system? type: boolean updated_at: - description: The time the object was updated. + description: The time this data object was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -2995,7 +3024,7 @@ definitions: maxLength: 100 type: string event_type_category: - description: Category code which groups the event type by a summary category. + description: Category code that groups the event type by a summary category. example: FAIL_MANIFEST_REJECTED type: string event_type_description: @@ -3080,7 +3109,7 @@ definitions: DeviceGroup: properties: created_at: - description: The time the campaign was created. + description: The time the group was created. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -3123,7 +3152,7 @@ definitions: example: device-group type: string updated_at: - description: The time the object was updated. + description: The time this object was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -3324,7 +3353,7 @@ definitions: DeviceQuery: properties: created_at: - description: The timestamp of when the device was created in Device Directory. + description: The timestamp of when the query was created. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -19211,7 +19240,7 @@ paths: **Example:** - Get all defined categories of why device is blocked from the device management + Get all defined device suspension categories: ``` @@ -19224,7 +19253,7 @@ paths: operationId: Block_Categories_list parameters: - description: This endpoint doesn't support paging. Parameter is accepted for - API compatibility. Value is ignored + API compatibility. Value is ignored. in: query maximum: 1000 minimum: 2 @@ -19235,7 +19264,7 @@ paths: name: order type: string - description: This endpoint doesn't support paging. Parameter is accepted for - API compatibility. Value is ignored + API compatibility. Value is ignored. in: query name: after type: string @@ -19944,31 +19973,15 @@ paths: x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml /v3/device-events/: get: - description: 'List all device events for an account. - - - **Example:** - - Following example gets device-events limiting returned results to max 5 events - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5 \ - - -H ''Authorization: Bearer '' - - ``` - - or to get events for certain device filter based on device_id: - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id= - \ - - -H ''Authorization: Bearer '' - - ```' + description: "List all or a filtered list of device events for the account.\ + \ Device events are events significant to operation or lifetime, such as creation,\ + \ firmware update, and suspension.\n\nTo see statistics for device connectivity\ + \ and usage, use the [Statistics API](../service-api-references/connect-statistics.html).\n\ + \n **Example:**\n Following example gets device-events limiting returned results\ + \ to max 5 events\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5\ + \ \\\n -H 'Authorization: Bearer '\n ```\n or to get events for certain\ + \ device filter based on device_id:\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id=\ + \ \\\n -H 'Authorization: Bearer '\n ```" operationId: Device_Event_list parameters: - description: How many objects to retrieve in the page (2-1000). Limit values @@ -19994,7 +20007,7 @@ paths: - description: "URL-encoded query string parameter to filter returned data.\n\ \n##### Filtering\n\n`?filter={URL encoded query string}`\n\nThe query string\ \ is made up of key/value pairs separated by ampersands. So for a query\ - \ of\n`key1=value1&key2=value2&key3=value3`, this would be encoded as `?filter=key1%3Dvalue1%26key2%3Dvalue2%26key3%3Dvalue3`.\n\ + \ of\n`key1=value1&key2=value2&key3=value3`, this is encoded as `?filter=key1%3Dvalue1%26key2%3Dvalue2%26key3%3Dvalue3`.\n\ \n###### Filterable fields:\n\nThe below table lists all filterable fields:\n\ \n\n \n \n \n \n \n \n\ @@ -20166,12 +20179,13 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/device-events/{device_event_id}/: get: - description: 'Retrieve a specific device event. + description: '"Retrieve a specific device event. See ''/v3/device-events/'' + for information on device events, and how to get the device_event_id." **Example:** - To fetch a specific event you can use the ''id'' field form the ''/v3/device-events''. + To fetch a specific event you can use the ''id'' field from ''/v3/device-events''. Form of ''016c03d40a4e000000000001001003b4'' ``` @@ -20443,7 +20457,8 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/device-groups/{device-group-id}/: delete: - description: Delete a group. + description: Delete a group. This deletes the group, but not the devices in + the group. operationId: Group_delete parameters: - description: The ID of the group. @@ -20467,7 +20482,9 @@ paths: - Device directory - groups x-origin: /home/circleci/project/device-directory/public/swagger.yml get: - description: Get a group. + description: Returns [DeviceGroup](../service-api-references/device-directory.html#DeviceGroup) + info what contains info of the group, for example, name and updated date. + To list the devices in the group, use '/v3/device-groups/{device-group-id}/devices/'. operationId: Group_retrieve parameters: - description: The group ID @@ -20497,7 +20514,7 @@ paths: - Device directory - groups x-origin: /home/circleci/project/device-directory/public/swagger.yml put: - description: Modify the attributes of a group. + description: Modify the attributes of a group, such as the description. operationId: Group_update parameters: - in: path @@ -20537,7 +20554,7 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/device-groups/{device-group-id}/devices/: get: - description: Get a page of devices. + description: Get a page of devices in a specified group. operationId: Group_members_retrieve parameters: - in: path @@ -21311,7 +21328,7 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/device-groups/{device-group-id}/devices/add/: post: - description: Add one device to a group. + description: Add one device to a group. A device can be in multiple groups. operationId: Group_members_add parameters: - description: The ID of the group. @@ -21408,32 +21425,33 @@ paths: \n##### Filtering\n\n`?filter={URL encoded query string}`\n\nThe query string\ \ is made up of key/value pairs separated by ampersands. So for a query\ \ of\n`key1=value1&key2=value2&key3=value3`, this would be encoded as: `?filter=key1%3Dvalue1%26key2%3Dvalue2%26key3%3Dvalue3`.\n\ - \nThe below table lists all filterable fields:\n\n
Field= / __eq\ \ / __neq__in / __nin__lte / __gte
\n \n \ - \ \n \n \n \n \n \n \n \n\ - \ \n \n \n \n \n \n \n \n\ - \ \n \n \n \ - \ \n \n \n \n \n \n \n \n \n\ + \n###### Filterable fields\n\nThe below table lists all filterable fields:\n\ + \n
Field= / __eq / __neq__in\ - \ / __nin__lte / __gte
created_at\u2713\u2713\ - \u2713
etag\u2713\u2713\u2713
id\u2713\u2713\ -  
name
\n \n \n \n \n \n \n\ + \ \n \n \n \n \n \ + \ \n \n \n \ + \ \n \n \n \n \n \n \n \n \n \ + \ \n \n \n \ + \ \n \n \n \n \n \n \n \n \n\ \ \n \n \n \ - \ \n \n \n \n \ - \ \n \n \n \n \n\ - \ \n \n \n \ - \ \n \n
Field= / __eq\ + \ / __neq__in / __nin__lte / __gte
created_at\u2713\u2713\u2713
etag\u2713\u2713\ + \u2713
id\u2713\u2713 
name\u2713\u2713\ +  
query\u2713\u2713 
query\u2713\u2713 
updated_at\u2713\u2713\u2713
\n \n\nThe examples below show the queries\ - \ in *unencoded* form.\n\n###### By device query properties (all properties\ - \ are filterable):\n\nFor example:\n`description={value}`\n\n###### On date-time\ - \ fields:\n\nDate-time fields should be specified in UTC RFC3339 format\ - \ `YYYY-MM-DDThh:mm:ss.msZ`. There are three permitted\nvariations:\n\n\ - * UTC RFC3339 with milliseconds, for example, 2016-11-30T16:25:12.1234Z.\n\ - * UTC RFC3339 without milliseconds, for example, 2016-11-30T16:25:12Z.\n\ - * UTC RFC3339 shortened - without milliseconds and punctuation, for example,\ - \ 20161130T162512Z.\n\nDate-time filtering supports three operators:\n\n\ - * Equality.\n* Greater than or equal to – field name suffixed with\ - \ `__gte`.\n* Less than or equal to – field name suffixed with `__lte`.\n\ - \nLower and upper limits to a date-time range may be specified by including\ - \ both the `__gte` and `__lte` forms in\nthe filter: `{field name}[|__lte|__gte]={UTC\ - \ RFC3339 date-time}`.\n\n##### Multi-field example\n\n`query_id=0158d38771f70000000000010010038c&created_at__gte=2016-11-30T16:25:12.1234Z&created_at__lte=2016-12-30T00:00:00Z`\n\ + \ \n \n updated_at\n \u2713\n\ + \ \u2713\n \u2713\n \n \n\n\ +  \n\nThe examples below show the queries in *unencoded* form.\n\n######\ + \ By device query properties (all properties are filterable):\n\nFor example:\n\ + `description={value}`\n\n###### On date-time fields:\n\nDate-time fields\ + \ should be specified in UTC RFC3339 format `YYYY-MM-DDThh:mm:ss.msZ`. There\ + \ are three permitted\nvariations:\n\n* UTC RFC3339 with milliseconds, for\ + \ example, 2016-11-30T16:25:12.1234Z.\n* UTC RFC3339 without milliseconds,\ + \ for example, 2016-11-30T16:25:12Z.\n* UTC RFC3339 shortened - without\ + \ milliseconds and punctuation, for example, 20161130T162512Z.\n\nDate-time\ + \ filtering supports three operators:\n\n* Equality.\n* Greater than or\ + \ equal to – field name suffixed with `__gte`.\n* Less than or equal\ + \ to – field name suffixed with `__lte`.\n\nLower and upper limits\ + \ to a date-time range may be specified by including both the `__gte` and\ + \ `__lte` forms in\nthe filter: `{field name}[|__lte|__gte]={UTC RFC3339\ + \ date-time}`.\n\n##### Multi-field example\n\n`query_id=0158d38771f70000000000010010038c&created_at__gte=2016-11-30T16:25:12.1234Z&created_at__lte=2016-12-30T00:00:00Z`\n\ \nEncoded:\n\n`filter=query_id%3D0158d38771f70000000000010010038c%26created_at__gte%3D2016-11-30T16%3A25%3A12.1234Z%26created_at__lte%3D2016-11-30T00%3A00%3A00Z`\n\ \n##### Filtering with filter operators\n\nString field filtering supports\ \ the following operators:\n\n* Equality: `__eq`.\n* Non-equality: `__neq`.\n\ @@ -21670,7 +21688,7 @@ paths: /v3/devicelog/: get: deprecated: true - description: 'DEPRECATED: List all device events. Use `/v3/device-events/` instead.' + description: 'DEPRECATED: This API is replaced with `/v3/device-events/`.' operationId: Device_Log_list parameters: - description: How many objects to retrieve in the page (2-1000). Limit values @@ -21840,7 +21858,7 @@ paths: '401': description: Not authenticated. '404': - description: Unable to find page + description: Unable to find page. summary: 'DEPRECATED: List all device events.' tags: - Device directory - events @@ -21879,8 +21897,7 @@ paths: /v3/devicelog/{device_event_id}/: get: deprecated: true - description: Retrieve device event (deprecated, use /v3/device-events/{device_event_id}/ - instead). + description: 'DEPRECATED: This API is replaced by `/v3/device-events/` and `/v3/device-events/{device_event_id}/`.' operationId: Device_Log_retrieve parameters: - in: path @@ -21904,7 +21921,7 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/devices/: get: - description: 'List all devices. + description: 'List all devices enrolled to Device Management for the account. **Example:** @@ -22513,7 +22530,9 @@ paths: x-filter: *id030 x-origin: /home/circleci/project/device-directory/public/swagger.yml post: - description: Create a new device. + description: Create a new device in Device Management. Usually you do not need + to create a device this way, as it is automatically created when it bootstraps + or connects to Device Management. operationId: Device_create parameters: - in: body @@ -22612,10 +22631,12 @@ paths: /v3/devices/{id}/: delete: description: Delete device. Only available for devices with a developer certificate. - Attempting to delete a device with a production certicate returns a 400 response. + Attempting to delete a device with a production certificate returns a 400 + response. operationId: Device_destroy parameters: - - description: The ID of the device. + - description: The [Device ID](../connecting/device-identity.html) created by + Device Management. in: path name: id required: true @@ -22634,7 +22655,10 @@ paths: - Device directory - devices x-origin: /home/circleci/project/device-directory/public/swagger.yml get: - description: 'Retrieve information about a specific device. + description: 'Retrieve information about a specific device. This API returns + [DeviceData](../service-api-references/device-directory.html#devicedata). + If you want to see the structure of resources in the device or the actual + resource values, use the [Connect API](../service-api-references/device-management-connect.html). **Example:** @@ -22651,7 +22675,8 @@ paths: ```' operationId: Device_retrieve parameters: - - description: The ID of the device. + - description: The [Device ID](../connecting/device-identity.html) created by + Device Management. in: path name: id required: true @@ -22693,7 +22718,8 @@ paths: ```' operationId: Device_update parameters: - - description: The ID of the device. + - description: The [Device ID](../connecting/device-identity.html) created by + Device Management. in: path name: id required: true @@ -22721,15 +22747,23 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/devices/{id}/resume: post: - description: 'Returning a device to service restores connectivity to the device. - All API functionality is restored. + description: '[Returning a device to service](../device-management/device-suspension.html#suspending-and-resuming-connection-to-devices-with-the-apis) + allows the device to connect to Device Management again. The connection is + established according to the device''s reconnection logic. The device reports + a [registration event](../service-api-references/device-management-connect.html#notificationmessage) + through a [notification channel](../integrate-web-app/event-notification.html). + + + The default reconnection logic is a progressive back-off for 2, 4, 8, or 16 + seconds, up to one week. All API functionality is restored. **Example:** - Following example enables device to connect again to Pelion Device Management. - Note that the category must match the reason why device was suspended. This - device was reported stolen but was now found. + + The following example enables a device to reconnect to Pelion Device Management. + The category must match the reason device was suspended. This device was reported + stolen, but was found: ``` @@ -22784,33 +22818,25 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/devices/{id}/suspend: post: - description: 'Suspending a device prevents it from connecting to Device Management. - If a device is currently connected, it will be disconnected. Some API operations - will fail while a device is suspended. - - - ***Example:* - - Following example suspends a device with category "Lost or stolen". You can - see available categories with ''/v3/device-block-categories/''. - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/devices//suspend - \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{ "category": "lost_or_stolen", "description": "EXAMPLE: Customer contacted - via phone and reported device being stolen. Specific time of the theft was - not know. Device last used in May/2019"}'' - - ```' + description: "[Suspending a device](../device-management/device-suspension.html)\ + \ prevents it from connecting to Device Management. If a device is currently\ + \ connected, it disconnects and shows as deregistered.\n\nYou can also receive\ + \ [deregistration events](../service-api-references/device-management-connect.html#notificationmessage)\ + \ in [notification channels](../integrate-web-app/event-notification.html).\n\ + \nAPI operations needing device transactions fail while a device is suspended.\n\ + \nExample use case to use suspending is that device is reported lost or stolen.\ + \ You can block the device to connect and this way prevent device to cause\ + \ unreliable data to your system.\n\n ***Example:*\n\n The following example\ + \ suspends a device with category \"Lost or stolen\". You can see available\ + \ categories with '/v3/device-block-categories/'.\n ```\n curl -X POST https://api.us-east-1.mbedcloud.com/v3/devices//suspend\ + \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n -d '{ \"category\": \"lost_or_stolen\", \"description\": \"EXAMPLE:\ + \ Customer contacted via phone and reported device being stolen. Specific\ + \ time of the theft was not know. Device last used in May/2019\"}'\n ```" operationId: Device_suspend parameters: - - description: The ID of the device. + - description: The [Device ID](../connecting/device-identity.html) created by + Device Management. in: path name: id required: true diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index c18b5a403..2ca1ed4e4 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -31176,7 +31176,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Add one device to a group.", + "description": "Add one device to a group. A device can be in multiple groups.", "field_renames": [], "fields": [ { @@ -31462,7 +31462,7 @@ "_key": "add_to_group" }, { - "description": "Create a new device.", + "description": "Create a new device in Device Management. Usually you do not need to create a device this way, as it is automatically created when it bootstraps or connects to Device Management.", "field_renames": [], "fields": [ { @@ -31545,7 +31545,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description", + "example": "Temperature measuring device", "api_fieldname": "description", "entity_fieldname": "description", "parameter_fieldname": "description", @@ -31596,7 +31596,7 @@ }, { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true, "api_fieldname": "endpoint_name", @@ -31620,7 +31620,7 @@ }, { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "", "api_fieldname": "host_gateway", "entity_fieldname": "host_gateway", @@ -31659,7 +31659,7 @@ "direct" ], "type": "string", - "description": "The ID of the channel used to communicate with the device.", + "description": "NOT USED: The ID of the channel used to communicate with the device.", "api_fieldname": "mechanism", "entity_fieldname": "mechanism", "parameter_fieldname": "mechanism", @@ -31670,7 +31670,7 @@ }, { "type": "string", - "description": "The address of the connector to use.", + "description": "NOT USED: The address of the connector to use.", "example": "", "api_fieldname": "mechanism_url", "entity_fieldname": "mechanism_url", @@ -31682,7 +31682,7 @@ { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "name", "entity_fieldname": "name", @@ -31693,7 +31693,7 @@ }, { "type": "string", - "description": "The serial number of the device.", + "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number", @@ -31711,7 +31711,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state", "parameter_fieldname": "state", @@ -31778,7 +31778,7 @@ }, "operator_suspended": { "type": "boolean", - "description": "Is the device suspended by the operator?", + "description": "Device has been suspended by operator.", "api_fieldname": "operator_suspended", "entity_fieldname": "operator_suspended" }, @@ -31842,7 +31842,7 @@ "enabled", "blocked" ], - "description": "The lifecycle status of the device.", + "description": "The lifecycle status of the device.\n* Enabled: The device is allowed to connect to Pelion Device Management.\n* Blocked: The device is prevented from connecting to Pelion Device Management. Device can be, for example, 'suspended'.", "example": "enabled", "api_fieldname": "lifecycle_status", "entity_fieldname": "lifecycle_status" @@ -31936,7 +31936,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description", + "example": "Temperature measuring device", "api_fieldname": "description", "entity_fieldname": "description" }, @@ -31965,7 +31965,7 @@ }, "endpoint_name": { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true, "api_fieldname": "endpoint_name", @@ -31996,7 +31996,7 @@ }, "host_gateway": { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "", "api_fieldname": "host_gateway", "entity_fieldname": "host_gateway" @@ -32022,13 +32022,13 @@ "direct" ], "type": "string", - "description": "The ID of the channel used to communicate with the device.", + "description": "NOT USED: The ID of the channel used to communicate with the device.", "api_fieldname": "mechanism", "entity_fieldname": "mechanism" }, "mechanism_url": { "type": "string", - "description": "The address of the connector to use.", + "description": "NOT USED: The address of the connector to use.", "example": "", "api_fieldname": "mechanism_url", "entity_fieldname": "mechanism_url" @@ -32036,7 +32036,7 @@ "name": { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "name", "entity_fieldname": "name" @@ -32050,7 +32050,7 @@ }, "serial_number": { "type": "string", - "description": "The serial number of the device.", + "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number" @@ -32064,7 +32064,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state" }, @@ -32072,7 +32072,7 @@ "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", - "description": "The time the object was updated.", + "description": "The time this data object was updated.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at" }, @@ -32156,11 +32156,11 @@ "_key": "create" }, { - "description": "Delete device. Only available for devices with a developer certificate. Attempting to delete a device with a production certicate returns a 400 response.", + "description": "Delete device. Only available for devices with a developer certificate. Attempting to delete a device with a production certificate returns a 400 response.", "field_renames": [], "fields": [ { - "description": "The ID of the device.", + "description": "The [Device ID](../connecting/device-identity.html) created by Device Management.", "in": "path", "name": "id", "required": true, @@ -32216,7 +32216,7 @@ "_key": "delete" }, { - "description": "List all devices.\n\n**Example:**\nFollowing example filters devices according to state field and returns only devices in 'registered' state:\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/devices?filter=state%3Dregistered \\\n-H 'Authorization: Bearer '\n```", + "description": "List all devices enrolled to Device Management for the account.\n\n**Example:**\nFollowing example filters devices according to state field and returns only devices in 'registered' state:\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/devices?filter=state%3Dregistered \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -32324,7 +32324,7 @@ }, "operator_suspended": { "type": "boolean", - "description": "Is the device suspended by the operator?" + "description": "Device has been suspended by operator." }, "last_operator_suspended_category": { "type": "string", @@ -32372,7 +32372,7 @@ "enabled", "blocked" ], - "description": "The lifecycle status of the device.", + "description": "The lifecycle status of the device.\n* Enabled: The device is allowed to connect to Pelion Device Management.\n* Blocked: The device is prevented from connecting to Pelion Device Management. Device can be, for example, 'suspended'.", "example": "enabled" }, "account_id": { @@ -32444,7 +32444,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description" + "example": "Temperature measuring device" }, "device_class": { "type": "string", @@ -32465,7 +32465,7 @@ }, "endpoint_name": { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true }, @@ -32488,7 +32488,7 @@ }, "host_gateway": { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "" }, "manifest": { @@ -32508,17 +32508,17 @@ "direct" ], "type": "string", - "description": "The ID of the channel used to communicate with the device." + "description": "NOT USED: The ID of the channel used to communicate with the device." }, "mechanism_url": { "type": "string", - "description": "The address of the connector to use.", + "description": "NOT USED: The address of the connector to use.", "example": "" }, "name": { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000" }, "object": { @@ -32528,7 +32528,7 @@ }, "serial_number": { "type": "string", - "description": "The serial number of the device.", + "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000" }, "state": { @@ -32540,13 +32540,13 @@ "deregistered" ], "type": "string", - "description": "The current state of the device." + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired." }, "updated_at": { "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", - "description": "The time the object was updated." + "description": "The time this data object was updated." }, "vendor_id": { "type": "string", @@ -33002,7 +33002,7 @@ "_key": "list" }, { - "description": "Retrieve information about a specific device.\n\n**Example:**\nFollowing example must be updated with the device's ID to the URL. The id is from of \"01667c6e992c00000000000100100370\"\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/devices/ \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve information about a specific device. This API returns [DeviceData](../service-api-references/device-directory.html#devicedata). If you want to see the structure of resources in the device or the actual resource values, use the [Connect API](../service-api-references/device-management-connect.html).\n\n**Example:**\nFollowing example must be updated with the device's ID to the URL. The id is from of \"01667c6e992c00000000000100100370\"\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/devices/ \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -33063,7 +33063,7 @@ }, "operator_suspended": { "type": "boolean", - "description": "Is the device suspended by the operator?", + "description": "Device has been suspended by operator.", "api_fieldname": "operator_suspended", "entity_fieldname": "operator_suspended" }, @@ -33127,7 +33127,7 @@ "enabled", "blocked" ], - "description": "The lifecycle status of the device.", + "description": "The lifecycle status of the device.\n* Enabled: The device is allowed to connect to Pelion Device Management.\n* Blocked: The device is prevented from connecting to Pelion Device Management. Device can be, for example, 'suspended'.", "example": "enabled", "api_fieldname": "lifecycle_status", "entity_fieldname": "lifecycle_status" @@ -33221,7 +33221,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description", + "example": "Temperature measuring device", "api_fieldname": "description", "entity_fieldname": "description" }, @@ -33250,7 +33250,7 @@ }, "endpoint_name": { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true, "api_fieldname": "endpoint_name", @@ -33281,7 +33281,7 @@ }, "host_gateway": { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "", "api_fieldname": "host_gateway", "entity_fieldname": "host_gateway" @@ -33307,13 +33307,13 @@ "direct" ], "type": "string", - "description": "The ID of the channel used to communicate with the device.", + "description": "NOT USED: The ID of the channel used to communicate with the device.", "api_fieldname": "mechanism", "entity_fieldname": "mechanism" }, "mechanism_url": { "type": "string", - "description": "The address of the connector to use.", + "description": "NOT USED: The address of the connector to use.", "example": "", "api_fieldname": "mechanism_url", "entity_fieldname": "mechanism_url" @@ -33321,7 +33321,7 @@ "name": { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "name", "entity_fieldname": "name" @@ -33335,7 +33335,7 @@ }, "serial_number": { "type": "string", - "description": "The serial number of the device.", + "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number" @@ -33349,7 +33349,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state" }, @@ -33357,7 +33357,7 @@ "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", - "description": "The time the object was updated.", + "description": "The time this data object was updated.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at" }, @@ -34353,7 +34353,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description", + "example": "Temperature measuring device", "api_fieldname": "description", "entity_fieldname": "description", "parameter_fieldname": "description", @@ -34375,7 +34375,7 @@ }, { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true, "api_fieldname": "endpoint_name", @@ -34399,7 +34399,7 @@ }, { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "", "api_fieldname": "host_gateway", "entity_fieldname": "host_gateway", @@ -34422,7 +34422,7 @@ { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "name", "entity_fieldname": "name", @@ -34478,7 +34478,7 @@ }, "operator_suspended": { "type": "boolean", - "description": "Is the device suspended by the operator?", + "description": "Device has been suspended by operator.", "api_fieldname": "operator_suspended", "entity_fieldname": "operator_suspended" }, @@ -34542,7 +34542,7 @@ "enabled", "blocked" ], - "description": "The lifecycle status of the device.", + "description": "The lifecycle status of the device.\n* Enabled: The device is allowed to connect to Pelion Device Management.\n* Blocked: The device is prevented from connecting to Pelion Device Management. Device can be, for example, 'suspended'.", "example": "enabled", "api_fieldname": "lifecycle_status", "entity_fieldname": "lifecycle_status" @@ -34636,7 +34636,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description", + "example": "Temperature measuring device", "api_fieldname": "description", "entity_fieldname": "description" }, @@ -34665,7 +34665,7 @@ }, "endpoint_name": { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true, "api_fieldname": "endpoint_name", @@ -34696,7 +34696,7 @@ }, "host_gateway": { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "", "api_fieldname": "host_gateway", "entity_fieldname": "host_gateway" @@ -34722,13 +34722,13 @@ "direct" ], "type": "string", - "description": "The ID of the channel used to communicate with the device.", + "description": "NOT USED: The ID of the channel used to communicate with the device.", "api_fieldname": "mechanism", "entity_fieldname": "mechanism" }, "mechanism_url": { "type": "string", - "description": "The address of the connector to use.", + "description": "NOT USED: The address of the connector to use.", "example": "", "api_fieldname": "mechanism_url", "entity_fieldname": "mechanism_url" @@ -34736,7 +34736,7 @@ "name": { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "name", "entity_fieldname": "name" @@ -34750,7 +34750,7 @@ }, "serial_number": { "type": "string", - "description": "The serial number of the device.", + "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number" @@ -34764,7 +34764,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state" }, @@ -34772,7 +34772,7 @@ "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", - "description": "The time the object was updated.", + "description": "The time this data object was updated.", "api_fieldname": "updated_at", "entity_fieldname": "updated_at" }, @@ -34974,7 +34974,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description", + "example": "Temperature measuring device", "api_fieldname": "description", "readOnly": false, "required": false, @@ -35017,7 +35017,7 @@ }, { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true, "api_fieldname": "endpoint_name", @@ -35067,7 +35067,7 @@ }, { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "", "api_fieldname": "host_gateway", "readOnly": false, @@ -35160,7 +35160,7 @@ "enabled", "blocked" ], - "description": "The lifecycle status of the device.", + "description": "The lifecycle status of the device.\n* Enabled: The device is allowed to connect to Pelion Device Management.\n* Blocked: The device is prevented from connecting to Pelion Device Management. Device can be, for example, 'suspended'.", "example": "enabled", "api_fieldname": "lifecycle_status", "readOnly": true, @@ -35193,7 +35193,7 @@ "direct" ], "type": "string", - "description": "The ID of the channel used to communicate with the device.", + "description": "NOT USED: The ID of the channel used to communicate with the device.", "api_fieldname": "mechanism", "readOnly": false, "required": false, @@ -35202,7 +35202,7 @@ }, { "type": "string", - "description": "The address of the connector to use.", + "description": "NOT USED: The address of the connector to use.", "example": "", "api_fieldname": "mechanism_url", "readOnly": false, @@ -35212,7 +35212,7 @@ { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "name", "readOnly": false, @@ -35221,7 +35221,7 @@ }, { "type": "boolean", - "description": "Is the device suspended by the operator?", + "description": "Device has been suspended by operator.", "api_fieldname": "operator_suspended", "readOnly": true, "required": false, @@ -35229,7 +35229,7 @@ }, { "type": "string", - "description": "The serial number of the device.", + "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "readOnly": false, @@ -35245,7 +35245,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "readOnly": false, "required": false, @@ -35264,7 +35264,7 @@ "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", - "description": "The time the object was updated.", + "description": "The time this data object was updated.", "api_fieldname": "updated_at", "readOnly": true, "required": false, @@ -39201,7 +39201,7 @@ "primary_key_field": "id", "methods": [ { - "description": "List all device events for an account.\n\n**Example:**\nFollowing example gets device-events limiting returned results to max 5 events\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5 \\\n-H 'Authorization: Bearer '\n```\nor to get events for certain device filter based on device_id:\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id= \\\n-H 'Authorization: Bearer '\n```", + "description": "List all or a filtered list of device events for the account. Device events are events significant to operation or lifetime, such as creation, firmware update, and suspension.\n\nTo see statistics for device connectivity and usage, use the [Statistics API](../service-api-references/connect-statistics.html).\n\n **Example:**\n Following example gets device-events limiting returned results to max 5 events\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5 \\\n -H 'Authorization: Bearer '\n ```\n or to get events for certain device filter based on device_id:\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id= \\\n -H 'Authorization: Bearer '\n ```", "field_renames": [], "fields": [ { @@ -39338,7 +39338,7 @@ { "type": "string", "example": "FAIL_MANIFEST_REJECTED", - "description": "Category code which groups the event type by a summary category.", + "description": "Category code that groups the event type by a summary category.", "_key": "event_type_category" }, { @@ -39524,7 +39524,7 @@ "_key": "list" }, { - "description": "Retrieve a specific device event.\n\n**Example:**\nTo fetch a specific event you can use the 'id' field form the '/v3/device-events'. Form of '016c03d40a4e000000000001001003b4'\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events/ \\\n-H 'Authorization: Bearer '\n```", + "description": "\"Retrieve a specific device event. See '/v3/device-events/' for information on device events, and how to get the device_event_id.\"\n\n**Example:**\nTo fetch a specific event you can use the 'id' field from '/v3/device-events'. Form of '016c03d40a4e000000000001001003b4'\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events/ \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -39624,7 +39624,7 @@ { "type": "string", "example": "FAIL_MANIFEST_REJECTED", - "description": "Category code which groups the event type by a summary category.", + "description": "Category code that groups the event type by a summary category.", "api_fieldname": "event_type_category", "entity_fieldname": "event_type_category", "_key": "event_type_category" @@ -39799,7 +39799,7 @@ { "type": "string", "example": "FAIL_MANIFEST_REJECTED", - "description": "Category code which groups the event type by a summary category.", + "description": "Category code that groups the event type by a summary category.", "api_fieldname": "event_type_category", "readOnly": true, "required": false, @@ -39847,7 +39847,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Add one device to a group.", + "description": "Add one device to a group. A device can be in multiple groups.", "field_renames": [], "fields": [ { @@ -40197,7 +40197,7 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created.", + "description": "The time the group was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "entity_fieldname": "created_at", @@ -40272,7 +40272,7 @@ { "type": "string", "format": "date-time", - "description": "The time the object was updated.", + "description": "The time this object was updated.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", @@ -40537,7 +40537,7 @@ "_key": "create" }, { - "description": "Delete a group.", + "description": "Delete a group. This deletes the group, but not the devices in the group.", "field_renames": [], "fields": [ { @@ -40734,7 +40734,7 @@ "_key": "delete" }, { - "description": "Get a page of devices.", + "description": "Get a page of devices in a specified group.", "field_renames": [], "fields": [ { @@ -40858,7 +40858,7 @@ }, "operator_suspended": { "type": "boolean", - "description": "Is the device suspended by the operator?" + "description": "Device has been suspended by operator." }, "last_operator_suspended_category": { "type": "string", @@ -40906,7 +40906,7 @@ "enabled", "blocked" ], - "description": "The lifecycle status of the device.", + "description": "The lifecycle status of the device.\n* Enabled: The device is allowed to connect to Pelion Device Management.\n* Blocked: The device is prevented from connecting to Pelion Device Management. Device can be, for example, 'suspended'.", "example": "enabled" }, "account_id": { @@ -40978,7 +40978,7 @@ "type": "string", "maxLength": 2000, "description": "The description of the device.", - "example": "description" + "example": "Temperature measuring device" }, "device_class": { "type": "string", @@ -40999,7 +40999,7 @@ }, "endpoint_name": { "type": "string", - "description": "The endpoint name given to the device.", + "description": "The endpoint name given to the device. The endpoint_name is from the device certificate and is set by factory tool.", "example": "00000000-0000-0000-0000-000000000000", "readOnly": true }, @@ -41022,7 +41022,7 @@ }, "host_gateway": { "type": "string", - "description": "The ID of the host gateway, if appropriate.", + "description": "The ID of the host gateway, if appropriate. A device behind Edge has this host_gateway set.", "example": "" }, "manifest": { @@ -41042,17 +41042,17 @@ "direct" ], "type": "string", - "description": "The ID of the channel used to communicate with the device." + "description": "NOT USED: The ID of the channel used to communicate with the device." }, "mechanism_url": { "type": "string", - "description": "The address of the connector to use.", + "description": "NOT USED: The address of the connector to use.", "example": "" }, "name": { "type": "string", "maxLength": 128, - "description": "The name of the device.", + "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000" }, "object": { @@ -41062,7 +41062,7 @@ }, "serial_number": { "type": "string", - "description": "The serial number of the device.", + "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000" }, "state": { @@ -41074,13 +41074,13 @@ "deregistered" ], "type": "string", - "description": "The current state of the device." + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired." }, "updated_at": { "format": "date-time", "example": "2017-05-22T12:37:55.576563Z", "type": "string", - "description": "The time the object was updated." + "description": "The time this data object was updated." }, "vendor_id": { "type": "string", @@ -41835,7 +41835,7 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created.", + "description": "The time the group was created.", "example": "2017-05-22T12:37:55.576563Z", "_key": "created_at" }, @@ -41894,7 +41894,7 @@ { "type": "string", "format": "date-time", - "description": "The time the object was updated.", + "description": "The time this object was updated.", "example": "2017-05-22T12:37:55.576563Z", "_key": "updated_at" } @@ -42197,7 +42197,7 @@ "_key": "list" }, { - "description": "Get a group.", + "description": "Returns [DeviceGroup](../service-api-references/device-directory.html#DeviceGroup) info what contains info of the group, for example, name and updated date. To list the devices in the group, use '/v3/device-groups/{device-group-id}/devices/'.", "field_renames": [], "fields": [ { @@ -42223,7 +42223,7 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created.", + "description": "The time the group was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "entity_fieldname": "created_at", @@ -42298,7 +42298,7 @@ { "type": "string", "format": "date-time", - "description": "The time the object was updated.", + "description": "The time this object was updated.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", @@ -42851,7 +42851,7 @@ "_key": "remove_device" }, { - "description": "Modify the attributes of a group.", + "description": "Modify the attributes of a group, such as the description.", "field_renames": [], "fields": [ { @@ -42926,7 +42926,7 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created.", + "description": "The time the group was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "entity_fieldname": "created_at", @@ -43001,7 +43001,7 @@ { "type": "string", "format": "date-time", - "description": "The time the object was updated.", + "description": "The time this object was updated.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "entity_fieldname": "updated_at", @@ -43269,7 +43269,7 @@ { "type": "string", "format": "date-time", - "description": "The time the campaign was created.", + "description": "The time the group was created.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "created_at", "readOnly": true, @@ -43334,7 +43334,7 @@ { "type": "string", "format": "date-time", - "description": "The time the object was updated.", + "description": "The time this object was updated.", "example": "2017-05-22T12:37:55.576563Z", "api_fieldname": "updated_at", "readOnly": true, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 83b9a0105..a5f792087 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -23301,7 +23301,7 @@ entities: - _key: description api_fieldname: description description: The description of the device. - example: description + example: Temperature measuring device maxLength: 2000 readOnly: false required: false @@ -23342,7 +23342,8 @@ entities: type: string - _key: endpoint_name api_fieldname: endpoint_name - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name is from + the device certificate and is set by factory tool. example: 00000000-0000-0000-0000-000000000000 readOnly: true required: false @@ -23381,7 +23382,8 @@ entities: type: array - _key: host_gateway api_fieldname: host_gateway - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind Edge + has this host_gateway set. example: '' readOnly: false required: false @@ -23457,7 +23459,12 @@ entities: type: string - _key: lifecycle_status api_fieldname: lifecycle_status - description: The lifecycle status of the device. + description: 'The lifecycle status of the device. + + * Enabled: The device is allowed to connect to Pelion Device Management. + + * Blocked: The device is prevented from connecting to Pelion Device Management. + Device can be, for example, ''suspended''.' enum: - enabled - blocked @@ -23483,7 +23490,7 @@ entities: type: string - _key: mechanism api_fieldname: mechanism - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with the device.' enum: - connector - direct @@ -23493,14 +23500,15 @@ entities: type: string - _key: mechanism_url api_fieldname: mechanism_url - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' example: '' readOnly: false required: false type: string - _key: name api_fieldname: name - description: The name of the device. + description: The name given by the web application for the device. Device itself + provides only the endpoint_name. example: 00000000-0000-0000-0000-000000000000 maxLength: 128 readOnly: false @@ -23508,20 +23516,39 @@ entities: type: string - _key: operator_suspended api_fieldname: operator_suspended - description: Is the device suspended by the operator? + description: Device has been suspended by operator. readOnly: true required: false type: boolean - _key: serial_number api_fieldname: serial_number - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during manufacturing. example: 00000000-0000-0000-0000-000000000000 readOnly: false required: false type: string - _key: state api_fieldname: state - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped or connected + to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. This state + is set only while bootstrapping is in progress. For example, an external CA + gives an error, and the device tries to bootstrap again after few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to connect + to Device Management. + + * Registered: The device has registered with Pelion Device Management. [Device + commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' enum: - unenrolled - cloud_enrolling @@ -23540,7 +23567,7 @@ entities: type: boolean - _key: updated_at api_fieldname: updated_at - description: The time the object was updated. + description: The time this data object was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -23556,7 +23583,7 @@ entities: group_id: Devices methods: - _key: add_to_group - description: Add one device to a group. + description: Add one device to a group. A device can be in multiple groups. drop_fields: - object - etag @@ -23753,7 +23780,9 @@ entities: x_deprecation: null x_filter: {} - _key: create - description: Create a new device. + description: Create a new device in Device Management. Usually you do not need + to create a device this way, as it is automatically created when it bootstraps + or connects to Device Management. drop_fields: - object - etag @@ -23850,7 +23879,7 @@ entities: api_fieldname: description description: The description of the device. entity_fieldname: description - example: description + example: Temperature measuring device in: body maxLength: 2000 parameter_fieldname: description @@ -23899,7 +23928,8 @@ entities: type: string - _key: endpoint_name api_fieldname: endpoint_name - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name is from + the device certificate and is set by factory tool. entity_fieldname: endpoint_name example: 00000000-0000-0000-0000-000000000000 in: body @@ -23919,7 +23949,8 @@ entities: type: string - _key: host_gateway api_fieldname: host_gateway - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind Edge + has this host_gateway set. entity_fieldname: host_gateway example: '' in: body @@ -23949,7 +23980,7 @@ entities: type: string - _key: mechanism api_fieldname: mechanism - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with the device.' entity_fieldname: mechanism enum: - connector @@ -23961,7 +23992,7 @@ entities: type: string - _key: mechanism_url api_fieldname: mechanism_url - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' entity_fieldname: mechanism_url example: '' in: body @@ -23970,7 +24001,8 @@ entities: type: string - _key: name api_fieldname: name - description: The name of the device. + description: The name given by the web application for the device. Device itself + provides only the endpoint_name. entity_fieldname: name example: 00000000-0000-0000-0000-000000000000 in: body @@ -23980,7 +24012,8 @@ entities: type: string - _key: serial_number api_fieldname: serial_number - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during manufacturing. entity_fieldname: serial_number example: 00000000-0000-0000-0000-000000000000 in: body @@ -23989,7 +24022,25 @@ entities: type: string - _key: state api_fieldname: state - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped or + connected to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. This state + is set only while bootstrapping is in progress. For example, an external CA + gives an error, and the device tries to bootstrap again after few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to connect + to Device Management. + + * Registered: The device has registered with Pelion Device Management. [Device + commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' entity_fieldname: state enum: - unenrolled @@ -24108,7 +24159,7 @@ entities: api_fieldname: description description: The description of the device. entity_fieldname: description - example: description + example: Temperature measuring device maxLength: 2000 type: string device_class: @@ -24145,7 +24196,8 @@ entities: type: string endpoint_name: api_fieldname: endpoint_name - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name is + from the device certificate and is set by factory tool. entity_fieldname: endpoint_name example: 00000000-0000-0000-0000-000000000000 readOnly: true @@ -24189,7 +24241,8 @@ entities: type: array host_gateway: api_fieldname: host_gateway - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind + Edge has this host_gateway set. entity_fieldname: host_gateway example: '' type: string @@ -24256,7 +24309,12 @@ entities: type: string lifecycle_status: api_fieldname: lifecycle_status - description: The lifecycle status of the device. + description: 'The lifecycle status of the device. + + * Enabled: The device is allowed to connect to Pelion Device Management. + + * Blocked: The device is prevented from connecting to Pelion Device Management. + Device can be, for example, ''suspended''.' entity_fieldname: lifecycle_status enum: - enabled @@ -24278,7 +24336,8 @@ entities: type: string mechanism: api_fieldname: mechanism - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with the + device.' entity_fieldname: mechanism enum: - connector @@ -24286,13 +24345,14 @@ entities: type: string mechanism_url: api_fieldname: mechanism_url - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' entity_fieldname: mechanism_url example: '' type: string name: api_fieldname: name - description: The name of the device. + description: The name given by the web application for the device. Device + itself provides only the endpoint_name. entity_fieldname: name example: 00000000-0000-0000-0000-000000000000 maxLength: 128 @@ -24305,18 +24365,39 @@ entities: type: string operator_suspended: api_fieldname: operator_suspended - description: Is the device suspended by the operator? + description: Device has been suspended by operator. entity_fieldname: operator_suspended type: boolean serial_number: api_fieldname: serial_number - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during + manufacturing. entity_fieldname: serial_number example: 00000000-0000-0000-0000-000000000000 type: string state: api_fieldname: state - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped + or connected to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. This + state is set only while bootstrapping is in progress. For example, an + external CA gives an error, and the device tries to bootstrap again after + few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to connect + to Device Management. + + * Registered: The device has registered with Pelion Device Management. + [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' entity_fieldname: state enum: - unenrolled @@ -24332,7 +24413,7 @@ entities: type: boolean updated_at: api_fieldname: updated_at - description: The time the object was updated. + description: The time this data object was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -24361,7 +24442,7 @@ entities: x_filter: {} - _key: delete description: Delete device. Only available for devices with a developer certificate. - Attempting to delete a device with a production certicate returns a 400 response. + Attempting to delete a device with a production certificate returns a 400 response. drop_fields: - object - etag @@ -24371,7 +24452,8 @@ entities: fields: - _key: id api_fieldname: id - description: The ID of the device. + description: The [Device ID](../connecting/device-identity.html) created by + Device Management. entity_fieldname: id external_param: false in: path @@ -24405,7 +24487,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'List all devices. + description: 'List all devices enrolled to Device Management for the account. **Example:** @@ -24706,7 +24788,7 @@ entities: type: string description: description: The description of the device. - example: description + example: Temperature measuring device maxLength: 2000 type: string device_class: @@ -24738,7 +24820,8 @@ entities: maxLength: 512 type: string endpoint_name: - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name + is from the device certificate and is set by factory tool. example: 00000000-0000-0000-0000-000000000000 readOnly: true type: string @@ -24770,7 +24853,8 @@ entities: type: string type: array host_gateway: - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind + Edge has this host_gateway set. example: '' type: string id: @@ -24819,7 +24903,12 @@ entities: format: date-time type: string lifecycle_status: - description: The lifecycle status of the device. + description: 'The lifecycle status of the device. + + * Enabled: The device is allowed to connect to Pelion Device Management. + + * Blocked: The device is prevented from connecting to Pelion Device + Management. Device can be, for example, ''suspended''.' enum: - enabled - blocked @@ -24835,17 +24924,19 @@ entities: format: date-time type: string mechanism: - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with + the device.' enum: - connector - direct type: string mechanism_url: - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' example: '' type: string name: - description: The name of the device. + description: The name given by the web application for the device. Device + itself provides only the endpoint_name. example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string @@ -24854,14 +24945,35 @@ entities: example: device type: string operator_suspended: - description: Is the device suspended by the operator? + description: Device has been suspended by operator. type: boolean serial_number: - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during + manufacturing. example: 00000000-0000-0000-0000-000000000000 type: string state: - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped + or connected to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. + This state is set only while bootstrapping is in progress. For example, + an external CA gives an error, and the device tries to bootstrap again + after few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to + connect to Device Management. + + * Registered: The device has registered with Pelion Device Management. + [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' enum: - unenrolled - cloud_enrolling @@ -24873,7 +24985,7 @@ entities: description: Is the device suspended by the system? type: boolean updated_at: - description: The time the object was updated. + description: The time this data object was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -25101,7 +25213,9 @@ entities: - in - nin - _key: read - description: 'Retrieve information about a specific device. + description: 'Retrieve information about a specific device. This API returns [DeviceData](../service-api-references/device-directory.html#devicedata). + If you want to see the structure of resources in the device or the actual resource + values, use the [Connect API](../service-api-references/device-management-connect.html). **Example:** @@ -25269,7 +25383,7 @@ entities: api_fieldname: description description: The description of the device. entity_fieldname: description - example: description + example: Temperature measuring device maxLength: 2000 type: string device_class: @@ -25306,7 +25420,8 @@ entities: type: string endpoint_name: api_fieldname: endpoint_name - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name is + from the device certificate and is set by factory tool. entity_fieldname: endpoint_name example: 00000000-0000-0000-0000-000000000000 readOnly: true @@ -25350,7 +25465,8 @@ entities: type: array host_gateway: api_fieldname: host_gateway - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind + Edge has this host_gateway set. entity_fieldname: host_gateway example: '' type: string @@ -25417,7 +25533,12 @@ entities: type: string lifecycle_status: api_fieldname: lifecycle_status - description: The lifecycle status of the device. + description: 'The lifecycle status of the device. + + * Enabled: The device is allowed to connect to Pelion Device Management. + + * Blocked: The device is prevented from connecting to Pelion Device Management. + Device can be, for example, ''suspended''.' entity_fieldname: lifecycle_status enum: - enabled @@ -25439,7 +25560,8 @@ entities: type: string mechanism: api_fieldname: mechanism - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with the + device.' entity_fieldname: mechanism enum: - connector @@ -25447,13 +25569,14 @@ entities: type: string mechanism_url: api_fieldname: mechanism_url - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' entity_fieldname: mechanism_url example: '' type: string name: api_fieldname: name - description: The name of the device. + description: The name given by the web application for the device. Device + itself provides only the endpoint_name. entity_fieldname: name example: 00000000-0000-0000-0000-000000000000 maxLength: 128 @@ -25466,18 +25589,39 @@ entities: type: string operator_suspended: api_fieldname: operator_suspended - description: Is the device suspended by the operator? + description: Device has been suspended by operator. entity_fieldname: operator_suspended type: boolean serial_number: api_fieldname: serial_number - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during + manufacturing. entity_fieldname: serial_number example: 00000000-0000-0000-0000-000000000000 type: string state: api_fieldname: state - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped + or connected to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. This + state is set only while bootstrapping is in progress. For example, an + external CA gives an error, and the device tries to bootstrap again after + few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to connect + to Device Management. + + * Registered: The device has registered with Pelion Device Management. + [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' entity_fieldname: state enum: - unenrolled @@ -25493,7 +25637,7 @@ entities: type: boolean updated_at: api_fieldname: updated_at - description: The time the object was updated. + description: The time this data object was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -26214,7 +26358,7 @@ entities: api_fieldname: description description: The description of the device. entity_fieldname: description - example: description + example: Temperature measuring device in: body maxLength: 2000 parameter_fieldname: description @@ -26232,7 +26376,8 @@ entities: type: string - _key: endpoint_name api_fieldname: endpoint_name - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name is from + the device certificate and is set by factory tool. entity_fieldname: endpoint_name example: 00000000-0000-0000-0000-000000000000 in: body @@ -26252,7 +26397,8 @@ entities: type: string - _key: host_gateway api_fieldname: host_gateway - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind Edge + has this host_gateway set. entity_fieldname: host_gateway example: '' in: body @@ -26271,7 +26417,8 @@ entities: type: string - _key: name api_fieldname: name - description: The name of the device. + description: The name given by the web application for the device. Device itself + provides only the endpoint_name. entity_fieldname: name example: 00000000-0000-0000-0000-000000000000 in: body @@ -26376,7 +26523,7 @@ entities: api_fieldname: description description: The description of the device. entity_fieldname: description - example: description + example: Temperature measuring device maxLength: 2000 type: string device_class: @@ -26413,7 +26560,8 @@ entities: type: string endpoint_name: api_fieldname: endpoint_name - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name is + from the device certificate and is set by factory tool. entity_fieldname: endpoint_name example: 00000000-0000-0000-0000-000000000000 readOnly: true @@ -26457,7 +26605,8 @@ entities: type: array host_gateway: api_fieldname: host_gateway - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind + Edge has this host_gateway set. entity_fieldname: host_gateway example: '' type: string @@ -26524,7 +26673,12 @@ entities: type: string lifecycle_status: api_fieldname: lifecycle_status - description: The lifecycle status of the device. + description: 'The lifecycle status of the device. + + * Enabled: The device is allowed to connect to Pelion Device Management. + + * Blocked: The device is prevented from connecting to Pelion Device Management. + Device can be, for example, ''suspended''.' entity_fieldname: lifecycle_status enum: - enabled @@ -26546,7 +26700,8 @@ entities: type: string mechanism: api_fieldname: mechanism - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with the + device.' entity_fieldname: mechanism enum: - connector @@ -26554,13 +26709,14 @@ entities: type: string mechanism_url: api_fieldname: mechanism_url - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' entity_fieldname: mechanism_url example: '' type: string name: api_fieldname: name - description: The name of the device. + description: The name given by the web application for the device. Device + itself provides only the endpoint_name. entity_fieldname: name example: 00000000-0000-0000-0000-000000000000 maxLength: 128 @@ -26573,18 +26729,39 @@ entities: type: string operator_suspended: api_fieldname: operator_suspended - description: Is the device suspended by the operator? + description: Device has been suspended by operator. entity_fieldname: operator_suspended type: boolean serial_number: api_fieldname: serial_number - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during + manufacturing. entity_fieldname: serial_number example: 00000000-0000-0000-0000-000000000000 type: string state: api_fieldname: state - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped + or connected to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. This + state is set only while bootstrapping is in progress. For example, an + external CA gives an error, and the device tries to bootstrap again after + few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to connect + to Device Management. + + * Registered: The device has registered with Pelion Device Management. + [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' entity_fieldname: state enum: - unenrolled @@ -26600,7 +26777,7 @@ entities: type: boolean updated_at: api_fieldname: updated_at - description: The time the object was updated. + description: The time this data object was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -29873,7 +30050,7 @@ entities: type: string - _key: event_type_category api_fieldname: event_type_category - description: Category code which groups the event type by a summary category. + description: Category code that groups the event type by a summary category. example: FAIL_MANIFEST_REJECTED readOnly: true required: false @@ -29899,31 +30076,15 @@ entities: group_id: Devices methods: - _key: list - description: 'List all device events for an account. - - - **Example:** - - Following example gets device-events limiting returned results to max 5 events - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5 \ - - -H ''Authorization: Bearer '' - - ``` - - or to get events for certain device filter based on device_id: - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id= - \ - - -H ''Authorization: Bearer '' - - ```' + description: "List all or a filtered list of device events for the account. Device\ + \ events are events significant to operation or lifetime, such as creation,\ + \ firmware update, and suspension.\n\nTo see statistics for device connectivity\ + \ and usage, use the [Statistics API](../service-api-references/connect-statistics.html).\n\ + \n **Example:**\n Following example gets device-events limiting returned results\ + \ to max 5 events\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5\ + \ \\\n -H 'Authorization: Bearer '\n ```\n or to get events for certain\ + \ device filter based on device_id:\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id=\ + \ \\\n -H 'Authorization: Bearer '\n ```" drop_fields: - object - etag @@ -30079,8 +30240,7 @@ entities: maxLength: 100 type: string - _key: event_type_category - description: Category code which groups the event type by a summary - category. + description: Category code that groups the event type by a summary category. example: FAIL_MANIFEST_REJECTED type: string - _key: event_type_description @@ -30168,12 +30328,13 @@ entities: - eq - neq - _key: read - description: 'Retrieve a specific device event. + description: '"Retrieve a specific device event. See ''/v3/device-events/'' for + information on device events, and how to get the device_event_id." **Example:** - To fetch a specific event you can use the ''id'' field form the ''/v3/device-events''. + To fetch a specific event you can use the ''id'' field from ''/v3/device-events''. Form of ''016c03d40a4e000000000001001003b4'' ``` @@ -30285,7 +30446,7 @@ entities: type: string - _key: event_type_category api_fieldname: event_type_category - description: Category code which groups the event type by a summary category. + description: Category code that groups the event type by a summary category. entity_fieldname: event_type_category example: FAIL_MANIFEST_REJECTED type: string @@ -30338,7 +30499,7 @@ entities: fields: - _key: created_at api_fieldname: created_at - description: The time the campaign was created. + description: The time the group was created. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -30391,7 +30552,7 @@ entities: type: string - _key: updated_at api_fieldname: updated_at - description: The time the object was updated. + description: The time this object was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time readOnly: true @@ -30400,7 +30561,7 @@ entities: group_id: Devices methods: - _key: add_device - description: Add one device to a group. + description: Add one device to a group. A device can be in multiple groups. drop_fields: - object - etag @@ -30672,7 +30833,7 @@ entities: properties: - _key: created_at api_fieldname: created_at - description: The time the campaign was created. + description: The time the group was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -30731,7 +30892,7 @@ entities: type: string - _key: updated_at api_fieldname: updated_at - description: The time the object was updated. + description: The time this object was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -30890,7 +31051,8 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: Delete a group. + description: Delete a group. This deletes the group, but not the devices in the + group. drop_fields: - object - etag @@ -31026,7 +31188,7 @@ entities: x_deprecation: null x_filter: {} - _key: devices - description: Get a page of devices. + description: Get a page of devices in a specified group. drop_fields: - object - etag @@ -31327,7 +31489,7 @@ entities: type: string description: description: The description of the device. - example: description + example: Temperature measuring device maxLength: 2000 type: string device_class: @@ -31359,7 +31521,8 @@ entities: maxLength: 512 type: string endpoint_name: - description: The endpoint name given to the device. + description: The endpoint name given to the device. The endpoint_name + is from the device certificate and is set by factory tool. example: 00000000-0000-0000-0000-000000000000 readOnly: true type: string @@ -31391,7 +31554,8 @@ entities: type: string type: array host_gateway: - description: The ID of the host gateway, if appropriate. + description: The ID of the host gateway, if appropriate. A device behind + Edge has this host_gateway set. example: '' type: string id: @@ -31440,7 +31604,12 @@ entities: format: date-time type: string lifecycle_status: - description: The lifecycle status of the device. + description: 'The lifecycle status of the device. + + * Enabled: The device is allowed to connect to Pelion Device Management. + + * Blocked: The device is prevented from connecting to Pelion Device + Management. Device can be, for example, ''suspended''.' enum: - enabled - blocked @@ -31456,17 +31625,19 @@ entities: format: date-time type: string mechanism: - description: The ID of the channel used to communicate with the device. + description: 'NOT USED: The ID of the channel used to communicate with + the device.' enum: - connector - direct type: string mechanism_url: - description: The address of the connector to use. + description: 'NOT USED: The address of the connector to use.' example: '' type: string name: - description: The name of the device. + description: The name given by the web application for the device. Device + itself provides only the endpoint_name. example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string @@ -31475,14 +31646,35 @@ entities: example: device type: string operator_suspended: - description: Is the device suspended by the operator? + description: Device has been suspended by operator. type: boolean serial_number: - description: The serial number of the device. + description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + of the device. The serial number is injected by the factory tool during + manufacturing. example: 00000000-0000-0000-0000-000000000000 type: string state: - description: The current state of the device. + description: 'The current state of the device. + + * Unenrolled: The device has been created, but has not yet bootstrapped + or connected to Device Management. + + * Cloud_enrolling: The device is bootstrapping for the first time. + This state is set only while bootstrapping is in progress. For example, + an external CA gives an error, and the device tries to bootstrap again + after few seconds. + + * Bootstrapped: The device has bootstrapped, and has credentials to + connect to Device Management. + + * Registered: The device has registered with Pelion Device Management. + [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) + can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + resources. + + * Deregistered: The device has requested deregistration, or its registration + has expired.' enum: - unenrolled - cloud_enrolling @@ -31494,7 +31686,7 @@ entities: description: Is the device suspended by the system? type: boolean updated_at: - description: The time the object was updated. + description: The time this data object was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -31986,7 +32178,7 @@ entities: group: Devices properties: - _key: created_at - description: The time the campaign was created. + description: The time the group was created. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -32029,7 +32221,7 @@ entities: example: device-group type: string - _key: updated_at - description: The time the object was updated. + description: The time this object was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string @@ -32201,7 +32393,9 @@ entities: - lte - gte - _key: read - description: Get a group. + description: Returns [DeviceGroup](../service-api-references/device-directory.html#DeviceGroup) + info what contains info of the group, for example, name and updated date. To + list the devices in the group, use '/v3/device-groups/{device-group-id}/devices/'. drop_fields: - object - etag @@ -32244,7 +32438,7 @@ entities: properties: - _key: created_at api_fieldname: created_at - description: The time the campaign was created. + description: The time the group was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -32303,7 +32497,7 @@ entities: type: string - _key: updated_at api_fieldname: updated_at - description: The time the object was updated. + description: The time this object was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -32659,7 +32853,7 @@ entities: x_deprecation: null x_filter: {} - _key: update - description: Modify the attributes of a group. + description: Modify the attributes of a group, such as the description. drop_fields: - object - etag @@ -32742,7 +32936,7 @@ entities: properties: - _key: created_at api_fieldname: created_at - description: The time the campaign was created. + description: The time the group was created. entity_fieldname: created_at example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -32801,7 +32995,7 @@ entities: type: string - _key: updated_at api_fieldname: updated_at - description: The time the object was updated. + description: The time this object was updated. entity_fieldname: updated_at example: '2017-05-22T12:37:55.576563Z' format: date-time From d3b96b475605028ce9e4536700cd3c2fd5afd164 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 16 Jan 2020 15:03:09 +0000 Subject: [PATCH 037/111] new SDK config changes via api-contract @ 2020-01-16 15:03 --- .../public/pelion_dm_public_openapi.yaml | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index edad1f51c..cbda1e461 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9316,17 +9316,19 @@ paths: description: "\n(PREVIEW) A websocket channel can have only one active connection\ \ at a time. If a websocket connection for a channel exists and a new connection\ \ to the same channel is made, the connection is accepted and the older connection\ - \ is closed.\n\nOnce the socket has been opened, the server may close it with\ - \ one of the following status codes.\n\n\n \n \n \ - \ \n \n \n \n \n\ - \ \n \n \n\ - \ \n \n \n \n \n \n \n\ - \ \n \n \ - \ \n \n \n \n \n \n\ + \ is closed.\n\nA websocket client library should be used when connecting\ + \ to this endpoint.\n\nOnce the socket has been opened, the server may close\ + \ it with one of the following status codes.\n\n
CodeDescription
1000Socket closed by the client.
1001Going away. Set\ - \ when another socket opens on the used channel or the channel is deleted\ - \ with a REST call.
1006Abnormal closure. The client should reconnect after receiving this\ - \ status code. A short reconnect delay is recommended.
1008Policy violation. Set when\ - \ the API key is missing or invalid.
1011
\n \n \n\ + \ \n \n \n \n\ + \ \n \n \n \n \n \n \n \ + \ \n\ + \ \n \n \n \n \n \n \n\ + \ \n \n \n \n\ \ \n \n \n
CodeDescription
1000Socket closed\ + \ normally by the client, or by the server when the channel is deleted with\ + \ a REST call.
1001Going away. Set when another socket opens on the used channel.
1006Abnormal closure.\ + \ The client should reconnect after receiving this status code. A short reconnect\ + \ delay is recommended.
1008Policy violation. Set if the API key is lost or invalidated after\ + \ a successful WebSocket handshake.
1011Unexpected condition. The socket is closed with this status in\ \ an attempt to open a socket to a nonexistent channel (without a prior PUT\ \ request). This code is also used to indicate a closing socket for any other\ @@ -9389,6 +9391,9 @@ paths: 401: *id021 426: description: Upgrade required. Connect and/or Upgrade headers missing. + 429: + description: While a WebSocket handshake is still in progress, no new WebSocket + requests with the same authorization token will be accepted. summary: (PREVIEW) Open the websocket. tags: - Notifications From d88de6bcd2913a1b991d2118703cfc49e9672862 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 17 Jan 2020 12:24:07 +0000 Subject: [PATCH 038/111] new SDK config changes via api-contract @ 2020-01-17 12:24 --- .../public/pelion_dm_public_openapi.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index cbda1e461..032ce8741 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8101,6 +8101,23 @@ paths: contacting the device. + **Example**: Read the value of Resource "/3200/0/5501". If the value is not + in cache, the read command will go all the way to the device. + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id} + \ + + -H ''Authorization: Bearer {api_key}'' \ + + -H ''content-type: application/json'' \ + + -d ''{"method": "GET", "uri": "/3200/0/5501"}'' + + ``` + + The server puts the requests in a queue if it cannot reach the device at the time of the request. The queue From 2ed00b8354138e61f58f35c387d74171ab5f9fdc Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 21 Jan 2020 10:38:00 +0000 Subject: [PATCH 039/111] new SDK config changes via api-contract @ 2020-01-21 10:38 --- api_specifications/public/pelion_dm_public_openapi.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 032ce8741..a9b9646ba 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8959,6 +8959,10 @@ paths: description: 'Deletes the callback URL. + Deleting the callback URL also removes the channel''s notification queue. + Any unsent notifications are lost when the channel is deleted. + + **Example:** ``` @@ -9223,6 +9227,9 @@ paths: type. + Deleting the websocket channel also removes the channel''s notification queue. + Any unsent notifications are lost when the channel is deleted. + **Example:** From 1d3de8df5d9f80fe922ac8e82bbf19ddec63d34a Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 23 Jan 2020 07:32:55 +0000 Subject: [PATCH 040/111] new SDK config changes via api-contract @ 2020-01-23 07:32 --- .../public/pelion_dm_public_openapi.yaml | 237 ++++--- .../public/sdk_foundation_definition.json | 632 ++++++++++++++++-- .../public/sdk_foundation_definition.yaml | 505 ++++++++++++-- 3 files changed, 1118 insertions(+), 256 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index a9b9646ba..1fa17fb1b 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -407,6 +407,11 @@ definitions: account, `2`: partner tier. Other values are reserved for the future.' example: '1' type: string + tier_history: + description: Tier history for this account. + items: + $ref: '#/definitions/TierHistory' + type: array updated_at: description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' @@ -4893,6 +4898,10 @@ definitions: LoginProfile: description: Represents a user login profile in Device Management. properties: + foreign_id: + description: The ID of the user in the identity provider's service. + readOnly: true + type: string id: description: ID of the identity provider. type: string @@ -6206,6 +6215,19 @@ definitions: required: - quota_usage type: object + TierHistory: + properties: + tier: + description: 'The tier level of the account; `0`: free tier, `1`: commercial + account, `2`: partner tier. Other values are reserved for the future.' + example: '1' + type: string + updatedAt: + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object TokenRequest: properties: aud: @@ -9737,7 +9759,7 @@ paths: x-origin: /home/circleci/project/device-server/public/swagger.yaml /v3/accounts: get: - description: 'Returns an array of account objects, optionally filtered by status + description: 'Retrieve an array of tenant accounts, optionally filtered by status and tier level. @@ -9931,7 +9953,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/me: get: - description: 'Retrieve detailed information about the account. + description: 'Retrieve information about the account. **Example:** @@ -9972,7 +9994,7 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get account info. + summary: Get account information. tags: - Account - profile x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -10028,7 +10050,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/me/notifications: get: - description: Retrieve notifications for an account. + description: Retrieve an array of email notification logs. operationId: getNofificationEntries parameters: - default: 50 @@ -10069,16 +10091,16 @@ paths: description: Forbidden schema: $ref: '#/definitions/ErrorResponse' - summary: Get notification events for an account. + summary: Get logs of email notifications. tags: - Account - email notification logs x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/me/notifications/{notification_id}: get: - description: An endpoint for retrieving notification event details. + description: Retrieve an email notification log entry. operationId: getNofificationEntry parameters: - - description: The ID of the notification entry to be retrieved. + - description: The ID of the log entry to be retrieved. in: path name: notification_id required: true @@ -10106,9 +10128,9 @@ paths: description: No entry found for the given ID. schema: $ref: '#/definitions/ErrorResponse' - summary: Get notification event details. + summary: Get an email notification. tags: - - Account Admin + - Account - email notification logs x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}: get: @@ -10162,7 +10184,7 @@ paths: description: Account with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get account info. + summary: Get account information. tags: - Tenant accounts - accounts x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -10228,7 +10250,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/api-keys: get: - description: 'Retrieve API keys in an array, optionally filtered by the owner. + description: 'Retrieve an array of API keys, optionally filtered by the owner. **Example:** @@ -10422,7 +10444,8 @@ paths: - Tenant accounts - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ + description: "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X\ + \ GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ \ \\\n -H 'Authorization: Bearer '\n```" operationId: getAccountApiKey parameters: @@ -10597,7 +10620,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve groups associated with the API key. + description: 'Retrieve an array of policy groups associated with an API key. **Example:** @@ -10666,7 +10689,7 @@ paths: description: An account or API key with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get groups associated with the API key. + summary: Get policy groups of an API key. tags: - Tenant accounts - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -11064,8 +11087,8 @@ paths: put: consumes: - application/json - description: "Update an array of dark theme branding colors of a tenant account.\n\ - \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ + description: "Update an array of dark theme branding colors.\n\n**Example:**\n\ + ```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" operationId: bulkSetAccountDarkColors @@ -11110,8 +11133,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/branding-colors/dark/{reference}: delete: - description: 'Resets the branding color of a tenant account to its dark theme - default. + description: 'Resets the branding color to its dark theme default. **Example:** @@ -11211,7 +11233,7 @@ paths: put: consumes: - application/json - description: 'Update a dark theme branding color of a tenant account. + description: 'Update a dark theme branding color. **Example:** @@ -11358,8 +11380,8 @@ paths: put: consumes: - application/json - description: "Update an array of light theme branding colors of a tenant account.\n\ - \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light\ + description: "Update an array of light theme branding colors.\n\n**Example:**\n\ + ```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light\ \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"purple\" }]'\n```" operationId: bulkSetAccountLightColors @@ -11404,8 +11426,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/branding-colors/light/{reference}: delete: - description: 'Resets the branding color of a tenant account to its light theme - default. + description: 'Resets the branding color to its light theme default. **Example:** @@ -11504,7 +11525,7 @@ paths: put: consumes: - application/json - description: 'Update a light theme branding color of a tenant account. + description: 'Update a light theme branding color. **Example:** @@ -12232,7 +12253,7 @@ paths: get: consumes: - application/json - description: Retrieve identity providers in an array. + description: Retrieve an array of identity providers. operationId: getAllAccountIdentityProviders parameters: - description: The ID of the account. @@ -12384,7 +12405,7 @@ paths: - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: Manage identity providers of a tenant account. + description: Retrieve an identity provider. operationId: getAccountIdentityProvider parameters: - description: Account ID. @@ -12416,7 +12437,7 @@ paths: description: Account or identity provider not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Retrieve identity provider by ID. + summary: Get an identity provider. tags: - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -12627,7 +12648,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/limitations: get: - description: An endpoint for retrieving all limitations of an account. + description: Retrieve an array of entitlement limitations. operationId: aggregatorGetAccountLimitations parameters: - description: The ID of the account. @@ -12660,16 +12681,16 @@ paths: description: Account with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all limitations of an account. + summary: Get entitlement limitations. tags: - - Tenant accounts - limitations + - Tenant accounts - entitlement limitations x-filter: inherited: - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/limitations/{limitation_id}: get: - description: An endpoint for retrieving a limitation of an account. + description: Retrieve an entitlement limitation. operationId: aggregatorGetAccountLimitation parameters: - description: The ID of the account. @@ -12701,13 +12722,13 @@ paths: description: Limitation or account with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get a limitation of an account. + summary: Get an entitlement limitation. tags: - - Tenant accounts - limitations + - Tenant accounts - entitlement limitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/notifications: get: - description: Retrieve notifications. + description: Retrieve an array of email notification logs. operationId: getAccountNofificationEntries parameters: - description: Account ID. @@ -12757,13 +12778,13 @@ paths: description: Account with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get the notification events of an account. + summary: Get email notifications. tags: - Tenant accounts - email notification logs x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/notifications/{notification_id}: get: - description: An endpoint for retrieving notification event details of an account. + description: Retrieve an email notifications log entry. operationId: getAccountNofificationEntry parameters: - description: The ID of the account for which this notification should be retrieved. @@ -12799,13 +12820,13 @@ paths: description: No entry found for the given ID. schema: $ref: '#/definitions/ErrorResponse' - summary: Get a notification event of an account. + summary: Get an email notification. tags: - - Aggregator Account Admin + - Tenant accounts - email notification logs x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/policy-groups: get: - description: 'Retrieve all group information. + description: 'Retrieve an array of policy groups. **Example:** @@ -12874,7 +12895,7 @@ paths: description: An account with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all group information. + summary: Get policy groups. tags: - Tenant accounts - policy groups x-filter: @@ -12994,7 +13015,7 @@ paths: - Tenant accounts - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve general information about the group. + description: 'Retrieve policy group details. **Example:** @@ -13038,7 +13059,7 @@ paths: description: An account or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get group information. + summary: Get policy group. tags: - Tenant accounts - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -13251,7 +13272,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'List the API keys of the group with details. + description: 'Retrieve an array of API keys associated with a policy group. **Example:** @@ -13320,7 +13341,7 @@ paths: description: An account or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get API keys of a group. + summary: Get API keys in a group. tags: - Tenant accounts - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -13586,7 +13607,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'List a group''s users, with details. + description: 'Retrieve an array of users associated with a policy group. **Example:** @@ -13671,7 +13692,7 @@ paths: description: An account or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get users of a group. + summary: Get users in a policy group. tags: - Tenant accounts - policy groups x-filter: @@ -13869,7 +13890,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/trusted-certificates: get: - description: 'Retrieve trusted certificates in an array. + description: 'Retrieve an array of trusted certificates. **Example:** @@ -13996,9 +14017,9 @@ paths: description: An account with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all trusted certificates. + summary: Get trusted certificates. tags: - - Tenant device security - certificates + - Tenant security and identity - certificates x-filter: device_execution_mode: - eq @@ -14025,7 +14046,7 @@ paths: post: consumes: - application/json - description: 'Upload new trusted certificates. + description: 'Upload new trusted certificate. **Example:** @@ -14082,11 +14103,11 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Upload new trusted certificate. tags: - - Tenant device security - certificates + - Tenant security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/trusted-certificates/{cert_id}: delete: - description: 'Delete the trusted certificate. + description: 'Delete a trusted certificate. **Example:** @@ -14128,12 +14149,12 @@ paths: description: Account or certificate with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete trusted certificate by ID. + summary: Delete a trusted certificate by ID. tags: - - Tenant device security - certificates + - Tenant security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve a trusted certificate by ID. + description: 'Retrieve a trusted certificate. **Example:** @@ -14177,15 +14198,15 @@ paths: description: Account or certificate with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get trusted certificate by ID. + summary: Get a trusted certificate. tags: - - Tenant device security - certificates + - Tenant security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml put: consumes: - application/json - description: "Update existing trusted certificates.\n\n**Example:**\n```\ncurl\ - \ -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ + description: "Update a trusted certificate.\n\n**Example:**\n```\ncurl -X PUT\ + \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n -d {\"description\": \"very important cert\"}\n ```" operationId: updateAccountCertificate @@ -14232,12 +14253,11 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Update trusted certificate. tags: - - Tenant device security - certificates + - Tenant security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/user-invitations: get: - description: 'Retrieve details of all active user invitations sent for new or - existing users. + description: 'Retrieve an array of active user invitations. **Example:** @@ -14300,7 +14320,7 @@ paths: description: An account with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get the details of all user invitations. + summary: Get user invitations. tags: - Tenant accounts - user invitations x-filter: @@ -14463,7 +14483,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/users: get: - description: 'Retrieve details of all users. + description: 'Retrieve an array of users. **Example:** @@ -14553,7 +14573,7 @@ paths: description: An account with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get the details of all users. + summary: Get users. tags: - Tenant accounts - users x-filter: @@ -14882,7 +14902,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve user''s groups. + description: 'Retrieve an array of policy groups associated with a user. **Example:** @@ -14951,7 +14971,7 @@ paths: description: An account or user with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get user's groups. + summary: Get policy groups for a user. tags: - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -15218,7 +15238,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/api-keys: get: - description: 'Retrieve API keys in an array, optionally filtered by the owner. + description: 'Retrieve an array of API keys, optionally filtered by the owner. **Example:** @@ -15343,7 +15363,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/api-keys/me: get: - description: 'Retrieve API key details. + description: 'Retrieve details of current API key. **Example:** @@ -15372,7 +15392,7 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get API key details. + summary: Get current API key. tags: - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -15482,7 +15502,8 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve groups associated with the API key. + description: 'Retrieve an array of policy groups associated with the current + API key. **Example:** @@ -15536,7 +15557,7 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get groups of the API key. + summary: Get policy groups of the current API key. tags: - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -15754,7 +15775,7 @@ paths: - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve API key details. + description: 'Retrieve details of an API key. **Example:** @@ -15792,7 +15813,7 @@ paths: description: API key with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get API key details. + summary: Get API key. tags: - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -15921,7 +15942,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve groups associated with the API key. + description: 'Retrieve an array of policy groups associated with an API key. **Example:** @@ -15985,7 +16006,7 @@ paths: description: An API key with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get groups of the API key. + summary: Get policy groups of an API key. tags: - Account - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -24516,7 +24537,7 @@ paths: get: consumes: - application/json - description: Retrieve identity providers in an array. + description: Retrieve an array of identity providers. operationId: getAllIdentityProviders parameters: - default: 50 @@ -24645,7 +24666,7 @@ paths: - Account - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: Retrieve by ID. + description: Retrieve an identity provider. operationId: getIdentityProvider parameters: - description: The ID of the identity provider to retrieve. @@ -24672,7 +24693,7 @@ paths: description: Identity provider not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get identity provider by ID. + summary: Get identity provider. tags: - Account - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -24863,7 +24884,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/limitations: get: - description: An endpoint for retrieving all limitations of an account. + description: Retrieve an array of entitlement limitations. operationId: getAccountLimitations parameters: - description: Filter for finding account limitations by inheritance. True returns @@ -24887,16 +24908,16 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all limitations of an account. + summary: Get entitlement limitations. tags: - - Account - limitations + - Account - entitlement limitations x-filter: inherited: - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/limitations/{limitation_id}: get: - description: An endpoint for retrieving a limitation of an account. + description: Retrieve an entitlement limitation. operationId: getAccountLimitation parameters: - description: The ID of the limitation to be fetched. @@ -24923,9 +24944,9 @@ paths: description: Limitation with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get a limitation of an account. + summary: Get an entitlement limitation. tags: - - Account - limitations + - Account - entitlement limitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/metrics: get: @@ -25073,7 +25094,7 @@ paths: x-origin: /home/circleci/project/statistics/public/rest-api-v3-external.yaml /v3/policy-groups: get: - description: 'Retrieve all group information. + description: 'Retrieve an array of policy groups. **Example:** @@ -25132,7 +25153,7 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all group information. + summary: Get policy groups. tags: - Account - policy groups x-filter: @@ -25235,7 +25256,7 @@ paths: - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve general information about a group. + description: 'Retrieve a policy group. **Example:** @@ -25250,7 +25271,7 @@ paths: ```' operationId: getGroupSummary parameters: - - description: The ID of the group to retrieve. + - description: The ID of the policy group to retrieve. in: path name: group_id required: true @@ -25274,7 +25295,7 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get group information. + summary: Get a policy group. tags: - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -25472,7 +25493,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Manage policy groups. + description: 'Retrieve an array of API keys associated with a policy group. **Example:** @@ -25536,7 +25557,7 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get the API keys of a group. + summary: Get the API keys of a policy group. tags: - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml @@ -25794,7 +25815,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve users of a group with details. + description: 'Retrieve an array of users associated with a policy group. **Example:** @@ -25874,7 +25895,7 @@ paths: description: A group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get users of a group. + summary: Get users of a policy group. tags: - Account - policy groups x-filter: @@ -26511,7 +26532,7 @@ paths: x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/trusted-certificates: get: - description: 'Retrieve trusted certificates in an array. + description: 'Retrieve an array of trusted certificates. **Example:** @@ -26631,7 +26652,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Get all trusted certificates. tags: - - Device security - certificates + - Security and identity - certificates x-filter: device_execution_mode: - eq @@ -26708,7 +26729,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Upload a new trusted certificate. tags: - - Device security - certificates + - Security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/trusted-certificates/{cert_id}: delete: @@ -26751,10 +26772,10 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Delete a trusted certificate by ID. tags: - - Device security - certificates + - Security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve a trusted certificate by ID. + description: 'Retrieve a trusted certificate. **Example:** @@ -26793,9 +26814,9 @@ paths: description: Certificate not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get trusted certificate by ID. + summary: Get a trusted certificate. tags: - - Device security - certificates + - Security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml put: consumes: @@ -26859,7 +26880,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Update trusted certificate. tags: - - Device security - certificates + - Security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/update-campaigns: get: @@ -27848,7 +27869,7 @@ paths: x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/user-invitations: get: - description: 'Retrieve details for all the active user invitations. + description: 'Retrieve an array of active user invitations sent by email. **Example:** @@ -27901,7 +27922,7 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get the details of all user invitations. + summary: Get user invitations. tags: - Account - user invitations x-filter: @@ -28047,7 +28068,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/users: get: - description: 'Retrieve the details of all users. + description: 'Retrieve an array of users. **Example:** @@ -28127,7 +28148,7 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get the details of all users. + summary: Get users. tags: - Account - users x-filter: @@ -28522,7 +28543,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve groups of the user. + description: 'Retrieve an array of policy groups associated with a user. **Example:** @@ -28586,7 +28607,7 @@ paths: description: A user with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get groups of the user. + summary: Get policy groups for a user. tags: - Account - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 2ca1ed4e4..503a19e81 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -1082,7 +1082,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Retrieve API keys in an array, optionally filtered by the owner.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys, optionally filtered by the owner.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -3265,6 +3265,29 @@ "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -3304,6 +3327,31 @@ "entity_fieldname": "tier", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "api_fieldname": "tier_history", + "entity_fieldname": "tier_history", + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -3588,7 +3636,8 @@ "admin_key", "limitations", "password_recovery_expiration", - "business_model_history" + "business_model_history", + "tier_history" ], "group_id": "Accounts", "parameter_map": { @@ -5321,7 +5370,7 @@ "_key": "light_theme_branding_images" }, { - "description": "Returns an array of account objects, optionally filtered by status and tier level.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of tenant accounts, optionally filtered by status and tier level.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -6692,6 +6741,29 @@ "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -6725,6 +6797,29 @@ "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -7010,7 +7105,7 @@ "_key": "list" }, { - "description": "Retrieve detailed information about the account.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/me?include=policies \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve information about the account.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/me?include=policies \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -8388,6 +8483,29 @@ "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -8427,6 +8545,31 @@ "entity_fieldname": "tier", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "api_fieldname": "tier_history", + "entity_fieldname": "tier_history", + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -8598,7 +8741,7 @@ } ], "path": "/v3/accounts/me", - "summary": "Get account info.", + "summary": "Get account information.", "return_type": "account", "return_info": { "self": true, @@ -8658,7 +8801,8 @@ "limitations", "password_recovery_expiration", "business_model", - "business_model_history" + "business_model_history", + "tier_history" ], "group_id": "Accounts", "parameter_map": { @@ -10062,6 +10206,29 @@ "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -10101,6 +10268,31 @@ "entity_fieldname": "tier", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "api_fieldname": "tier_history", + "entity_fieldname": "tier_history", + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -10345,7 +10537,7 @@ } ], "path": "/v3/accounts/{account_id}", - "summary": "Get account info.", + "summary": "Get account information.", "return_type": "account", "return_info": { "self": true, @@ -10404,7 +10596,8 @@ "limitations", "password_recovery_expiration", "business_model", - "business_model_history" + "business_model_history", + "tier_history" ], "group_id": "Accounts", "parameter_map": { @@ -10417,7 +10610,7 @@ "_key": "read" }, { - "description": "Retrieve trusted certificates in an array.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of trusted certificates.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -10976,7 +11169,7 @@ } ], "path": "/v3/accounts/{account_id}/trusted-certificates", - "summary": "Get all trusted certificates.", + "summary": "Get trusted certificates.", "return_type": "paginated_response(subtenant_trusted_certificate)", "return_info": { "self": false, @@ -12755,6 +12948,29 @@ "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -12794,6 +13010,31 @@ "entity_fieldname": "tier", "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "api_fieldname": "tier_history", + "entity_fieldname": "tier_history", + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -13146,7 +13387,8 @@ "admin_password", "admin_full_name", "limitations", - "business_model_history" + "business_model_history", + "tier_history" ], "group_id": "Accounts", "parameter_map": { @@ -13165,7 +13407,7 @@ "_key": "update" }, { - "description": "Retrieve details of all active user invitations sent for new or existing users.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of active user invitations.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -13330,6 +13572,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -13694,7 +13944,7 @@ } ], "path": "/v3/accounts/{account_id}/user-invitations", - "summary": "Get the details of all user invitations.", + "summary": "Get user invitations.", "return_type": "paginated_response(subtenant_user_invitation)", "return_info": { "self": false, @@ -13733,7 +13983,7 @@ "_key": "user_invitations" }, { - "description": "Retrieve details of all users.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -14104,6 +14354,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -14513,7 +14771,7 @@ } ], "path": "/v3/accounts/{account_id}/users", - "summary": "Get the details of all users.", + "summary": "Get users.", "return_type": "paginated_response(subtenant_user)", "return_info": { "self": false, @@ -15301,6 +15559,32 @@ "required": false, "_key": "tier" }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "api_fieldname": "tier_history", + "readOnly": true, + "required": false, + "_key": "tier_history" + }, { "type": "string", "format": "date-time", @@ -15329,7 +15613,7 @@ "Tenant accounts - API keys", "Tenant accounts - users", "Tenant accounts - user invitations", - "Tenant device security - certificates", + "Tenant security and identity - certificates", "Tenant user interface configuration - colors", "Tenant user interface configuration - images" ], @@ -16142,7 +16426,7 @@ "_key": "delete" }, { - "description": "Retrieve API keys in an array, optionally filtered by the owner.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys, optionally filtered by the owner.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -16594,7 +16878,7 @@ "_key": "list" }, { - "description": "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve details of current API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [], "method": "get", @@ -16889,7 +17173,7 @@ } ], "path": "/v3/api-keys/me", - "summary": "Get API key details.", + "summary": "Get current API key.", "return_type": "api_key", "return_info": { "self": true, @@ -16927,7 +17211,7 @@ "_key": "me" }, { - "description": "Retrieve groups associated with the API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -17410,7 +17694,7 @@ } ], "path": "/v3/api-keys/{apikey_id}/groups", - "summary": "Get groups of the API key.", + "summary": "Get policy groups of an API key.", "return_type": "paginated_response(policy_group)", "return_info": { "self": false, @@ -17442,7 +17726,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -17823,7 +18107,7 @@ } ], "path": "/v3/api-keys/{apikey_id}", - "summary": "Get API key details.", + "summary": "Get API key.", "return_type": "api_key", "return_info": { "self": true, @@ -30192,7 +30476,7 @@ "_key": "delete" }, { - "description": "Retrieve a trusted certificate by ID.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [ { "api_fieldname": "developer_certificate", @@ -30637,7 +30921,7 @@ } ], "path": "/v3/trusted-certificates/{cert_id}", - "summary": "Get trusted certificate by ID.", + "summary": "Get a trusted certificate.", "return_type": "trusted_certificate", "return_info": { "self": false, @@ -31159,7 +31443,7 @@ ], "tags": [ "Device security - developer class certificates", - "Device security - certificates" + "Security and identity - certificates" ], "group_id": "Security", "_key": "developer_certificate" @@ -47560,7 +47844,7 @@ "_key": "generate_service_provider_certificate" }, { - "description": "Retrieve identity providers in an array.", + "description": "Retrieve an array of identity providers.", "field_renames": [ { "api_fieldname": "type", @@ -48046,7 +48330,7 @@ "_key": "list" }, { - "description": "Retrieve by ID.", + "description": "Retrieve an identity provider.", "field_renames": [ { "api_fieldname": "type", @@ -48468,7 +48752,7 @@ } ], "path": "/v3/identity-providers/{identity_provider_id}", - "summary": "Get identity provider by ID.", + "summary": "Get identity provider.", "return_type": "identity_provider", "return_info": { "self": true, @@ -53344,6 +53628,14 @@ "primary_key_field": "id", "methods": [], "fields": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "required": false, + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -53889,7 +54181,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Manage policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -54401,7 +54693,7 @@ } ], "path": "/v3/policy-groups/{group_id}/api-keys", - "summary": "Get the API keys of a group.", + "summary": "Get the API keys of a policy group.", "return_type": "paginated_response(api_key)", "return_info": { "self": false, @@ -55183,7 +55475,7 @@ "_key": "delete" }, { - "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -55581,7 +55873,7 @@ } ], "path": "/v3/policy-groups", - "summary": "Get all group information.", + "summary": "Get policy groups.", "return_type": "paginated_response(policy_group)", "return_info": { "self": true, @@ -55620,7 +55912,7 @@ "_key": "list" }, { - "description": "Retrieve general information about a group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -55964,7 +56256,7 @@ } ], "path": "/v3/policy-groups/{group_id}", - "summary": "Get group information.", + "summary": "Get a policy group.", "return_type": "policy_group", "return_info": { "self": true, @@ -56456,7 +56748,7 @@ "_key": "update" }, { - "description": "Retrieve users of a group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -56827,6 +57119,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -57236,7 +57536,7 @@ } ], "path": "/v3/policy-groups/{group_id}/users", - "summary": "Get users of a group.", + "summary": "Get users of a policy group.", "return_type": "paginated_response(user)", "return_info": { "self": false, @@ -59388,7 +59688,7 @@ "_key": "delete" }, { - "description": "Retrieve groups associated with the API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -59883,7 +60183,7 @@ } ], "path": "/v3/accounts/{account_id}/api-keys/{apikey_id}/groups", - "summary": "Get groups associated with the API key.", + "summary": "Get policy groups of an API key.", "return_type": "paginated_response(subtenant_policy_group)", "return_info": { "self": false, @@ -59915,7 +60215,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", + "description": "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -61065,7 +61365,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color of a tenant account to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -61748,7 +62048,7 @@ "_key": "read" }, { - "description": "Update a dark theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "description": "Update a dark theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", "field_renames": [], "fields": [ { @@ -65876,7 +66176,7 @@ "_key": "generate_service_provider_certificate" }, { - "description": "Retrieve identity providers in an array.", + "description": "Retrieve an array of identity providers.", "field_renames": [], "fields": [ { @@ -66460,7 +66760,7 @@ "_key": "list" }, { - "description": "Manage identity providers of a tenant account.", + "description": "Retrieve an identity provider.", "field_renames": [], "fields": [ { @@ -66909,7 +67209,7 @@ } ], "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}", - "summary": "Retrieve identity provider by ID.", + "summary": "Get an identity provider.", "return_type": "subtenant_identity_provider", "return_info": { "self": true, @@ -68524,7 +68824,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color of a tenant account to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -69207,7 +69507,7 @@ "_key": "read" }, { - "description": "Update a light theme branding color of a tenant account.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "description": "Update a light theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", "field_renames": [], "fields": [ { @@ -71103,7 +71403,7 @@ "primary_key_field": "id", "methods": [ { - "description": "List the API keys of the group with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -71627,7 +71927,7 @@ } ], "path": "/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys", - "summary": "Get API keys of a group.", + "summary": "Get API keys in a group.", "return_type": "paginated_response(subtenant_api_key)", "return_info": { "self": false, @@ -72511,7 +72811,7 @@ "_key": "delete" }, { - "description": "Retrieve all group information.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -72994,7 +73294,7 @@ } ], "path": "/v3/accounts/{account_id}/policy-groups", - "summary": "Get all group information.", + "summary": "Get policy groups.", "return_type": "paginated_response(subtenant_policy_group)", "return_info": { "self": true, @@ -73033,7 +73333,7 @@ "_key": "list" }, { - "description": "Retrieve general information about the group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve policy group details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -73395,7 +73695,7 @@ } ], "path": "/v3/accounts/{account_id}/policy-groups/{group_id}", - "summary": "Get group information.", + "summary": "Get policy group.", "return_type": "subtenant_policy_group", "return_info": { "self": true, @@ -73903,7 +74203,7 @@ "_key": "update" }, { - "description": "List a group's users, with details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -74286,6 +74586,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -74695,7 +75003,7 @@ } ], "path": "/v3/accounts/{account_id}/policy-groups/{group_id}/users", - "summary": "Get users of a group.", + "summary": "Get users in a policy group.", "return_type": "paginated_response(subtenant_user)", "return_info": { "self": false, @@ -74829,7 +75137,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload new trusted certificates.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", + "description": "Upload new trusted certificate.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", "field_renames": [], "fields": [ { @@ -75489,7 +75797,7 @@ "_key": "create" }, { - "description": "Delete the trusted certificate.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a trusted certificate.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -75756,7 +76064,7 @@ } ], "path": "/v3/accounts/{account_id}/trusted-certificates/{cert_id}", - "summary": "Delete trusted certificate by ID.", + "summary": "Delete a trusted certificate by ID.", "return_type": "subtenant_trusted_certificate", "return_info": { "self": true, @@ -76191,7 +76499,7 @@ "_key": "get_developer_certificate_info" }, { - "description": "Retrieve a trusted certificate by ID.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -76677,7 +76985,7 @@ } ], "path": "/v3/accounts/{account_id}/trusted-certificates/{cert_id}", - "summary": "Get trusted certificate by ID.", + "summary": "Get a trusted certificate.", "return_type": "subtenant_trusted_certificate", "return_info": { "self": true, @@ -76719,7 +77027,7 @@ "_key": "read" }, { - "description": "Update existing trusted certificates.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json' \\\n -d {\"description\": \"very important cert\"}\n ```", + "description": "Update a trusted certificate.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json' \\\n -d {\"description\": \"very important cert\"}\n ```", "field_renames": [], "fields": [ { @@ -77595,7 +77903,7 @@ ], "field_renames": [], "tags": [ - "Tenant device security - certificates", + "Tenant security and identity - certificates", "Device security - developer class certificates" ], "group_id": "Security", @@ -77721,6 +78029,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -78133,6 +78449,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -79044,7 +79368,7 @@ "_key": "delete" }, { - "description": "Retrieve user's groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with a user.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -79539,7 +79863,7 @@ } ], "path": "/v3/accounts/{account_id}/users/{user_id}/groups", - "summary": "Get user's groups.", + "summary": "Get policy groups for a user.", "return_type": "paginated_response(subtenant_policy_group)", "return_info": { "self": false, @@ -79926,6 +80250,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -80453,6 +80785,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -80853,6 +81193,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -82004,6 +82352,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -82205,6 +82561,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -82367,6 +82731,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -83110,6 +83482,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -83525,6 +83905,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -84926,7 +85314,7 @@ "_key": "get_developer_certificate_info" }, { - "description": "Retrieve trusted certificates in an array.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of trusted certificates.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -85468,7 +85856,7 @@ "_key": "list" }, { - "description": "Retrieve a trusted certificate by ID.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -85919,7 +86307,7 @@ } ], "path": "/v3/trusted-certificates/{cert_id}", - "summary": "Get trusted certificate by ID.", + "summary": "Get a trusted certificate.", "return_type": "trusted_certificate", "return_info": { "self": true, @@ -86863,7 +87251,7 @@ ], "field_renames": [], "tags": [ - "Device security - certificates", + "Security and identity - certificates", "Device security - developer class certificates" ], "group_id": "Security", @@ -89607,6 +89995,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -89995,6 +90391,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -90807,7 +91211,7 @@ "_key": "delete" }, { - "description": "Retrieve the details of all users.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -91161,6 +91565,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -91484,7 +91896,7 @@ } ], "path": "/v3/users", - "summary": "Get the details of all users.", + "summary": "Get users.", "return_type": "paginated_response(user)", "return_info": { "self": true, @@ -91535,7 +91947,7 @@ "_key": "list" }, { - "description": "Retrieve groups of the user.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with a user.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -92000,7 +92412,7 @@ } ], "path": "/v3/users/{user_id}/groups", - "summary": "Get groups of the user.", + "summary": "Get policy groups for a user.", "return_type": "paginated_response(policy_group)", "return_info": { "self": false, @@ -92351,6 +92763,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -92852,6 +93272,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -93228,6 +93656,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -94067,6 +94503,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -94247,6 +94691,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -94400,6 +94852,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -95003,7 +95463,7 @@ "_key": "delete" }, { - "description": "Retrieve details for all the active user invitations.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of active user invitations sent by email.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -95151,6 +95611,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -95429,7 +95897,7 @@ } ], "path": "/v3/user-invitations", - "summary": "Get the details of all user invitations.", + "summary": "Get user invitations.", "return_type": "paginated_response(user_invitation)", "return_info": { "self": true, @@ -95573,6 +96041,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", @@ -95980,6 +96456,14 @@ "id" ], "properties": [ + { + "type": "string", + "description": "The ID of the user in the identity provider's service.", + "readOnly": true, + "api_fieldname": "foreign_id", + "entity_fieldname": "foreign_id", + "_key": "foreign_id" + }, { "type": "string", "description": "ID of the identity provider.", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index a5f792087..dbb4fe4f5 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -592,6 +592,25 @@ entities: readOnly: true required: false type: string + - _key: tier_history + api_fieldname: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: commercial + account, `2`: partner tier. Other values are reserved for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + readOnly: true + required: false + type: array - _key: updated_at api_fieldname: updated_at description: Last update UTC time RFC3339. @@ -611,7 +630,7 @@ entities: group_id: Accounts methods: - _key: api_keys - description: 'Retrieve API keys in an array, optionally filtered by the owner. + description: 'Retrieve an array of API keys, optionally filtered by the owner. **Example:** @@ -1081,6 +1100,7 @@ entities: - limitations - password_recovery_expiration - business_model_history + - tier_history field_renames: [] fields: - _key: action @@ -2375,6 +2395,23 @@ entities: account, `2`: partner tier. Other values are reserved for the future.' example: '1' type: string + - _key: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: + commercial account, `2`: partner tier. Other values are reserved + for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' @@ -2411,6 +2448,24 @@ entities: entity_fieldname: tier example: '1' type: string + - _key: tier_history + api_fieldname: tier_history + description: Tier history for this account. + entity_fieldname: tier_history + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: commercial + account, `2`: partner tier. Other values are reserved for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at api_fieldname: updated_at description: Last update UTC time RFC3339. @@ -3878,7 +3933,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Returns an array of account objects, optionally filtered by status + description: 'Retrieve an array of tenant accounts, optionally filtered by status and tier level. @@ -4962,6 +5017,23 @@ entities: for the future.' example: '1' type: string + - _key: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, + `1`: commercial account, `2`: partner tier. Other values are + reserved for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' @@ -4994,6 +5066,23 @@ entities: account, `2`: partner tier. Other values are reserved for the future.' example: '1' type: string + - _key: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: + commercial account, `2`: partner tier. Other values are reserved + for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' @@ -5174,7 +5263,7 @@ entities: tier: - eq - _key: me - description: 'Retrieve detailed information about the account. + description: 'Retrieve information about the account. **Example:** @@ -5239,6 +5328,7 @@ entities: - password_recovery_expiration - business_model - business_model_history + - tier_history field_renames: [] fields: - _key: include @@ -6311,6 +6401,23 @@ entities: account, `2`: partner tier. Other values are reserved for the future.' example: '1' type: string + - _key: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: + commercial account, `2`: partner tier. Other values are reserved + for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' @@ -6347,6 +6454,24 @@ entities: entity_fieldname: tier example: '1' type: string + - _key: tier_history + api_fieldname: tier_history + description: Tier history for this account. + entity_fieldname: tier_history + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: commercial + account, `2`: partner tier. Other values are reserved for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at api_fieldname: updated_at description: Last update UTC time RFC3339. @@ -6470,7 +6595,7 @@ entities: self: true type: account return_type: account - summary: Get account info. + summary: Get account information. x_deprecation: null x_filter: {} - _key: read @@ -6538,6 +6663,7 @@ entities: - password_recovery_expiration - business_model - business_model_history + - tier_history field_renames: [] fields: - _key: id @@ -7618,6 +7744,23 @@ entities: account, `2`: partner tier. Other values are reserved for the future.' example: '1' type: string + - _key: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: + commercial account, `2`: partner tier. Other values are reserved + for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' @@ -7654,6 +7797,24 @@ entities: entity_fieldname: tier example: '1' type: string + - _key: tier_history + api_fieldname: tier_history + description: Tier history for this account. + entity_fieldname: tier_history + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: commercial + account, `2`: partner tier. Other values are reserved for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at api_fieldname: updated_at description: Last update UTC time RFC3339. @@ -7825,11 +7986,11 @@ entities: self: true type: account return_type: account - summary: Get account info. + summary: Get account information. x_deprecation: null x_filter: {} - _key: trusted_certificates - description: 'Retrieve trusted certificates in an array. + description: 'Retrieve an array of trusted certificates. **Example:** @@ -8284,7 +8445,7 @@ entities: self: false type: subtenant_trusted_certificate return_type: paginated_response(subtenant_trusted_certificate) - summary: Get all trusted certificates. + summary: Get trusted certificates. x_deprecation: null x_filter: device_execution_mode: @@ -8357,6 +8518,7 @@ entities: - admin_full_name - limitations - business_model_history + - tier_history field_renames: [] fields: - _key: address_line1 @@ -9695,6 +9857,23 @@ entities: account, `2`: partner tier. Other values are reserved for the future.' example: '1' type: string + - _key: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: + commercial account, `2`: partner tier. Other values are reserved + for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at description: Last update UTC time RFC3339. example: '2018-02-14T15:24:14Z' @@ -9731,6 +9910,24 @@ entities: entity_fieldname: tier example: '1' type: string + - _key: tier_history + api_fieldname: tier_history + description: Tier history for this account. + entity_fieldname: tier_history + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: commercial + account, `2`: partner tier. Other values are reserved for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array - _key: updated_at api_fieldname: updated_at description: Last update UTC time RFC3339. @@ -9954,8 +10151,7 @@ entities: x_deprecation: null x_filter: {} - _key: user_invitations - description: 'Retrieve details of all active user invitations sent for new or - existing users. + description: 'Retrieve an array of active user invitations. **Example:** @@ -10118,6 +10314,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -10377,13 +10579,13 @@ entities: self: false type: subtenant_user_invitation return_type: paginated_response(subtenant_user_invitation) - summary: Get the details of all user invitations. + summary: Get user invitations. x_deprecation: null x_filter: login_profiles: - eq - _key: users - description: 'Retrieve details of all users. + description: 'Retrieve an array of users. **Example:** @@ -10712,6 +10914,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -11011,7 +11219,7 @@ entities: self: false type: subtenant_user return_type: paginated_response(subtenant_user) - summary: Get the details of all users. + summary: Get users. x_deprecation: null x_filter: email: @@ -11040,7 +11248,7 @@ entities: - Tenant accounts - API keys - Tenant accounts - users - Tenant accounts - user invitations - - Tenant device security - certificates + - Tenant security and identity - certificates - Tenant user interface configuration - colors - Tenant user interface configuration - images - _key: active_session @@ -11731,7 +11939,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Retrieve API keys in an array, optionally filtered by the owner. + description: 'Retrieve an array of API keys, optionally filtered by the owner. **Example:** @@ -12073,7 +12281,7 @@ entities: owner: - eq - _key: me - description: 'Retrieve API key details. + description: 'Retrieve details of current API key. **Example:** @@ -12323,11 +12531,11 @@ entities: self: true type: api_key return_type: api_key - summary: Get API key details. + summary: Get current API key. x_deprecation: null x_filter: {} - _key: policy_groups - description: 'Retrieve groups associated with the API key. + description: 'Retrieve an array of policy groups associated with an API key. **Example:** @@ -12714,11 +12922,11 @@ entities: self: false type: policy_group return_type: paginated_response(policy_group) - summary: Get groups of the API key. + summary: Get policy groups of an API key. x_deprecation: null x_filter: {} - _key: read - description: 'Retrieve API key details. + description: 'Retrieve details of an API key. **Example:** @@ -13023,7 +13231,7 @@ entities: self: true type: api_key return_type: api_key - summary: Get API key details. + summary: Get API key. x_deprecation: null x_filter: {} - _key: update @@ -22355,7 +22563,7 @@ entities: x_deprecation: null x_filter: {} - _key: get_trusted_certificate_info - description: 'Retrieve a trusted certificate by ID. + description: 'Retrieve a trusted certificate. **Example:** @@ -22721,7 +22929,7 @@ entities: self: false type: trusted_certificate return_type: trusted_certificate - summary: Get trusted certificate by ID. + summary: Get a trusted certificate. unaggregated: true x_deprecation: null x_filter: {} @@ -23208,7 +23416,7 @@ entities: - TrustedCertificateResp tags: - Device security - developer class certificates - - Device security - certificates + - Security and identity - certificates - _key: device field_renames: [] fields: @@ -36622,7 +36830,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: Retrieve identity providers in an array. + description: Retrieve an array of identity providers. drop_fields: - object - etag @@ -36977,7 +37185,7 @@ entities: x_deprecation: null x_filter: {} - _key: read - description: Retrieve by ID. + description: Retrieve an identity provider. drop_fields: - object - etag @@ -37299,7 +37507,7 @@ entities: self: true type: identity_provider return_type: identity_provider - summary: Get identity provider by ID. + summary: Get identity provider. x_deprecation: null x_filter: {} - _key: refresh_tokens @@ -40702,6 +40910,12 @@ entities: - _key: login_profile_type api_fieldname: type fields: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + readOnly: true + required: false + type: string - _key: id _override: true api_fieldname: id @@ -41176,7 +41390,7 @@ entities: group_id: Accounts methods: - _key: api_keys - description: 'Manage policy groups. + description: 'Retrieve an array of API keys associated with a policy group. **Example:** @@ -41583,7 +41797,7 @@ entities: self: false type: api_key return_type: paginated_response(api_key) - summary: Get the API keys of a group. + summary: Get the API keys of a policy group. x_deprecation: null x_filter: {} - _key: create @@ -42133,7 +42347,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Retrieve all group information. + description: 'Retrieve an array of policy groups. **Example:** @@ -42464,13 +42678,13 @@ entities: self: true type: policy_group return_type: paginated_response(policy_group) - summary: Get all group information. + summary: Get policy groups. x_deprecation: null x_filter: name: - eq - _key: read - description: 'Retrieve general information about a group. + description: 'Retrieve a policy group. **Example:** @@ -42745,7 +42959,7 @@ entities: self: true type: policy_group return_type: policy_group - summary: Get group information. + summary: Get a policy group. x_deprecation: null x_filter: {} - _key: update @@ -43089,7 +43303,7 @@ entities: x_deprecation: null x_filter: {} - _key: users - description: 'Retrieve users of a group with details. + description: 'Retrieve an array of users associated with a policy group. **Example:** @@ -43414,6 +43628,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -43713,7 +43933,7 @@ entities: self: false type: user return_type: paginated_response(user) - summary: Get users of a group. + summary: Get users of a policy group. x_deprecation: null x_filter: status: @@ -45423,7 +45643,7 @@ entities: x_deprecation: null x_filter: {} - _key: policy_groups - description: 'Retrieve groups associated with the API key. + description: 'Retrieve an array of policy groups associated with an API key. **Example:** @@ -45820,11 +46040,12 @@ entities: self: false type: subtenant_policy_group return_type: paginated_response(subtenant_policy_group) - summary: Get groups associated with the API key. + summary: Get policy groups of an API key. x_deprecation: null x_filter: {} - _key: read - description: "Retrieve API key details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ + description: "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X GET\ + \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ \ \\\n -H 'Authorization: Bearer '\n```" drop_fields: - object @@ -46633,8 +46854,7 @@ entities: group_id: Branding methods: - _key: delete - description: 'Resets the branding color of a tenant account to its dark theme - default. + description: 'Resets the branding color to its dark theme default. **Example:** @@ -47139,7 +47359,7 @@ entities: - notes: Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method. operation_id: bulkSetAccountDarkColors - description: 'Update a dark theme branding color of a tenant account. + description: 'Update a dark theme branding color. **Example:** @@ -50179,7 +50399,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: Retrieve identity providers in an array. + description: Retrieve an array of identity providers. drop_fields: - object - etag @@ -50608,7 +50828,7 @@ entities: x_deprecation: null x_filter: {} - _key: read - description: Manage identity providers of a tenant account. + description: Retrieve an identity provider. drop_fields: - object - etag @@ -50956,7 +51176,7 @@ entities: self: true type: subtenant_identity_provider return_type: subtenant_identity_provider - summary: Retrieve identity provider by ID. + summary: Get an identity provider. x_deprecation: null x_filter: {} - _key: refresh_tokens @@ -52053,8 +52273,7 @@ entities: group_id: Branding methods: - _key: delete - description: 'Resets the branding color of a tenant account to its light theme - default. + description: 'Resets the branding color to its light theme default. **Example:** @@ -52558,7 +52777,7 @@ entities: - notes: Bulk operation is not appriate for SDK's entity model, this functionality is covered by the update method. operation_id: bulkSetAccountLightColors - description: 'Update a light theme branding color of a tenant account. + description: 'Update a light theme branding color. **Example:** @@ -53922,7 +54141,7 @@ entities: group_id: Accounts methods: - _key: api_keys - description: 'List the API keys of the group with details. + description: 'Retrieve an array of API keys associated with a policy group. **Example:** @@ -54339,7 +54558,7 @@ entities: self: false type: subtenant_api_key return_type: paginated_response(subtenant_api_key) - summary: Get API keys of a group. + summary: Get API keys in a group. x_deprecation: null x_filter: {} - _key: create @@ -54965,7 +55184,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Retrieve all group information. + description: 'Retrieve an array of policy groups. **Example:** @@ -55355,13 +55574,13 @@ entities: self: true type: subtenant_policy_group return_type: paginated_response(subtenant_policy_group) - summary: Get all group information. + summary: Get policy groups. x_deprecation: null x_filter: name: - eq - _key: read - description: 'Retrieve general information about the group. + description: 'Retrieve policy group details. **Example:** @@ -55651,7 +55870,7 @@ entities: self: true type: subtenant_policy_group return_type: subtenant_policy_group - summary: Get group information. + summary: Get policy group. x_deprecation: null x_filter: {} - _key: update @@ -56010,7 +56229,7 @@ entities: x_deprecation: null x_filter: {} - _key: users - description: 'List a group''s users, with details. + description: 'Retrieve an array of users associated with a policy group. **Example:** @@ -56345,6 +56564,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -56644,7 +56869,7 @@ entities: self: false type: subtenant_user return_type: paginated_response(subtenant_user) - summary: Get users of a group. + summary: Get users in a policy group. x_deprecation: null x_filter: status: @@ -56828,7 +57053,7 @@ entities: group_id: Security methods: - _key: create - description: 'Upload new trusted certificates. + description: 'Upload new trusted certificate. **Example:** @@ -57336,7 +57561,7 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: 'Delete the trusted certificate. + description: 'Delete a trusted certificate. **Example:** @@ -57548,7 +57773,7 @@ entities: self: true type: subtenant_trusted_certificate return_type: subtenant_trusted_certificate - summary: Delete trusted certificate by ID. + summary: Delete a trusted certificate by ID. x_deprecation: null x_filter: {} - _key: get_developer_certificate_info @@ -58040,7 +58265,7 @@ entities: x_deprecation: null x_filter: {} - _key: read - description: 'Retrieve a trusted certificate by ID. + description: 'Retrieve a trusted certificate. **Example:** @@ -58442,12 +58667,12 @@ entities: self: true type: subtenant_trusted_certificate return_type: subtenant_trusted_certificate - summary: Get trusted certificate by ID. + summary: Get a trusted certificate. x_deprecation: null x_filter: {} - _key: update - description: "Update existing trusted certificates.\n\n**Example:**\n```\ncurl\ - \ -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ + description: "Update a trusted certificate.\n\n**Example:**\n```\ncurl -X PUT\ + \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n -d {\"description\": \"very important cert\"}\n ```" drop_fields: @@ -58953,7 +59178,7 @@ entities: - TrustedCertificateResp - TrustedCertificateUpdateReq tags: - - Tenant device security - certificates + - Tenant security and identity - certificates - Device security - developer class certificates - _key: subtenant_user field_renames: [] @@ -59211,6 +59436,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -59457,6 +59688,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -59795,6 +60032,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -60420,7 +60663,7 @@ entities: x_deprecation: null x_filter: {} - _key: policy_groups - description: 'Retrieve user''s groups. + description: 'Retrieve an array of policy groups associated with a user. **Example:** @@ -60817,7 +61060,7 @@ entities: self: false type: subtenant_policy_group return_type: paginated_response(subtenant_policy_group) - summary: Get user's groups. + summary: Get policy groups for a user. x_deprecation: null x_filter: {} - _key: read @@ -61156,6 +61399,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -61562,6 +61811,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -61884,6 +62139,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -62536,6 +62797,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -62659,6 +62926,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -62794,6 +63067,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -63350,6 +63629,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -64890,7 +65175,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Retrieve trusted certificates in an array. + description: 'Retrieve an array of trusted certificates. **Example:** @@ -65301,7 +65586,7 @@ entities: valid: - eq - _key: read - description: 'Retrieve a trusted certificate by ID. + description: 'Retrieve a trusted certificate. **Example:** @@ -65671,7 +65956,7 @@ entities: self: true type: trusted_certificate return_type: trusted_certificate - summary: Get trusted certificate by ID. + summary: Get a trusted certificate. x_deprecation: null x_filter: {} - _key: update @@ -66211,7 +66496,7 @@ entities: - TrustedCertificateRespList - TrustedCertificateUpdateReq tags: - - Device security - certificates + - Security and identity - certificates - Device security - developer class certificates - _key: update_campaign field_renames: [] @@ -68787,6 +69072,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -69014,6 +69305,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -69327,6 +69624,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -69879,7 +70182,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Retrieve the details of all users. + description: 'Retrieve an array of users. **Example:** @@ -70192,6 +70495,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -70430,7 +70739,7 @@ entities: self: true type: user return_type: paginated_response(user) - summary: Get the details of all users. + summary: Get users. x_deprecation: null x_filter: email: @@ -70442,7 +70751,7 @@ entities: - in - nin - _key: policy_groups - description: 'Retrieve groups of the user. + description: 'Retrieve an array of policy groups associated with a user. **Example:** @@ -70810,7 +71119,7 @@ entities: self: false type: policy_group return_type: paginated_response(policy_group) - summary: Get groups of the user. + summary: Get policy groups for a user. x_deprecation: null x_filter: {} - _key: read @@ -71114,6 +71423,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -71496,6 +71811,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -71793,6 +72114,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -72219,6 +72546,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -72331,6 +72664,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -72456,6 +72795,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -72864,7 +73209,7 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Retrieve details for all the active user invitations. + description: 'Retrieve an array of active user invitations sent by email. **Example:** @@ -73011,6 +73356,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id @@ -73209,7 +73560,7 @@ entities: self: true type: user_invitation return_type: paginated_response(user_invitation) - summary: Get the details of all user invitations. + summary: Get user invitations. x_deprecation: null x_filter: login_profiles: @@ -73331,6 +73682,12 @@ entities: entity: login_profile group: Accounts properties: + - _key: foreign_id + api_fieldname: foreign_id + description: The ID of the user in the identity provider's service. + entity_fieldname: foreign_id + readOnly: true + type: string - _key: id _override: true api_fieldname: id From ad20e043c375b24f3613db39036085ed96be97c6 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 30 Jan 2020 09:00:42 +0000 Subject: [PATCH 041/111] new SDK config changes via api-contract @ 2020-01-30 09:00 --- .../public/pelion_dm_public_openapi.yaml | 308 ++++++++++++++++-- 1 file changed, 289 insertions(+), 19 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 1fa17fb1b..81580ae9e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -5514,6 +5514,9 @@ definitions: type: string country: type: string + customer_subtenant_id: + description: Account tenant ID, valid only for tenants. + type: string email: type: string id: @@ -5640,8 +5643,6 @@ definitions: - object - account - billing_data - - subtenants - - aggregated - month type: object Resource: @@ -6023,8 +6024,7 @@ definitions: description: If there is next available quota history paged response to fetch. type: boolean limit: - description: Maximum number of quota history entries contained in one paged - response. + description: Maximum number of quota history entries in one paged response. format: int32 maximum: 1000 minimum: 2 @@ -6094,9 +6094,7 @@ definitions: $ref: '#/definitions/QuotaUsageReport' type: array required: - - metadata - quota_usage - - aggregated_quota_usage type: object ServicePackagesResponse: description: Contains service package information for currently active service @@ -6124,6 +6122,94 @@ definitions: required: - object - previous + StatisticsSeriesRecord: + description: Statistics view record. + properties: + active_devices: + $ref: '#/definitions/ActiveDevicesCounter' + device_to_pelion_messages: + $ref: '#/definitions/DeviceToPelionMessagesCounter' + firmware_updates: + $ref: '#/definitions/FirmwareUpdatesCounter' + id: + description: Metric ID. + pattern: '[0-9a-fA-F]{32}' + type: string + object: + description: Always `billing-statistics`. + enum: + - billing-statistics + type: string + pelion_to_device_messages: + $ref: '#/definitions/PelionToDeviceMessagesCounter' + pelion_to_webapp_notifications: + $ref: '#/definitions/PelionToWebappNotificationsCounter' + rest_api_requests_with_api_key_token: + $ref: '#/definitions/RestApiRequestsWithApiKeyTokenCounter' + rest_api_requests_with_user_token: + $ref: '#/definitions/RestApiRequestsWithUserTokenCounter' + sda_tokens: + $ref: '#/definitions/SdaTokensCounter' + timestamp: + description: 'The start of the interval for which the data is aggregated, + in RFC3339 date-time format with millisecond accuracy and UTC time zone. + + Each interval includes data for the time greater than or equal to the timestamp + and less than the next interval''s starting.' + format: date-time + type: string + required: + - object + - id + - timestamp + - active_devices + - firmware_updates + - sda_tokens + type: object + StatisticsViewResponse: + description: Contains the statistics view of Device Management usage information. + properties: + after: + description: The ID after which to fetch the statistics view. + pattern: '[0-9a-fA-F]{32}' + type: string + data: + description: List of statistics view records. Empty list if no records are + available. + items: + $ref: '#/definitions/StatisticsSeriesRecord' + type: array + has_more: + description: Indicates whether a new statistics view response is available. + type: boolean + limit: + default: 50 + description: Maximum number of statistics view records on a page. + format: int32 + maximum: 1000 + minimum: 2 + type: integer + object: + description: Always `list`. + enum: + - list + type: string + order: + description: 'Record order. Acceptable values: ASC, DESC. Default: ASC.' + type: string + total_count: + description: Sum of all statistics view records to return. Included in the + response when you use the query parameter include=total_count. + format: int64 + minimum: 0 + type: integer + required: + - object + - data + - has_more + - limit + - order + type: object SubjectList: description: Represents arrays of user and API key IDs. properties: @@ -16266,11 +16352,11 @@ paths: /v3/billing-report: get: description: "Fetch the billing report generated for the currently authenticated\ - \ commercial non-tenant account. The billing reports for\ntenant accounts\ - \ are included in their aggregator's billing report response. The response\ - \ contains below additional counters\nwhen the account's business model is\ - \ set to `API calls` in the Admin Console.\n - rest_api_requests_with_user_token\n\ - \ - rest_api_requests_with_api_key_token\n - pelion_to_webapp_notifications\n\ + \ commercial account. The billing reports for\ntenant accounts are also included\ + \ in their aggregator's billing report response. The response contains below\ + \ additional counters\nwhen the account's business model is set to `API calls`\ + \ by the account administrator.\n - rest_api_requests_with_user_token\n \ + \ - rest_api_requests_with_api_key_token\n - pelion_to_webapp_notifications\n\ \ - device_to_pelion_messages\n - pelion_to_device_messages\n\n**Example:**\n\ ```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-report?month=2018-07\ \ \\\n-H 'Authorization: Bearer '\n```" @@ -16433,7 +16519,7 @@ paths: schema: $ref: '#/definitions/UnauthorizedErrorResponse' 403: - description: Access forbidden if account is not commercial or tenant. + description: Access forbidden if account is not commercial. examples: application/json: code: 403 @@ -16474,7 +16560,7 @@ paths: /v3/billing-report-active-devices: get: description: 'Fetch raw billing data for active devices for the currently authenticated - commercial non-tenant account. + commercial account. This is supplementary data for the billing report. The raw billing data of @@ -16542,7 +16628,7 @@ paths: schema: $ref: '#/definitions/UnauthorizedErrorResponse' 403: - description: Access forbidden if account is not commercial or tenant. + description: Access forbidden if account is not commercial. examples: application/json: code: 403 @@ -16581,11 +16667,11 @@ paths: /v3/billing-report-firmware-updates: get: description: 'Fetch raw billing data for firmware updates for the currently - authenticated commercial non-tenant account. + authenticated commercial account. This is supplementary data for the billing report. The raw billing data of - the firmware updates for tenant accounts are included in their aggregator''s + the firmware updates for tenant accounts are also included in their aggregator''s raw billing data of the firmware updates. @@ -16649,7 +16735,7 @@ paths: schema: $ref: '#/definitions/UnauthorizedErrorResponse' 403: - description: Access forbidden if account is not commercial or tenant. + description: Access forbidden if account is not commercial. examples: application/json: code: 403 @@ -16685,6 +16771,191 @@ paths: tags: - Usage - billing reports x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml + /v3/billing-statistics: + get: + description: "Fetch the statistics view of Device Management usage in time series\ + \ for the currently authenticated commercial account.\nThe response contains\ + \ the additional counters below, if the account business model is set to `API\ + \ calls` by the account administrator:\n - device_to_pelion_messages\n -\ + \ pelion_to_device_messages\n - pelion_to_webapp_notifications\n - rest_api_requests_with_api_key_token\n\ + \ - rest_api_requests_with_user_token\n\nThe return data is retrieved during\ + \ a defined time window and grouped by defined interval.\nThe time window\ + \ for data retrieval is defined as a range, that can be either absolute (for\ + \ instance, using timestamps) or relative (referring to the 'period' parameter).\n\ + Range start is inclusive, while range end is exclusive. The specified range\ + \ must be equal to or greater than the specified interval.\n\nReturned data\ + \ does not include any tenant usage.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-statistics?start=2019-11-01T00:00:00.000Z&end=2019-12-01T00:00:00.000Z&interval=1d\ + \ \\\n -H 'Authorization: Bearer '\n```" + operationId: getStatisticsView + parameters: + - description: 'Start time of the statistics view in RFC3339 date-time format, + with millisecond accuracy and UTC time zone. + + The parameter is mandatory if the period is not specified. Do not set the + parameter if you have specified the period. + + Fetch data with timestamp greater than or equal to this value. Sample value: + 2017-02-07T09:20:56.990Z. + + The specified range must be equal to or greater than 5 minutes. Maximum + supported range is 98 days when using timestamps to specify the range.' + format: date-time + in: query + name: start + required: false + type: string + - description: 'End time of the statistics view in RFC3339 date-time format + with millisecond accuracy and UTC time zone. + + The parameter is mandatory if the period is not specified. Do not set the + parameter if you have specified the period. + + Fetch the data with timestamp less than this value. Sample value: 2017-02-07T09:20:56.990Z. + + The specified range must be equal to or greater than 5 minutes. Maximum + supported range is 98 days when using timestamps to specify the range.' + format: date-time + in: query + name: end + required: false + type: string + - description: 'Period. Alternative for specifying the range if not using start + and end parameters. + + The parameter is mandatory if the start and end parameters are not specified. + Do not set the parameter if you have specified the start and end parameters. + + Fetch the data for the period in minutes, hours, days, weeks or months. + + One week is normalized to 7 days. Sample values: 5m, 2h, 3d, 4w, 1mo, 3mo. + + The allowed periods (inclusive) are 5m-141120m/1h-2352h/1d-98d/1w-14w/1mo-3mo.' + in: query + name: period + required: false + type: string + - description: 'Group the data by this interval in minutes, hours, days, weeks + or months. + + One week is normalized to 7 days. Sample values: 5m, 2h, 3d, 4w, 1mo, 3mo. + + Minimum supported interval is 5 minutes. The specified interval must not + be greater than the specified range.' + in: query + name: interval + required: true + type: string + - default: 50 + description: Maximum number of statistics view records in one paginated response. + format: int32 + in: query + maximum: 1000 + minimum: 2 + name: limit + required: false + type: integer + - description: Results after specified record ID. + in: query + name: after + pattern: '[0-9a-fA-F]{32}' + required: false + type: string + - description: 'Record order. Acceptable values (case insensitive): ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + responses: + 200: + description: Statistics view of Device Management usage for the currently + authenticated commercial account. + examples: + application/json: + after: null + data: + - active_devices: 10 + firmware_updates: 4286 + id: 00000000000000000000016e7bcf1800 + object: billing-statistics + sda_tokens: 962 + timestamp: '2019-11-18T00:00:00.000Z' + - active_devices: 0 + firmware_updates: 6553 + id: 00000000000000000000016e80f57400 + object: billing-statistics + sda_tokens: 1440 + timestamp: '2019-11-19T00:00:00.000Z' + - active_devices: 0 + firmware_updates: 0 + id: 00000000000000000000016e861bd000 + object: billing-statistics + sda_tokens: 0 + timestamp: '2019-11-20T00:00:00.000Z' + has_more: false + limit: 50 + object: list + order: asc + total_count: 3 + schema: + $ref: '#/definitions/StatisticsViewResponse' + 400: + description: Bad request. + examples: + application/json: + code: 400 + fields: + - message: Parameter missing. + name: interval + message: One of the request fields has failed validation. + object: error + request_id: example-request-id + type: validation_error + schema: + $ref: '#/definitions/BadRequestErrorResponse' + 401: + description: Unauthorized access. + examples: + application/json: + code: 401 + message: Access is denied. + object: error + request_id: example-request-id + type: unauthorized + schema: + $ref: '#/definitions/UnauthorizedErrorResponse' + 403: + description: Forbidden. + examples: + application/json: + code: 403 + message: Account is not a commercial account. + object: error + request_id: example-request-id + type: forbidden + schema: + $ref: '#/definitions/ForbiddenErrorResponse' + 500: + description: Internal server error. + examples: + application/json: + code: 500 + message: Unexpected internal server error. + object: error + request_id: example-request-id + type: internal_error + schema: + $ref: '#/definitions/InternalServerErrorResponse' + summary: Get statistics view of Device Management usage. + tags: + - Usage - statistics + x-origin: /home/circleci/project/billing/public/swagger-public-apis.yaml /v3/branding-colors: delete: description: 'Delete account branding colors for all themes. @@ -26436,8 +26707,7 @@ paths: ```' operationId: getServicePackageQuotaHistory parameters: - - description: Maximum number of quota history entries contained in one paged - response. + - description: Maximum number of quota history entries in one paged response. format: int32 in: query maximum: 1000 From ec17c7daa6e42f54cdbd9850beff13882ca0a55b Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 30 Jan 2020 12:23:28 +0000 Subject: [PATCH 042/111] new SDK config changes via api-contract @ 2020-01-30 12:23 --- api_specifications/public/pelion_dm_public_openapi.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 81580ae9e..24da859ce 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -16446,7 +16446,7 @@ paths: company: example-tenant-company-1 contact: null country: null - customer_tenant_id: example-customer-tenant-id-1 + customer_subtenant_id: example-customer-tenant-id-1 email: null id: example-tenant-account-1 phone_number: null @@ -16472,7 +16472,7 @@ paths: company: example-tenant-company-2 contact: null country: null - customer_tenant_id: example-customer-tenant-id-2 + customer_subtenant_id: example-customer-tenant-id-2 email: null id: example-tenant-account-2 phone_number: null From d6fa9536fa4dcc33b33a6d843b4f49361443f72d Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 10 Feb 2020 07:49:27 +0000 Subject: [PATCH 043/111] new SDK config changes via api-contract @ 2020-02-10 07:49 --- .../public/pelion_dm_public_openapi.yaml | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 24da859ce..a57883d62 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9093,8 +9093,8 @@ paths: description: Callback URL does not exist. summary: Delete callback URL. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml get: description: 'Shows the current callback URL if it exists. @@ -9122,8 +9122,8 @@ paths: description: The callback URL does not exist. summary: Check callback URL. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml put: consumes: - application/json @@ -9197,8 +9197,8 @@ paths: description: Unsupported Media Type. summary: Register a callback URL. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/notification/channel: get: description: "Get channel delivery mechanism.\n\n**Example:**\n\n curl -X\ @@ -9214,8 +9214,8 @@ paths: description: Channel was not found. summary: Get channel metadata. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/notification/pull: delete: deprecated: true @@ -9245,7 +9245,7 @@ paths: 401: *id021 summary: Delete notification Long Poll channel. tags: - - Notifications + - Device data - notifications x-deprecation: comment: Long polling is deprecated and should be used for development purposes only. @@ -9253,7 +9253,7 @@ paths: issued_at: '2017-02-10T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html - x-origin: /home/circleci/project/device-server/public/swagger.yaml + x-origin: /home/circleci/project/notification-service/public/swagger.yaml get: deprecated: true description: 'In this case, notifications are delivered through HTTP long poll @@ -9319,7 +9319,7 @@ paths: "channel exists" state. summary: Get notifications using Long Poll tags: - - Notifications + - Device data - notifications x-deprecation: comment: Long polling is deprecated and should be used for development purposes only. @@ -9327,7 +9327,7 @@ paths: issued_at: '2017-02-10T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html - x-origin: /home/circleci/project/device-server/public/swagger.yaml + x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/notification/websocket: delete: description: '(PREVIEW) Delete a notification websocket channel bound to the @@ -9358,8 +9358,8 @@ paths: description: Websocket channel doesn't exist. summary: (PREVIEW) Delete websocket channel. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml get: description: '(PREVIEW) Returns 200 with websocket connection status, if websocket channel exists. @@ -9390,8 +9390,8 @@ paths: description: No channel has been registered. summary: (PREVIEW) Get websocket channel information. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml put: consumes: - application/json @@ -9441,8 +9441,8 @@ paths: 403: *id022 summary: (PREVIEW) Register a websocket channel. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/notification/websocket-connect: get: description: "\n(PREVIEW) A websocket channel can have only one active connection\ @@ -9528,8 +9528,8 @@ paths: requests with the same authorization token will be accepted. summary: (PREVIEW) Open the websocket. tags: - - Notifications - x-origin: /home/circleci/project/device-server/public/swagger.yaml + - Device data - notifications + x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/subscriptions: delete: description: 'Removes pre-subscriptions. From 5ae2463095bdfe5952a17850da3f3befd9dba297 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 10 Feb 2020 13:48:04 +0000 Subject: [PATCH 044/111] new SDK config changes via api-contract @ 2020-02-10 13:48 --- .../public/pelion_dm_public_openapi.yaml | 62 +++++++++---------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index a57883d62..078118f2b 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9330,9 +9330,8 @@ paths: x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/notification/websocket: delete: - description: '(PREVIEW) Delete a notification websocket channel bound to the - API key. This is required to change the channel from websocket to another - type. + description: 'Delete a notification websocket channel bound to the API key. + This is required to change the channel from websocket to another type. Deleting the websocket channel also removes the channel''s notification queue. @@ -9356,13 +9355,13 @@ paths: 403: *id022 404: description: Websocket channel doesn't exist. - summary: (PREVIEW) Delete websocket channel. + summary: Delete websocket channel. tags: - Device data - notifications x-origin: /home/circleci/project/notification-service/public/swagger.yaml get: - description: '(PREVIEW) Returns 200 with websocket connection status, if websocket - channel exists. + description: 'Returns 200 with websocket connection status, if websocket channel + exists. **Example:** @@ -9388,34 +9387,33 @@ paths: 403: *id022 404: description: No channel has been registered. - summary: (PREVIEW) Get websocket channel information. + summary: Get websocket channel information. tags: - Device data - notifications x-origin: /home/circleci/project/notification-service/public/swagger.yaml put: consumes: - application/json - description: "(PREVIEW) Register (or update) a channel using websocket connection\ - \ to deliver notifications. The websocket channel should be opened by client\ - \ using `/v2/notification/websocket-connect` endpoint. To get notifications\ - \ pushed, you must place subscriptions. For more information on notification\ - \ messages, see [NotificationMessage](#NotificationMessage).\n\nA websocket\ - \ channel can have only one active websocket connection at a time. If a websocket\ - \ connection for a channel exists and a new connection to the same channel\ - \ is made, the connection is accepted and the older connection is closed.\n\ - \n**Note**: Only one websocket channel for each API key can be active at a\ - \ time. If you register a new websocket channel while another one is active,\ - \ it replaces the previously active one. If another type of channel is already\ - \ present, you need to delete it before registering a websocket channel. \ - \ \n\n**Expiration of a websocket:**\n\nA websocket channel is expired if\ - \ the channel does not have an opened websocket connection for a 24-hour period.\ - \ Channel expiration means the channel is deleted and any undelivered notifications\ - \ stored in its internal queue is removed. As long as the channel has an opened\ - \ websocket connection or time between successive websocket connections is\ - \ less than 24 hours,\nthe channel is considered active, notifications are\ - \ stored in its internal queue and delivered when a websocket connection is\ - \ active. A channel can be also deleted explicitly with a DELETE call.\n\n\ - More about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ + description: "Register (or update) a channel using websocket connection to deliver\ + \ notifications. The websocket channel should be opened by client using `/v2/notification/websocket-connect`\ + \ endpoint. To get notifications pushed, you must place subscriptions. For\ + \ more information on notification messages, see [NotificationMessage](#NotificationMessage).\n\ + \nA websocket channel can have only one active websocket connection at a time.\ + \ If a websocket connection for a channel exists and a new connection to the\ + \ same channel is made, the connection is accepted and the older connection\ + \ is closed.\n\n**Note**: Only one websocket channel for each API key can\ + \ be active at a time. If you register a new websocket channel while another\ + \ one is active, it replaces the previously active one. If another type of\ + \ channel is already present, you need to delete it before registering a websocket\ + \ channel. \n\n**Expiration of a websocket:**\n\nA websocket channel is\ + \ expired if the channel does not have an opened websocket connection for\ + \ a 24-hour period. Channel expiration means the channel is deleted and any\ + \ undelivered notifications stored in its internal queue is removed. As long\ + \ as the channel has an opened websocket connection or time between successive\ + \ websocket connections is less than 24 hours,\nthe channel is considered\ + \ active, notifications are stored in its internal queue and delivered when\ + \ a websocket connection is active. A channel can be also deleted explicitly\ + \ with a DELETE call.\n\nMore about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ \n**Configuration options:**\n\nThe event notification channel provides configurations\ \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ @@ -9439,14 +9437,14 @@ paths: description: Other type of channel already exists. 401: *id021 403: *id022 - summary: (PREVIEW) Register a websocket channel. + summary: Register a websocket channel. tags: - Device data - notifications x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/notification/websocket-connect: get: - description: "\n(PREVIEW) A websocket channel can have only one active connection\ - \ at a time. If a websocket connection for a channel exists and a new connection\ + description: "\nA websocket channel can have only one active connection at a\ + \ time. If a websocket connection for a channel exists and a new connection\ \ to the same channel is made, the connection is accepted and the older connection\ \ is closed.\n\nA websocket client library should be used when connecting\ \ to this endpoint.\n\nOnce the socket has been opened, the server may close\ @@ -9526,7 +9524,7 @@ paths: 429: description: While a WebSocket handshake is still in progress, no new WebSocket requests with the same authorization token will be accepted. - summary: (PREVIEW) Open the websocket. + summary: Open the websocket. tags: - Device data - notifications x-origin: /home/circleci/project/notification-service/public/swagger.yaml From ec044f9fd795463f622b999a9f1101a694e6ac02 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 11 Feb 2020 07:08:09 +0000 Subject: [PATCH 045/111] new SDK config changes via api-contract @ 2020-02-11 07:08 --- .../public/pelion_dm_public_openapi.yaml | 4 +- .../public/sdk_foundation_definition.json | 3193 ++++++++++++++++- .../public/sdk_foundation_definition.yaml | 2407 ++++++++++++- 3 files changed, 5501 insertions(+), 103 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 078118f2b..e9cc600a6 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -293,7 +293,6 @@ definitions: limits: additionalProperties: type: string - deprecated: true description: List of limits as key-value pairs if requested. type: object x-deprecation: @@ -4666,6 +4665,9 @@ definitions: enum: - identity-provider type: string + oidc_attributes: + $ref: '#/definitions/OIDCInfo' + description: OIDC specific attributes. saml2_attributes: $ref: '#/definitions/SAML2Info' description: SAML2 specific attributes. diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 503a19e81..694da6aa1 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -2333,7 +2333,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -2985,7 +2984,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -5841,7 +5839,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -6461,7 +6458,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -7551,7 +7547,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -8203,7 +8198,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -9274,7 +9268,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -9926,7 +9919,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -12016,7 +12008,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -12668,7 +12659,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -15244,7 +15234,6 @@ { "type": "object", "x-nullable": true, - "deprecated": true, "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", @@ -46001,13 +45990,10 @@ "group": "Accounts", "entity": "oidc_request" }, - "name": "oidc_attributes", - "in": "body", - "schema_param": true, - "entity_fieldname": "oidc_attributes", "api_fieldname": "oidc_attributes", - "external_param": true, + "entity_fieldname": "oidc_attributes", "parameter_fieldname": "oidc_attributes", + "in": "body", "_key": "oidc_attributes" }, { @@ -46180,6 +46166,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -46915,6 +47098,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -47252,6 +47632,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "account_id", "is_default", "identity_provider_type" @@ -47419,6 +47800,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -47829,6 +48407,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "account_id", "is_default", "identity_provider_type" @@ -48002,6 +48581,201 @@ ], "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -48435,6 +49209,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -48772,6 +49743,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "account_id", "is_default", "identity_provider_type" @@ -48899,6 +49871,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -49309,6 +50478,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "account_id", "is_default", "identity_provider_type" @@ -49587,13 +50757,10 @@ "group": "Accounts", "entity": "oidc_request" }, - "name": "oidc_attributes", - "in": "body", - "schema_param": true, - "entity_fieldname": "oidc_attributes", "api_fieldname": "oidc_attributes", - "external_param": true, + "entity_fieldname": "oidc_attributes", "parameter_fieldname": "oidc_attributes", + "in": "body", "_key": "oidc_attributes" }, { @@ -49754,6 +50921,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -50246,6 +51610,201 @@ "required": true, "_key": "name" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "readOnly": false, + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -64184,13 +65743,10 @@ "group": "Accounts", "entity": "oidc_request" }, - "name": "oidc_attributes", - "in": "body", - "schema_param": true, - "entity_fieldname": "oidc_attributes", "api_fieldname": "oidc_attributes", - "external_param": true, + "entity_fieldname": "oidc_attributes", "parameter_fieldname": "oidc_attributes", + "in": "body", "_key": "oidc_attributes" }, { @@ -64372,6 +65928,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "parameter_fieldname": "oidc_attributes", + "in": "body", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -65213,6 +66966,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "parameter_fieldname": "oidc_attributes", + "in": "body", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -65561,6 +67511,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "is_default" ], "group_id": "Accounts", @@ -65742,6 +67693,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "parameter_fieldname": "oidc_attributes", + "in": "body", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -66163,6 +68311,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "is_default" ], "group_id": "Accounts", @@ -66346,6 +68495,201 @@ ], "_key": "object" }, + { + "type": "object", + "required": [ + "issuer" + ], + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -66881,6 +69225,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "parameter_fieldname": "oidc_attributes", + "in": "body", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -67229,6 +69770,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "is_default" ], "group_id": "Accounts", @@ -67370,6 +69912,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "parameter_fieldname": "oidc_attributes", + "in": "body", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -67791,6 +70530,7 @@ "description", "status", "saml2_attributes", + "oidc_attributes", "is_default" ], "group_id": "Accounts", @@ -68057,13 +70797,10 @@ "group": "Accounts", "entity": "oidc_request" }, - "name": "oidc_attributes", - "in": "body", - "schema_param": true, - "entity_fieldname": "oidc_attributes", "api_fieldname": "oidc_attributes", - "external_param": true, + "entity_fieldname": "oidc_attributes", "parameter_fieldname": "oidc_attributes", + "in": "body", "_key": "oidc_attributes" }, { @@ -68233,6 +70970,203 @@ "entity_fieldname": "object", "_key": "object" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "entity_fieldname": "oidc_attributes", + "parameter_fieldname": "oidc_attributes", + "in": "body", + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ @@ -68726,6 +71660,203 @@ "readOnly": false, "_key": "name" }, + { + "type": "object", + "required": false, + "properties": [ + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "authorization_endpoint" + }, + { + "type": "boolean", + "description": "For future use.", + "x-nullable": true, + "_key": "auto_enrollment" + }, + { + "description": "Mapping for non-standard OIDC claim names.", + "type": "object", + "properties": [ + { + "type": "string", + "description": "Custom claim name for 'email'.", + "example": "email_address", + "x-nullable": true, + "_key": "email" + }, + { + "type": "string", + "description": "Custom claim name for 'email_verified'.", + "x-nullable": true, + "_key": "email_verified" + }, + { + "type": "string", + "description": "Custom claim name for 'family_name'.", + "x-nullable": true, + "_key": "family_name" + }, + { + "type": "string", + "description": "Custom claim name for 'given_name'.", + "x-nullable": true, + "_key": "given_name" + }, + { + "type": "string", + "description": "Custom claim name for 'name'.", + "x-nullable": true, + "_key": "name" + }, + { + "type": "string", + "description": "Custom claim name for 'phone_number'.", + "x-nullable": true, + "_key": "phone_number" + }, + { + "type": "string", + "description": "Custom claim name for 'sub'.", + "x-nullable": true, + "_key": "sub" + }, + { + "type": "string", + "description": "Custom claim name for 'updated_at'.", + "x-nullable": true, + "_key": "updated_at" + }, + { + "type": "string", + "description": "Custom pattern for claim 'updated_at' as defined by the Java SimpleDateFormat class.", + "example": "yyyy-MM-dd'T'HH:mm:ssXXX", + "x-nullable": true, + "_key": "updated_at_pattern" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request_claim_mapping" + }, + "x-nullable": true, + "_key": "claim_mapping" + }, + { + "type": "string", + "description": "Client ID needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_id" + }, + { + "type": "string", + "description": "Client secret needed to authenticate and gain access to identity provider's API.", + "x-nullable": true, + "_key": "client_secret" + }, + { + "type": "string", + "description": "URL of the provider's end session endpoint.", + "x-nullable": true, + "_key": "end_session_endpoint" + }, + { + "type": "string", + "description": "Issuer of the identity provider.", + "_key": "issuer" + }, + { + "type": "string", + "description": "URL of the provider's JSON web key set document.", + "x-nullable": true, + "_key": "jwks_uri" + }, + { + "type": "array", + "description": "Provider's public keys and key IDs used to sign ID tokens. PEM-encoded.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "description": "The public key.", + "_key": "key" + }, + { + "type": "string", + "description": "The public key ID.", + "_key": "kid" + } + ], + "description": "Represents provider's public key and key ID used to sign ID tokens. PEM-encoded.", + "foreign_key": { + "group": "Accounts", + "entity": "identity_provider_public_key" + } + }, + "x-nullable": true, + "_key": "keys" + }, + { + "type": "string", + "description": "The URI needed to authenticate and gain access to identity provider's API. Leave this empty to use the default redirect URI.", + "x-nullable": true, + "_key": "redirect_uri" + }, + { + "type": "string", + "description": "URL of the provider's token revocation endpoint.", + "x-nullable": true, + "_key": "revocation_endpoint" + }, + { + "type": "string", + "description": "Space-separated list of scopes sent in the authentication request. When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims).", + "example": "openid email", + "_key": "scopes" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 authorization endpoint.", + "x-nullable": true, + "_key": "token_endpoint" + }, + { + "type": "string", + "enum": [ + "POST", + "GET" + ], + "default": "POST", + "description": "One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode.", + "_key": "token_request_mode" + }, + { + "type": "string", + "description": "Path to the standard data in the token response. Levels in the JSON structure must be separated by '.' (dot) characters.", + "example": "oidc.data", + "_key": "token_response_path" + }, + { + "type": "string", + "description": "URL of the OAuth 2.0 UserInfo endpoint.", + "x-nullable": true, + "_key": "userinfo_endpoint" + } + ], + "description": "Represents OIDC specific attributes.", + "foreign_key": { + "group": "Accounts", + "entity": "oidc_request" + }, + "api_fieldname": "oidc_attributes", + "parameter_fieldname": "oidc_attributes", + "in": "body", + "readOnly": false, + "_key": "oidc_attributes" + }, { "type": "object", "properties": [ diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index dbb4fe4f5..1c7901676 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -340,7 +340,6 @@ entities: additionalProperties: type: string api_fieldname: limits - deprecated: true description: List of limits as key-value pairs if requested. readOnly: true required: false @@ -1682,7 +1681,6 @@ entities: additionalProperties: type: string api_fieldname: limits - deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object @@ -2180,7 +2178,6 @@ entities: - _key: limits additionalProperties: type: string - deprecated: true description: List of limits as key-value pairs if requested. type: object x-deprecation: @@ -4334,7 +4331,6 @@ entities: - _key: limits additionalProperties: type: string - deprecated: true description: List of limits as key-value pairs if requested. type: object x-deprecation: @@ -4800,7 +4796,6 @@ entities: - _key: limits additionalProperties: type: string - deprecated: true description: List of limits as key-value pairs if requested. type: object x-deprecation: @@ -5688,7 +5683,6 @@ entities: additionalProperties: type: string api_fieldname: limits - deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object @@ -6186,7 +6180,6 @@ entities: - _key: limits additionalProperties: type: string - deprecated: true description: List of limits as key-value pairs if requested. type: object x-deprecation: @@ -7031,7 +7024,6 @@ entities: additionalProperties: type: string api_fieldname: limits - deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object @@ -7529,7 +7521,6 @@ entities: - _key: limits additionalProperties: type: string - deprecated: true description: List of limits as key-value pairs if requested. type: object x-deprecation: @@ -9144,7 +9135,6 @@ entities: additionalProperties: type: string api_fieldname: limits - deprecated: true description: List of limits as key-value pairs if requested. entity_fieldname: limits type: object @@ -9642,7 +9632,6 @@ entities: - _key: limits additionalProperties: type: string - deprecated: true description: List of limits as key-value pairs if requested. type: object x-deprecation: @@ -35270,6 +35259,145 @@ entities: readOnly: false required: true type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java + SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity provider's + API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign ID tokens. + PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity provider's + API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication request. + When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results in + the transmission of clear-text credentials, the client must use the POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in the + JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + readOnly: false + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -35398,12 +35526,10 @@ entities: api_fieldname: oidc_attributes description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes - external_param: true foreign_key: entity: oidc_request group: Accounts in: body - name: oidc_attributes parameter_fieldname: oidc_attributes properties: - _key: authorization_endpoint @@ -35523,7 +35649,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: + enum: &id006 - POST - GET type: string @@ -35537,7 +35663,6 @@ entities: type: string x-nullable: true required: false - schema_param: true type: object - _key: saml2_attributes api_fieldname: saml2_attributes @@ -35587,7 +35712,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id006 + enum: &id007 - ACTIVE - SUSPENDED enum_reference: identity_provider_status_enum @@ -35673,6 +35798,149 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -36097,6 +36365,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - account_id - is_default - identity_provider_type @@ -36189,6 +36458,149 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -36427,6 +36839,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - account_id - is_default - identity_provider_type @@ -36555,6 +36968,149 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -36971,6 +37527,147 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + description: Represents OIDC specific attributes. + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by + the Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access + to identity provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to + sign ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request + results in the transmission of clear-text credentials, the client + must use the POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels + in the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes description: Represents SAML2 specific attributes in responses. properties: @@ -37197,6 +37894,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - account_id - is_default - identity_provider_type @@ -37285,6 +37983,149 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -37523,6 +38364,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - account_id - is_default - identity_provider_type @@ -37615,6 +38457,149 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -37959,12 +38944,10 @@ entities: api_fieldname: oidc_attributes description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes - external_param: true foreign_key: entity: oidc_request group: Accounts in: body - name: oidc_attributes parameter_fieldname: oidc_attributes properties: - _key: authorization_endpoint @@ -38084,9 +39067,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: - - POST - - GET + enum: *id006 type: string - _key: token_response_path description: Path to the standard data in the token response. Levels in the @@ -38098,7 +39079,6 @@ entities: type: string x-nullable: true required: false - schema_param: true type: object - _key: saml2_attributes api_fieldname: saml2_attributes @@ -38148,7 +39128,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id006 + enum: *id007 enum_reference: identity_provider_status_enum in: body parameter_fieldname: status @@ -38225,6 +39205,149 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -38607,7 +39730,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id007 + enum: &id008 - error_color - primary - secondary @@ -39080,7 +40203,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id007 + enum: *id008 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -39363,7 +40486,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id007 + enum: *id008 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -39763,7 +40886,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id008 + enum: &id009 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -40277,7 +41400,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id008 + enum: *id009 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -40556,7 +41679,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id008 + enum: *id009 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -45094,7 +46217,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: &id009 + enum: &id010 - ACTIVE - INACTIVE enum_reference: subtenant_api_key_status_enum @@ -46452,7 +47575,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: *id009 + enum: *id010 enum_reference: subtenant_api_key_status_enum example: ACTIVE in: body @@ -46889,7 +48012,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id010 + enum: &id011 - error_color - primary - secondary @@ -47115,7 +48238,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id010 + enum: *id011 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -47408,7 +48531,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id010 + enum: *id011 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -47817,7 +48940,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id011 + enum: &id012 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -48062,7 +49185,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id011 + enum: *id012 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -48352,7 +49475,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id011 + enum: *id012 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -48714,6 +49837,147 @@ entities: readOnly: false required: true type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + foreign_key: + entity: oidc_request + group: Accounts + in: body + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the Java + SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity provider's + API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign ID tokens. + PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity provider's + API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication request. + When not configured otherwise, the default scopes are ['openid profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results in + the transmission of clear-text credentials, the client must use the POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in the + JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + readOnly: false + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -48839,12 +50103,10 @@ entities: api_fieldname: oidc_attributes description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes - external_param: true foreign_key: entity: oidc_request group: Accounts in: body - name: oidc_attributes parameter_fieldname: oidc_attributes properties: - _key: authorization_endpoint @@ -48964,7 +50226,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: + enum: &id013 - POST - GET type: string @@ -48978,7 +50240,6 @@ entities: type: string x-nullable: true required: false - schema_param: true type: object - _key: saml2_attributes api_fieldname: saml2_attributes @@ -49028,7 +50289,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id012 + enum: &id014 - ACTIVE - SUSPENDED enum_reference: subtenant_identity_provider_status_enum @@ -49123,6 +50384,150 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + in: body + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -49614,6 +51019,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - is_default field_renames: [] fields: @@ -49721,6 +51127,150 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + in: body + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -49970,6 +51520,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - is_default field_renames: [] fields: @@ -50113,6 +51664,150 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + in: body + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -50553,6 +52248,147 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + description: Represents OIDC specific attributes. + foreign_key: + entity: oidc_request + group: Accounts + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by + the Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access + to identity provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to + sign ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request + results in the transmission of clear-text credentials, the client + must use the POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels + in the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: + - issuer + type: object - _key: saml2_attributes description: Represents SAML2 specific attributes in responses. properties: @@ -50840,6 +52676,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - is_default field_renames: [] fields: @@ -50943,6 +52780,150 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + in: body + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -51192,6 +53173,7 @@ entities: - description - status - saml2_attributes + - oidc_attributes - is_default field_renames: [] fields: @@ -51299,6 +53281,150 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + in: body + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -51651,12 +53777,10 @@ entities: api_fieldname: oidc_attributes description: Represents OIDC specific attributes. entity_fieldname: oidc_attributes - external_param: true foreign_key: entity: oidc_request group: Accounts in: body - name: oidc_attributes parameter_fieldname: oidc_attributes properties: - _key: authorization_endpoint @@ -51776,9 +53900,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: - - POST - - GET + enum: *id013 type: string - _key: token_response_path description: Path to the standard data in the token response. Levels in the @@ -51790,7 +53912,6 @@ entities: type: string x-nullable: true required: false - schema_param: true type: object - _key: saml2_attributes api_fieldname: saml2_attributes @@ -51840,7 +53961,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id012 + enum: *id014 enum_reference: subtenant_identity_provider_status_enum in: body parameter_fieldname: status @@ -51926,6 +54047,150 @@ entities: enum: - identity-provider type: string + - _key: oidc_attributes + api_fieldname: oidc_attributes + description: Represents OIDC specific attributes. + entity_fieldname: oidc_attributes + foreign_key: + entity: oidc_request + group: Accounts + in: body + parameter_fieldname: oidc_attributes + properties: + - _key: authorization_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: auto_enrollment + description: For future use. + type: boolean + x-nullable: true + - _key: claim_mapping + description: Mapping for non-standard OIDC claim names. + foreign_key: + entity: oidc_request_claim_mapping + group: Accounts + properties: + - _key: email + description: Custom claim name for 'email'. + example: email_address + type: string + x-nullable: true + - _key: email_verified + description: Custom claim name for 'email_verified'. + type: string + x-nullable: true + - _key: family_name + description: Custom claim name for 'family_name'. + type: string + x-nullable: true + - _key: given_name + description: Custom claim name for 'given_name'. + type: string + x-nullable: true + - _key: name + description: Custom claim name for 'name'. + type: string + x-nullable: true + - _key: phone_number + description: Custom claim name for 'phone_number'. + type: string + x-nullable: true + - _key: sub + description: Custom claim name for 'sub'. + type: string + x-nullable: true + - _key: updated_at + description: Custom claim name for 'updated_at'. + type: string + x-nullable: true + - _key: updated_at_pattern + description: Custom pattern for claim 'updated_at' as defined by the + Java SimpleDateFormat class. + example: yyyy-MM-dd'T'HH:mm:ssXXX + type: string + x-nullable: true + type: object + x-nullable: true + - _key: client_id + description: Client ID needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: client_secret + description: Client secret needed to authenticate and gain access to identity + provider's API. + type: string + x-nullable: true + - _key: end_session_endpoint + description: URL of the provider's end session endpoint. + type: string + x-nullable: true + - _key: issuer + description: Issuer of the identity provider. + type: string + - _key: jwks_uri + description: URL of the provider's JSON web key set document. + type: string + x-nullable: true + - _key: keys + description: Provider's public keys and key IDs used to sign ID tokens. + PEM-encoded. + items: + description: Represents provider's public key and key ID used to sign + ID tokens. PEM-encoded. + foreign_key: + entity: identity_provider_public_key + group: Accounts + properties: + - _key: key + description: The public key. + type: string + - _key: kid + description: The public key ID. + type: string + type: object + type: array + x-nullable: true + - _key: redirect_uri + description: The URI needed to authenticate and gain access to identity + provider's API. Leave this empty to use the default redirect URI. + type: string + x-nullable: true + - _key: revocation_endpoint + description: URL of the provider's token revocation endpoint. + type: string + x-nullable: true + - _key: scopes + description: Space-separated list of scopes sent in the authentication + request. When not configured otherwise, the default scopes are ['openid + profile email'](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims). + example: openid email + type: string + - _key: token_endpoint + description: URL of the OAuth 2.0 authorization endpoint. + type: string + x-nullable: true + - _key: token_request_mode + default: POST + description: One way to obtain the access token. Since the request results + in the transmission of clear-text credentials, the client must use the + POST mode. + enum: + - POST + - GET + type: string + - _key: token_response_path + description: Path to the standard data in the token response. Levels in + the JSON structure must be separated by '.' (dot) characters. + example: oidc.data + type: string + - _key: userinfo_endpoint + description: URL of the OAuth 2.0 UserInfo endpoint. + type: string + x-nullable: true + required: false + type: object - _key: saml2_attributes api_fieldname: saml2_attributes description: Represents SAML2 specific attributes in responses. @@ -52308,7 +54573,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id013 + enum: &id015 - error_color - primary - secondary @@ -52533,7 +54798,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id013 + enum: *id015 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -52826,7 +55091,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id013 + enum: *id015 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -53233,7 +55498,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id014 + enum: &id016 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -53478,7 +55743,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id014 + enum: *id016 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -53766,7 +56031,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id014 + enum: *id016 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -57151,7 +59416,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id015 + enum: &id017 - lwm2m - bootstrap enum_reference: subtenant_trusted_certificate_service_enum @@ -57163,7 +59428,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id016 + enum: &id018 - ACTIVE - INACTIVE enum_reference: subtenant_trusted_certificate_status_enum @@ -58764,7 +61029,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id015 + enum: *id017 enum_reference: subtenant_trusted_certificate_service_enum in: body parameter_fieldname: service @@ -58774,7 +61039,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id016 + enum: *id018 enum_reference: subtenant_trusted_certificate_status_enum example: ACTIVE in: body @@ -59712,14 +61977,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: &id017 + enum: &id019 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id018 + required: &id020 - id type: object parameter_fieldname: login_profiles @@ -61835,10 +64100,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: *id017 + enum: *id019 readOnly: true type: string - required: *id018 + required: *id020 type: object parameter_fieldname: login_profiles required: false @@ -64095,7 +66360,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id019 + enum: &id021 - lwm2m - bootstrap enum_reference: trusted_certificate_service_enum @@ -64107,7 +66372,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id020 + enum: &id022 - ACTIVE - INACTIVE enum_reference: trusted_certificate_status_enum @@ -66057,7 +68322,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id019 + enum: *id021 enum_reference: trusted_certificate_service_enum in: body parameter_fieldname: service @@ -66067,7 +68332,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id020 + enum: *id022 enum_reference: trusted_certificate_status_enum example: ACTIVE in: body @@ -69329,14 +71594,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: &id021 + enum: &id023 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id022 + required: &id024 - id type: object parameter_fieldname: login_profiles @@ -71835,10 +74100,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: *id021 + enum: *id023 readOnly: true type: string - required: *id022 + required: *id024 type: object parameter_fieldname: login_profiles required: false From 8f62f043cc07ef2755b36c2d83eaee037e072188 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 11 Feb 2020 10:26:40 +0000 Subject: [PATCH 046/111] new SDK config changes via api-contract @ 2020-02-11 10:26 --- .../public/pelion_dm_public_openapi.yaml | 105 +----------------- .../public/sdk_foundation_definition.json | 44 ++++---- .../public/sdk_foundation_definition.yaml | 44 ++++---- 3 files changed, 48 insertions(+), 145 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index e9cc600a6..b600c2549 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -293,10 +293,10 @@ definitions: limits: additionalProperties: type: string - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -4622,6 +4622,7 @@ definitions: description: Identity provider type. enum: - SAML2 + - OIDC type: string required: - name @@ -4769,6 +4770,7 @@ definitions: description: Identity provider type. enum: - SAML2 + - OIDC type: string required: - name @@ -28492,105 +28494,6 @@ paths: tags: - Account - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/users/me: - get: - description: Retrieve the details of the logged-in user. - operationId: getMyUser - parameters: - - description: Request to regenerate new emergency scratch codes. - in: query - name: scratch_codes - required: false - type: string - - description: Request to return account-specific user property values according - to the given property name. - in: query - name: properties - required: false - type: string - - description: 'Comma-separated additional data to return. Currently supported: - active_sessions.' - in: query - name: include - required: false - type: string - produces: - - application/json - responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/UserInfoResp' - '401': - description: Authentication failure. - schema: - $ref: '#/definitions/ErrorResponse' - '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Details of the current user. - tags: - - Account - users - x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: - consumes: - - application/json - description: 'Update user details. - - - **Example:** - - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/users/me \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{"full_name": "fullname"}'' - - ```' - operationId: updateMyUser - parameters: - - description: A user object with attributes. - in: body - name: body - required: true - schema: - $ref: '#/definitions/UserUpdateReq' - produces: - - application/json - responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/UserInfoResp' - '400': - description: Error in input data, for example, an invalid email address. - schema: - $ref: '#/definitions/ErrorResponse' - '401': - description: Authentication failure. - schema: - $ref: '#/definitions/ErrorResponse' - '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - '404': - description: A user with the given ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: A user with the given username or email already exists. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Update user details. - tags: - - Account - users - x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/users/{user_id}: delete: description: 'Delete a user. diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 694da6aa1..692b128a1 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -2336,9 +2336,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -2987,9 +2987,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -5842,9 +5842,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -6461,9 +6461,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -7550,9 +7550,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -8201,9 +8201,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -9271,9 +9271,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -9922,9 +9922,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -12011,9 +12011,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -12662,9 +12662,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, @@ -15237,9 +15237,9 @@ "x-deprecation": { "issued_at": "2019-08-27T12:03:58+00:00", "end_of_life_at": "2020-08-27T12:03:58+00:00", - "comment": "Superseded by the limitations parameter." + "comment": "Replaced by the limitations parameter." }, - "description": "List of limits as key-value pairs if requested.", + "description": "DEPRECATED: Replaced by the limitations parameter.", "additionalProperties": { "type": "string" }, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 1c7901676..7348fe4b9 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -340,12 +340,12 @@ entities: additionalProperties: type: string api_fieldname: limits - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' readOnly: true required: false type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -1681,11 +1681,11 @@ entities: additionalProperties: type: string api_fieldname: limits - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' entity_fieldname: limits type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -2178,10 +2178,10 @@ entities: - _key: limits additionalProperties: type: string - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -4331,10 +4331,10 @@ entities: - _key: limits additionalProperties: type: string - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -4796,10 +4796,10 @@ entities: - _key: limits additionalProperties: type: string - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -5683,11 +5683,11 @@ entities: additionalProperties: type: string api_fieldname: limits - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' entity_fieldname: limits type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -6180,10 +6180,10 @@ entities: - _key: limits additionalProperties: type: string - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -7024,11 +7024,11 @@ entities: additionalProperties: type: string api_fieldname: limits - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' entity_fieldname: limits type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -7521,10 +7521,10 @@ entities: - _key: limits additionalProperties: type: string - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -9135,11 +9135,11 @@ entities: additionalProperties: type: string api_fieldname: limits - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' entity_fieldname: limits type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true @@ -9632,10 +9632,10 @@ entities: - _key: limits additionalProperties: type: string - description: List of limits as key-value pairs if requested. + description: 'DEPRECATED: Replaced by the limitations parameter.' type: object x-deprecation: - comment: Superseded by the limitations parameter. + comment: Replaced by the limitations parameter. end_of_life_at: '2020-08-27T12:03:58+00:00' issued_at: '2019-08-27T12:03:58+00:00' x-nullable: true From a1ab32dacba914ed3a24dcd2d9a9099b0a8e25b7 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 20 Feb 2020 13:34:13 +0000 Subject: [PATCH 047/111] new SDK config changes via api-contract @ 2020-02-20 13:34 --- .../public/pelion_dm_public_openapi.yaml | 81 +++--- .../public/sdk_foundation_definition.json | 231 ++++++++++++++---- .../public/sdk_foundation_definition.yaml | 201 +++++++++++---- 3 files changed, 398 insertions(+), 115 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index b600c2549..603322edd 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -39,7 +39,8 @@ definitions: type: string x-nullable: true aliases: - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases must + be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -56,7 +57,8 @@ definitions: type: string x-nullable: true company: - description: The name of the company. Required for commercial accounts only. + description: The name of the company used in billing. Required for commercial + accounts only. example: ARM Holdings Plc maxLength: 100 type: string @@ -88,7 +90,7 @@ definitions: type: string x-nullable: true display_name: - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -182,7 +184,8 @@ definitions: type: string x-nullable: true aliases: - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases must + be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -202,7 +205,7 @@ definitions: type: string x-nullable: true company: - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 type: string @@ -241,7 +244,7 @@ definitions: type: string x-nullable: true display_name: - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -612,7 +615,8 @@ definitions: type: string x-nullable: true aliases: - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases must + be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -627,7 +631,8 @@ definitions: type: string x-nullable: true company: - description: The name of the company. Required for commercial accounts only. + description: The name of the company used in billing. Required for commercial + accounts only. example: ARM Holdings Plc maxLength: 100 type: string @@ -654,7 +659,7 @@ definitions: type: object x-nullable: true display_name: - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -746,7 +751,8 @@ definitions: type: string x-nullable: true aliases: - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases must + be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -763,7 +769,8 @@ definitions: type: string x-nullable: true company: - description: The name of the company. Required for commercial accounts only. + description: The name of the company used in billing. Required for commercial + accounts only. example: ARM Holdings Plc maxLength: 100 type: string @@ -798,7 +805,7 @@ definitions: type: string x-nullable: true display_name: - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -5658,7 +5665,7 @@ definitions: type: boolean rt: description: Application-specific resource type that describes this resource. - It is created by the [client side application](../connecting/resource-setup-in-device-management-client.html). + It is created by the [client side application](../device-management/resource-setup-in-device-management-client.html). Not meant to be a human-readable name for the resource. Multiple resource types may be included, separated by a space. example: light_sensor @@ -7671,6 +7678,7 @@ definitions: queue_size: default: 0 description: Number of events in the channel's event queue waiting to be delivered. + If the server cannot determine the queue size the value will be set to `-1`. example: 0 type: integer serialization: @@ -7681,8 +7689,9 @@ definitions: status: default: disconnected description: Channel status is 'connected' when the channel has an active - WebSocket bound to it. The state is 'disconnected' when either the channel - or the WebSocket bound to it is closed. + WebSocket bound to it. The status is 'disconnected' when either the channel + or the WebSocket bound to it is closed and 'unknown' when the server cannot + determine it. enum: - connected - disconnected @@ -8293,7 +8302,7 @@ paths: delivered, the status code generated by the server is *429* or *5xx*. - You can write [Notification Rules](../connecting/resource-change-webapp.html#notification-rules) + You can write [Notification Rules](../device-management/resource-change-webapp.html#notification-rules) for a resource with PUT command. Please see example of the payload below. @@ -8460,8 +8469,12 @@ paths: ```' operationId: listPreSharedKeys parameters: - - description: The number of entries per page. + - default: 50 + description: The number of objects to retrieve on a page (2-1000). Values + outside the range are set to the closest limit. in: query + maximum: 1000 + minimum: 2 name: limit required: false type: integer @@ -8782,8 +8795,8 @@ paths: type: string - description: 'If true, the response comes only from the cache. Default: false. Device Management Connect caches the received resource values for the time - of [max_age](../connecting/working-with-the-resources.html) defined in the - client side.' + of [max_age](../device-management/working-with-the-resources.html) defined + in the client side.' in: query name: cacheOnly required: false @@ -8851,7 +8864,7 @@ paths: - application/vnd.oma.lwm2m+tlv - application/vnd.oma.lwm2m+json deprecated: true - description: '(DEPRECATED) [Execute a function](../connecting/handle-resource-webapp.html#the-execute-operation) + description: '(DEPRECATED) [Execute a function](../device-management/handle-resource-webapp.html#the-execute-operation) on an existing resource and create a new Object instance on the device. The resource path does not have to exist; you can set it with the call. The maximum length of the resource path is 255 characters. @@ -8961,8 +8974,8 @@ paths: - application/vnd.oma.lwm2m+json deprecated: true description: '(DEPRECATED) With this API, you can [write a new value to existing - Resources](../connecting/handle-resource-webapp.html) or use the **write** - attribute to set [notification rules](../connecting/resource-change-webapp.html#notification-rules) + Resources](../device-management/handle-resource-webapp.html) or use the **write** + attribute to set [notification rules](../device-management/resource-change-webapp.html) for the Resources. The notification rules only work on the device client side and may not be supported by all clients. @@ -9253,7 +9266,7 @@ paths: x-deprecation: comment: Long polling is deprecated and should be used for development purposes only. - end_of_life_at: '2020-03-31T00:00:00+00:00' + end_of_life_at: '2020-06-30T00:00:00+00:00' issued_at: '2017-02-10T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html @@ -9327,7 +9340,7 @@ paths: x-deprecation: comment: Long polling is deprecated and should be used for development purposes only. - end_of_life_at: '2020-03-31T00:00:00+00:00' + end_of_life_at: '2020-06-30T00:00:00+00:00' issued_at: '2017-02-10T15:23:00+00:00' links: - https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html @@ -9601,7 +9614,7 @@ paths: \ update. To remove the pre-subscription data, put an empty array as a rule.\n\ \n**Notification rules**\n\nA web application can place dynamic observation\ \ rules for individual Object Instances and Resources to define when the device\ - \ sends observations. More information in [Notification rules](../connecting/resource-change-webapp.html).\n\ + \ sends observations. More information in [Notification rules](../device-management/resource-change-webapp.html#notification-rules).\n\ \n**Limits**:\n\n- The maximum length of the endpoint name and endpoint type\ \ is 64 characters.\n- The maximum length of the resource path is 128 characters.\n\ - You can listen to 256 separate resource paths.\n- The maximum number of\ @@ -9792,7 +9805,7 @@ paths: A web application can place dynamic observation rules for individual Object Instances and Resources to define when the device sends observations. More - information in [Notification rules](../connecting/resource-change-webapp.html). + information in [Notification rules](../device-management/resource-change-webapp.html#notification-rules). All manual subscriptions are removed during a full device registration, at @@ -9985,10 +9998,10 @@ paths: -H ''content-type: application/json'' \ - -d ''{"display_name": "MyAccount1", "admin_name": "accountAdmin1", "email": - "example_admin@myaccount.info", "country": "United Kingdom", "end_market": - "Smart City", "address_line1": "110 Fulbourn Rd", "city": "Cambridge", "contact": - "J. Doe", "company": "Arm"}'' + -d ''{"display_name": "MyAccount1", "aliases": [ "my-account" ], "admin_name": + "accountAdmin1", "email": "example_admin@myaccount.info", "country": "United + Kingdom", "end_market": "Smart City", "address_line1": "110 Fulbourn Rd", + "city": "Cambridge", "contact": "J. Doe", "company": "Arm"}'' ```' operationId: createAccount @@ -10035,6 +10048,10 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' + '409': + description: Account with the specified alias exists already. + schema: + $ref: '#/definitions/ErrorResponse' summary: Create a new account. tags: - Tenant accounts - accounts @@ -10332,6 +10349,10 @@ paths: description: Account with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' + '409': + description: Account with the specified new alias exists already. + schema: + $ref: '#/definitions/ErrorResponse' summary: Update attributes of an existing account. tags: - Tenant accounts - accounts diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 692b128a1..a0c31e9b4 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -1637,7 +1637,7 @@ "_key": "api_keys" }, { - "description": "Create a new account.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"display_name\": \"MyAccount1\", \"admin_name\": \"accountAdmin1\", \"email\": \"example_admin@myaccount.info\", \"country\": \"United Kingdom\", \"end_market\": \"Smart City\", \"address_line1\": \"110 Fulbourn Rd\", \"city\": \"Cambridge\", \"contact\": \"J. Doe\", \"company\": \"Arm\"}'\n```", + "description": "Create a new account.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"display_name\": \"MyAccount1\", \"aliases\": [ \"my-account\" ], \"admin_name\": \"accountAdmin1\", \"email\": \"example_admin@myaccount.info\", \"country\": \"United Kingdom\", \"end_market\": \"Smart City\", \"address_line1\": \"110 Fulbourn Rd\", \"city\": \"Cambridge\", \"contact\": \"J. Doe\", \"company\": \"Arm\"}'\n```", "field_renames": [], "fields": [ { @@ -1733,7 +1733,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -1780,7 +1780,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "api_fieldname": "company", "entity_fieldname": "company", "parameter_fieldname": "company", @@ -1843,7 +1843,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "api_fieldname": "display_name", "entity_fieldname": "display_name", "parameter_fieldname": "display_name", @@ -2013,7 +2013,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -2080,7 +2080,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "api_fieldname": "company", "entity_fieldname": "company", "_key": "company" @@ -2148,7 +2148,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "api_fieldname": "display_name", "entity_fieldname": "display_name", "_key": "display_name" @@ -2704,7 +2704,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -2763,7 +2763,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "_key": "company" }, { @@ -2817,7 +2817,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "_key": "display_name" }, { @@ -3591,6 +3591,79 @@ ] }, "_key": "403" + }, + { + "description": "Account with the specified alias exists already.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "409" } ], "path": "/v3/accounts", @@ -5559,7 +5632,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -5618,7 +5691,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "_key": "company" }, { @@ -5672,7 +5745,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "_key": "display_name" }, { @@ -6178,7 +6251,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -6237,7 +6310,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "_key": "company" }, { @@ -6291,7 +6364,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "_key": "display_name" }, { @@ -7227,7 +7300,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -7294,7 +7367,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "api_fieldname": "company", "entity_fieldname": "company", "_key": "company" @@ -7362,7 +7435,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "api_fieldname": "display_name", "entity_fieldname": "display_name", "_key": "display_name" @@ -7918,7 +7991,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -7977,7 +8050,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "_key": "company" }, { @@ -8031,7 +8104,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "_key": "display_name" }, { @@ -8948,7 +9021,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -9015,7 +9088,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "api_fieldname": "company", "entity_fieldname": "company", "_key": "company" @@ -9083,7 +9156,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "api_fieldname": "display_name", "entity_fieldname": "display_name", "_key": "display_name" @@ -9639,7 +9712,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -9698,7 +9771,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "_key": "company" }, { @@ -9752,7 +9825,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "_key": "display_name" }, { @@ -11270,7 +11343,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -11317,7 +11390,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "api_fieldname": "company", "entity_fieldname": "company", "parameter_fieldname": "company", @@ -11394,7 +11467,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "api_fieldname": "display_name", "entity_fieldname": "display_name", "parameter_fieldname": "display_name", @@ -11688,7 +11761,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -11755,7 +11828,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "api_fieldname": "company", "entity_fieldname": "company", "_key": "company" @@ -11823,7 +11896,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "api_fieldname": "display_name", "entity_fieldname": "display_name", "_key": "display_name" @@ -12379,7 +12452,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -12438,7 +12511,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "_key": "company" }, { @@ -12492,7 +12565,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "_key": "display_name" }, { @@ -13339,6 +13412,79 @@ ] }, "_key": "404" + }, + { + "description": "Account with the specified new alias exists already.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "409" } ], "path": "/v3/accounts/{account_id}", @@ -14902,7 +15048,7 @@ { "type": "array", "maxItems": 10, - "description": "An array of aliases.", + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", "items": { "type": "string", "pattern": "[\\w\\-._]{8,100}" @@ -14974,7 +15120,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM Holdings Plc", - "description": "The name of the company.", + "description": "The name of the company used in billing.", "api_fieldname": "company", "readOnly": false, "required": false, @@ -15049,7 +15195,7 @@ "maxLength": 100, "x-nullable": true, "example": "ARM", - "description": "The display name for the account.", + "description": "The display name for the tenant account.", "api_fieldname": "display_name", "readOnly": false, "required": false, @@ -59436,13 +59582,16 @@ }, { "type": "integer", - "description": "The number of entries per page.", + "description": "The number of objects to retrieve on a page (2-1000). Values outside the range are set to the closest limit.", "example": 50, "api_fieldname": "limit", "entity_fieldname": "limit", "name": "limit", "in": "query", "required": false, + "default": 50, + "minimum": 2, + "maximum": 1000, "external_param": true, "parameter_fieldname": "limit", "_key": "limit" diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 7348fe4b9..2a509696e 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -80,7 +80,8 @@ entities: x-nullable: true - _key: aliases api_fieldname: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases must be + globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -134,7 +135,7 @@ entities: x-nullable: true - _key: company api_fieldname: company - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 readOnly: false @@ -194,7 +195,7 @@ entities: x-nullable: true - _key: display_name api_fieldname: display_name - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 readOnly: false @@ -1061,10 +1062,10 @@ entities: -H ''content-type: application/json'' \ - -d ''{"display_name": "MyAccount1", "admin_name": "accountAdmin1", "email": - "example_admin@myaccount.info", "country": "United Kingdom", "end_market": "Smart - City", "address_line1": "110 Fulbourn Rd", "city": "Cambridge", "contact": "J. - Doe", "company": "Arm"}'' + -d ''{"display_name": "MyAccount1", "aliases": [ "my-account" ], "admin_name": + "accountAdmin1", "email": "example_admin@myaccount.info", "country": "United + Kingdom", "end_market": "Smart City", "address_line1": "110 Fulbourn Rd", "city": + "Cambridge", "contact": "J. Doe", "company": "Arm"}'' ```' drop_fields: @@ -1195,7 +1196,8 @@ entities: x-nullable: true - _key: aliases api_fieldname: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases must + be globally unique. entity_fieldname: aliases in: body items: @@ -1232,7 +1234,7 @@ entities: x-nullable: true - _key: company api_fieldname: company - description: The name of the company. + description: The name of the company used in billing. entity_fieldname: company example: ARM Holdings Plc in: body @@ -1285,7 +1287,7 @@ entities: x-nullable: true - _key: display_name api_fieldname: display_name - description: The display name for the account. + description: The display name for the tenant account. entity_fieldname: display_name example: ARM in: body @@ -1434,7 +1436,8 @@ entities: x-nullable: true - _key: aliases api_fieldname: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. entity_fieldname: aliases items: pattern: '[\w\-._]{8,100}' @@ -1484,7 +1487,7 @@ entities: x-nullable: true - _key: company api_fieldname: company - description: The name of the company. + description: The name of the company used in billing. entity_fieldname: company example: ARM Holdings Plc maxLength: 100 @@ -1537,7 +1540,7 @@ entities: x-nullable: true - _key: display_name api_fieldname: display_name - description: The display name for the account. + description: The display name for the tenant account. entity_fieldname: display_name example: ARM maxLength: 100 @@ -1970,7 +1973,8 @@ entities: type: string x-nullable: true - _key: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -2012,7 +2016,7 @@ entities: type: string x-nullable: true - _key: company - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 type: string @@ -2051,7 +2055,7 @@ entities: type: string x-nullable: true - _key: display_name - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -2629,6 +2633,54 @@ entities: - request_id - type type: object + - _key: '409' + description: Account with the specified alias exists already. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -4123,7 +4175,8 @@ entities: type: string x-nullable: true - _key: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -4165,7 +4218,7 @@ entities: type: string x-nullable: true - _key: company - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 type: string @@ -4204,7 +4257,7 @@ entities: type: string x-nullable: true - _key: display_name - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -4588,7 +4641,8 @@ entities: type: string x-nullable: true - _key: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The + aliases must be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -4630,7 +4684,7 @@ entities: type: string x-nullable: true - _key: company - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 type: string @@ -4669,7 +4723,7 @@ entities: type: string x-nullable: true - _key: display_name - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -5436,7 +5490,8 @@ entities: x-nullable: true - _key: aliases api_fieldname: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. entity_fieldname: aliases items: pattern: '[\w\-._]{8,100}' @@ -5486,7 +5541,7 @@ entities: x-nullable: true - _key: company api_fieldname: company - description: The name of the company. + description: The name of the company used in billing. entity_fieldname: company example: ARM Holdings Plc maxLength: 100 @@ -5539,7 +5594,7 @@ entities: x-nullable: true - _key: display_name api_fieldname: display_name - description: The display name for the account. + description: The display name for the tenant account. entity_fieldname: display_name example: ARM maxLength: 100 @@ -5972,7 +6027,8 @@ entities: type: string x-nullable: true - _key: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -6014,7 +6070,7 @@ entities: type: string x-nullable: true - _key: company - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 type: string @@ -6053,7 +6109,7 @@ entities: type: string x-nullable: true - _key: display_name - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -6777,7 +6833,8 @@ entities: x-nullable: true - _key: aliases api_fieldname: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. entity_fieldname: aliases items: pattern: '[\w\-._]{8,100}' @@ -6827,7 +6884,7 @@ entities: x-nullable: true - _key: company api_fieldname: company - description: The name of the company. + description: The name of the company used in billing. entity_fieldname: company example: ARM Holdings Plc maxLength: 100 @@ -6880,7 +6937,7 @@ entities: x-nullable: true - _key: display_name api_fieldname: display_name - description: The display name for the account. + description: The display name for the tenant account. entity_fieldname: display_name example: ARM maxLength: 100 @@ -7313,7 +7370,8 @@ entities: type: string x-nullable: true - _key: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -7355,7 +7413,7 @@ entities: type: string x-nullable: true - _key: company - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 type: string @@ -7394,7 +7452,7 @@ entities: type: string x-nullable: true - _key: display_name - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -8536,7 +8594,8 @@ entities: x-nullable: true - _key: aliases api_fieldname: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases must + be globally unique. entity_fieldname: aliases in: body items: @@ -8571,7 +8630,7 @@ entities: x-nullable: true - _key: company api_fieldname: company - description: The name of the company. + description: The name of the company used in billing. entity_fieldname: company example: ARM Holdings Plc in: body @@ -8635,7 +8694,7 @@ entities: x-nullable: true - _key: display_name api_fieldname: display_name - description: The display name for the account. + description: The display name for the tenant account. entity_fieldname: display_name example: ARM in: body @@ -8888,7 +8947,8 @@ entities: x-nullable: true - _key: aliases api_fieldname: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. entity_fieldname: aliases items: pattern: '[\w\-._]{8,100}' @@ -8938,7 +8998,7 @@ entities: x-nullable: true - _key: company api_fieldname: company - description: The name of the company. + description: The name of the company used in billing. entity_fieldname: company example: ARM Holdings Plc maxLength: 100 @@ -8991,7 +9051,7 @@ entities: x-nullable: true - _key: display_name api_fieldname: display_name - description: The display name for the account. + description: The display name for the tenant account. entity_fieldname: display_name example: ARM maxLength: 100 @@ -9424,7 +9484,8 @@ entities: type: string x-nullable: true - _key: aliases - description: An array of aliases. + description: An array of aliases for the tenant account ID. The aliases + must be globally unique. items: pattern: '[\w\-._]{8,100}' type: string @@ -9466,7 +9527,7 @@ entities: type: string x-nullable: true - _key: company - description: The name of the company. + description: The name of the company used in billing. example: ARM Holdings Plc maxLength: 100 type: string @@ -9505,7 +9566,7 @@ entities: type: string x-nullable: true - _key: display_name - description: The display name for the account. + description: The display name for the tenant account. example: ARM maxLength: 100 type: string @@ -10131,6 +10192,54 @@ entities: - request_id - type type: object + - _key: '409' + description: Account with the specified new alias exists already. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -45318,11 +45427,15 @@ entities: type: string - _key: limit api_fieldname: limit - description: The number of entries per page. + default: 50 + description: The number of objects to retrieve on a page (2-1000). Values outside + the range are set to the closest limit. entity_fieldname: limit example: 50 external_param: true in: query + maximum: 1000 + minimum: 2 name: limit parameter_fieldname: limit required: false From 7699deea04bbb21db57094dfc518af177080561d Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 21 Feb 2020 10:44:03 +0000 Subject: [PATCH 048/111] new SDK config changes via api-contract @ 2020-02-21 10:44 --- api_specifications/public/pelion_dm_public_openapi.yaml | 6 +++--- api_specifications/public/sdk_foundation_definition.json | 2 +- api_specifications/public/sdk_foundation_definition.yaml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 603322edd..f99dba33f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -2391,13 +2391,13 @@ definitions: properties: description: description: Description for the developer certificate. Maximum 500 characters. - Please see [TrustedCertificateReq](../current/api-references/account-management-api.html#trustedcertificatereq). + Please see [TrustedCertificateReq](../service-api-references/account-management.html#trustedcertificatereq). maxLength: 500 type: string x-nullable: true name: description: Name of the developer certificate. Must be unique. Maximum 100 - characters. Please see [TrustedCertificateReq](../current/api-references/account-management-api.html#trustedcertificatereq). + characters. Please see [TrustedCertificateReq](../service-api-references/account-management.html#trustedcertificatereq). maxLength: 100 type: string required: @@ -18995,7 +18995,7 @@ paths: **Note:** The number of developer certificates allowed per account is limited. - Please see [Using your own certificate authority](../provisioning-process/using-CA.html). + Please see [Setting up a Certificate Authority](../provisioning-process/integrating-with-a-third-party-ca.html#setting-up-a-ca). **Example:** diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index a0c31e9b4..9ef88279c 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -29821,7 +29821,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a developer certificate (a certificate that can be flashed to multiple devices to connect to the bootstrap server).\n\n**Note:** The number of developer certificates allowed per account is limited. Please see [Using your own certificate authority](../provisioning-process/using-CA.html).\n\n**Example:**\n```\ncurl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n-d { \"name\": \"\", \"description\": \"\" }\n```", + "description": "Create a developer certificate (a certificate that can be flashed to multiple devices to connect to the bootstrap server).\n\n**Note:** The number of developer certificates allowed per account is limited. Please see [Setting up a Certificate Authority](../provisioning-process/integrating-with-a-third-party-ca.html#setting-up-a-ca).\n\n**Example:**\n```\ncurl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n-d { \"name\": \"\", \"description\": \"\" }\n```", "field_renames": [ { "api_fieldname": "developer_certificate", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 2a509696e..72ad5c3cb 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -21900,7 +21900,7 @@ entities: **Note:** The number of developer certificates allowed per account is limited. - Please see [Using your own certificate authority](../provisioning-process/using-CA.html). + Please see [Setting up a Certificate Authority](../provisioning-process/integrating-with-a-third-party-ca.html#setting-up-a-ca). **Example:** From 85559a88b63362bc34aa4a0f08d022c4e92773ca Mon Sep 17 00:00:00 2001 From: monty bot Date: Sun, 23 Feb 2020 07:10:39 +0000 Subject: [PATCH 049/111] new SDK config changes via api-contract @ 2020-02-23 07:10 --- api_specifications/public/pelion_dm_public_openapi.yaml | 3 ++- api_specifications/public/sdk_foundation_definition.json | 3 ++- api_specifications/public/sdk_foundation_definition.yaml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index f99dba33f..76abf8e6f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -23505,8 +23505,9 @@ paths: operationId: Firmware_Image_create parameters: - description: The firmware image file to upload. File name must not exceed - 100 characters. + 166 characters. in: formData + maxLength: 166 name: datafile required: true type: file diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 9ef88279c..8ff1966a8 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -43797,11 +43797,12 @@ "_key": "description" }, { - "description": "The firmware image file to upload. File name must not exceed 100 characters.", + "description": "The firmware image file to upload. File name must not exceed 166 characters.", "in": "stream", "name": "datafile", "required": true, "type": "file", + "maxLength": 166, "entity_fieldname": "firmware_image_file", "api_fieldname": "datafile", "external_param": true, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 72ad5c3cb..54d804064 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33584,11 +33584,12 @@ entities: type: string - _key: firmware_image_file api_fieldname: datafile - description: The firmware image file to upload. File name must not exceed 100 + description: The firmware image file to upload. File name must not exceed 166 characters. entity_fieldname: firmware_image_file external_param: true in: stream + maxLength: 166 name: datafile parameter_fieldname: datafile required: true From ffd18e9b381750b49d28cd118233ce577097a2f9 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 2 Mar 2020 06:27:01 +0000 Subject: [PATCH 050/111] new SDK config changes via api-contract @ 2020-03-02 06:27 --- api_specifications/public/pelion_dm_public_openapi.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 76abf8e6f..408b9cce5 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -2864,7 +2864,8 @@ definitions: description: 'DEPRECATED: Mark this device for automatic firmware update.' type: boolean ca_id: - description: The certificate issuer's ID. + description: 'The certificate issuer''s ID. WARNING: This value comes from + the device, and should not be changed via the API.' example: '00000000000000000000000000000000' maxLength: 500 type: string @@ -2886,12 +2887,14 @@ definitions: maxLength: 2000 type: string device_key: - description: The fingerprint of the device certificate. + description: 'The fingerprint of the device certificate. WARNING: This value + comes from the device, and should not be changed via the API.' example: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 maxLength: 512 type: string endpoint_name: - description: The endpoint name given to the device. + description: 'The endpoint name given to the device. WARNING: This value comes + from the device, and should not be changed via the API.' example: 00000000-0000-0000-0000-000000000000 maxLength: 64 readOnly: true From 745fc583d922fced06d413f1124a82946c9ab50b Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 2 Mar 2020 06:28:34 +0000 Subject: [PATCH 051/111] new SDK config changes via api-contract @ 2020-03-02 06:28 --- .../public/pelion_dm_public_openapi.yaml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 408b9cce5..57dcfc6a7 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -2921,8 +2921,8 @@ definitions: auto_update: type: boolean bootstrap_expiration_date: - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22' + format: date type: string bootstrapped_timestamp: example: '2017-05-22T12:37:55.576563Z' @@ -2931,8 +2931,8 @@ definitions: ca_id: type: string connector_expiration_date: - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22' + format: date type: string created_at: example: '2017-05-22T12:37:55.576563Z' @@ -3216,16 +3216,16 @@ definitions: DeviceGteLteFilter: properties: bootstrap_expiration_date: - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22' + format: date type: string bootstrapped_timestamp: example: '2017-05-22T12:37:55.576563Z' format: date-time type: string connector_expiration_date: - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22' + format: date type: string created_at: example: '2017-05-22T12:37:55.576563Z' @@ -3255,8 +3255,8 @@ definitions: auto_update: type: boolean bootstrap_expiration_date: - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22' + format: date type: string bootstrapped_timestamp: example: '2017-05-22T12:37:55.576563Z' @@ -3265,8 +3265,8 @@ definitions: ca_id: type: string connector_expiration_date: - example: '2017-05-22T12:37:55.576563Z' - format: date-time + example: '2017-05-22' + format: date type: string created_at: example: '2017-05-22T12:37:55.576563Z' From de2f0cb3ef0012133ca1c8dde4f589b2861264e1 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 3 Mar 2020 14:19:50 +0000 Subject: [PATCH 052/111] new SDK config changes via api-contract @ 2020-03-03 14:19 --- .../public/pelion_dm_public_openapi.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 57dcfc6a7..9d1d0c2d0 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -21904,7 +21904,7 @@ paths: description: Unable to find page. summary: List device queries. tags: - - Device directory - filter queries + - Device directory - device queries x-filter: created_at: - in @@ -21953,7 +21953,7 @@ paths: description: Not authenticated. summary: Create a device query. tags: - - Device directory - filter queries + - Device directory - device queries x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/device-queries/{query_id}/: delete: @@ -21976,7 +21976,7 @@ paths: description: Unable to delete update device query because it can't be found. summary: Delete a device query. tags: - - Device directory - filter queries + - Device directory - device queries x-origin: /home/circleci/project/device-directory/public/swagger.yml get: description: Retrieve a specific device query. @@ -22000,7 +22000,7 @@ paths: description: Unable to find device query. summary: Retrieve a device query. tags: - - Device directory - filter queries + - Device directory - device queries x-origin: /home/circleci/project/device-directory/public/swagger.yml put: description: Update a specifc device query. @@ -22030,7 +22030,7 @@ paths: description: Unable to update device query because it can't be found. summary: Update a device query. tags: - - Device directory - filter queries + - Device directory - device queries x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/devicelog/: get: From 9db9c97f30bcaac70d68288fc91e848435d4fde1 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 3 Mar 2020 17:40:21 +0000 Subject: [PATCH 053/111] new SDK config changes via api-contract @ 2020-03-03 17:40 --- api_specifications/public/pelion_dm_public_openapi.yaml | 8 ++++---- api_specifications/public/sdk_foundation_definition.json | 2 +- api_specifications/public/sdk_foundation_definition.yaml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 9d1d0c2d0..5a069576c 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8499,7 +8499,7 @@ paths: or INVALID_LIMIT. summary: List PSKs. tags: - - PreSharedKeys + - Security and identity - pre-shared keys x-origin: /home/circleci/project/connector-bootstrap/public/swagger.yaml post: consumes: @@ -8542,7 +8542,7 @@ paths: type: string summary: Upload a PSK to Pelion Device Management. tags: - - PreSharedKeys + - Security and identity - pre-shared keys x-origin: /home/circleci/project/connector-bootstrap/public/swagger.yaml /v2/device-shared-keys/{endpoint_name}: delete: @@ -8582,7 +8582,7 @@ paths: description: Authentication failure. summary: Remove a PSK. tags: - - PreSharedKeys + - Security and identity - pre-shared keys x-origin: /home/circleci/project/connector-bootstrap/public/swagger.yaml get: description: 'Check if a PSK for an endpoint exists or not. The response does @@ -8625,7 +8625,7 @@ paths: description: The PSK does not exist. summary: Get a PSK. tags: - - PreSharedKeys + - Security and identity - pre-shared keys x-origin: /home/circleci/project/connector-bootstrap/public/swagger.yaml /v2/endpoints/{device-id}: get: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 8ff1966a8..97b30ad01 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -59902,7 +59902,7 @@ ], "field_renames": [], "tags": [ - "PreSharedKeys" + "Security and identity - pre-shared keys" ], "group_id": "Security", "_key": "pre_shared_key" diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 54d804064..7e442c073 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -45665,7 +45665,7 @@ entities: - PreSharedKey - PreSharedKeyWithoutSecret tags: - - PreSharedKeys + - Security and identity - pre-shared keys - _key: saml2_request field_renames: [] fields: From cdfaf4f726a3721335eff8673909c762bb24031d Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 4 Mar 2020 10:10:44 +0000 Subject: [PATCH 054/111] new SDK config changes via api-contract @ 2020-03-04 10:10 --- .../public/pelion_dm_public_openapi.yaml | 10 +++++----- .../public/sdk_foundation_definition.json | 8 ++++---- .../public/sdk_foundation_definition.yaml | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 5a069576c..b54ba41f8 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -19301,7 +19301,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Create a new developer certificate to connect to the bootstrap server. tags: - - Device security - developer class certificates + - Security and identity - developer class certificates x-origin: /home/circleci/project/connector-ca/public/swagger.yaml /v3/developer-certificates/{developerCertificateId}: get: @@ -19577,7 +19577,7 @@ paths: summary: Fetch an existing developer certificate to connect to the bootstrap server. tags: - - Device security - developer class certificates + - Security and identity - developer class certificates x-origin: /home/circleci/project/connector-ca/public/swagger.yaml /v3/device-block-categories/: get: @@ -26437,7 +26437,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Fetch all (Bootstrap and LwM2M) server credentials. tags: - - Service security - server credentials + - Security and identity - server credentials x-origin: /home/circleci/project/connector-ca/public/swagger.yaml /v3/server-credentials/bootstrap: get: @@ -26490,7 +26490,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Fetch bootstrap server credentials. tags: - - Service security - server credentials + - Security and identity - server credentials x-origin: /home/circleci/project/connector-ca/public/swagger.yaml /v3/server-credentials/lwm2m: get: @@ -26543,7 +26543,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Fetch LwM2M server credentials. tags: - - Service security - server credentials + - Security and identity - server credentials x-origin: /home/circleci/project/connector-ca/public/swagger.yaml /v3/service-packages: get: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 97b30ad01..aaa9fdb5e 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -31577,7 +31577,7 @@ } ], "tags": [ - "Device security - developer class certificates", + "Security and identity - developer class certificates", "Security and identity - certificates" ], "group_id": "Security", @@ -60545,7 +60545,7 @@ ], "field_renames": [], "tags": [ - "Service security - server credentials" + "Security and identity - server credentials" ], "group_id": "Security", "_key": "server_credentials" @@ -81185,7 +81185,7 @@ "field_renames": [], "tags": [ "Tenant security and identity - certificates", - "Device security - developer class certificates" + "Security and identity - developer class certificates" ], "group_id": "Security", "_key": "subtenant_trusted_certificate" @@ -90533,7 +90533,7 @@ "field_renames": [], "tags": [ "Security and identity - certificates", - "Device security - developer class certificates" + "Security and identity - developer class certificates" ], "group_id": "Security", "_key": "trusted_certificate" diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 7e442c073..9107f0310 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -23513,7 +23513,7 @@ entities: - DeveloperCertificateResponseData - TrustedCertificateResp tags: - - Device security - developer class certificates + - Security and identity - developer class certificates - Security and identity - certificates - _key: device field_renames: [] @@ -46149,7 +46149,7 @@ entities: swagger_models: - ServerCredentialsResponseData tags: - - Service security - server credentials + - Security and identity - server credentials - _key: subtenant_api_key field_renames: [] fields: @@ -61558,7 +61558,7 @@ entities: - TrustedCertificateUpdateReq tags: - Tenant security and identity - certificates - - Device security - developer class certificates + - Security and identity - developer class certificates - _key: subtenant_user field_renames: [] fields: @@ -68876,7 +68876,7 @@ entities: - TrustedCertificateUpdateReq tags: - Security and identity - certificates - - Device security - developer class certificates + - Security and identity - developer class certificates - _key: update_campaign field_renames: [] fields: From 040db9d0f794595f54a55e4e65e87bd6aff9fd67 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 4 Mar 2020 12:28:28 +0000 Subject: [PATCH 055/111] new SDK config changes via api-contract @ 2020-03-04 12:28 --- api_specifications/public/pelion_dm_public_openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index b54ba41f8..4dc0185db 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -25388,7 +25388,7 @@ paths: $ref: '#/definitions/error-response' summary: Provides account-specific statistics for other cloud services. tags: - - Statistics + - Usage - service metrics x-origin: /home/circleci/project/statistics/public/rest-api-v3-external.yaml /v3/policy-groups: get: From ec8c6007d68a0e285bd0f058e392cae048229b1b Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 4 Mar 2020 15:10:46 +0000 Subject: [PATCH 056/111] new SDK config changes via api-contract @ 2020-03-04 15:10 --- .../public/pelion_dm_public_openapi.yaml | 26 +++++++++---------- .../public/sdk_foundation_definition.json | 4 +-- .../public/sdk_foundation_definition.yaml | 4 +-- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 4dc0185db..6c5752f28 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -18412,7 +18412,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Get certificate issuer configurations. tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations x-filter: reference: - eq @@ -18458,7 +18458,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Create certificate issuer configuration. tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuer-configurations/lwm2m: get: @@ -18488,7 +18488,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Get certificate issuer configuration. tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml put: description: "Configure the certificate issuer to be used when creating device\ @@ -18528,7 +18528,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Update certificate issuer configuration. tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuer-configurations/{certificate-issuer-configuration-id}: delete: @@ -18568,7 +18568,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Delete certificate issuer configuration. tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml get: description: 'Provides the configured certificate issuer. @@ -18600,7 +18600,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Get certificate issuer configuration. tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml put: description: 'Update the configured certificate issuer configuration. @@ -18638,7 +18638,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Update certificate issuer configuration. tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuers: get: @@ -18686,7 +18686,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Get certificate issuers list. tags: - - Certificate Issuers + - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml post: description: "Create a certificate issuer.\nThe maximum number of issuers is\ @@ -18758,7 +18758,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Create certificate issuer. tags: - - Certificate Issuers + - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuers/{certificate-issuer-id}: delete: @@ -18814,7 +18814,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Delete certificate issuer. tags: - - Certificate Issuers + - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml get: operationId: getCertificateIssuer @@ -18854,7 +18854,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Get certificate issuer by ID. tags: - - Certificate Issuers + - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml put: description: "Update a certificate issuer.\n
\n**Example usage:**\n\n```\n\ @@ -18915,7 +18915,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Update certificate issuer. tags: - - Certificate Issuers + - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuers/{certificate-issuer-id}/verify: post: @@ -18989,7 +18989,7 @@ paths: $ref: '#/definitions/ErrorObjectResponse' summary: Verify certificate issuer. tags: - - Certificate Issuers + - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/developer-certificates: post: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index aaa9fdb5e..403ea45de 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -24372,7 +24372,7 @@ ], "field_renames": [], "tags": [ - "Certificate Issuers" + "Security and identity - certificate issuers" ], "group_id": "Security", "_key": "certificate_issuer" @@ -26651,7 +26651,7 @@ ], "field_renames": [], "tags": [ - "Certificate Issuers Activation" + "Security and identity - certificate issuer configurations" ], "group_id": "Security", "_key": "certificate_issuer_config" diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 9107f0310..cea096ef5 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -17863,7 +17863,7 @@ entities: - CertificateIssuerUpdateRequest - CertificateIssuerVerifyResponse tags: - - Certificate Issuers + - Security and identity - certificate issuers - _key: certificate_issuer_config field_renames: [] fields: @@ -19544,7 +19544,7 @@ entities: - CertificateIssuerConfigResponse - CreateCertificateIssuerConfig tags: - - Certificate Issuers Activation + - Security and identity - certificate issuer configurations - _key: dark_theme_color field_renames: [] fields: From 801a39572f069b2d4b73d9f250b5916e4ea360e2 Mon Sep 17 00:00:00 2001 From: monty bot Date: Sun, 8 Mar 2020 11:49:38 +0000 Subject: [PATCH 057/111] new SDK config changes via api-contract @ 2020-03-08 11:49 --- .../public/pelion_dm_public_openapi.yaml | 493 +++++++++-------- .../public/sdk_foundation_definition.json | 204 ++++---- .../public/sdk_foundation_definition.yaml | 495 +++++++----------- 3 files changed, 535 insertions(+), 657 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 6c5752f28..caf97ba9d 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -599,6 +599,87 @@ definitions: - object - total_count type: object + AccountResponse: + description: This object represents an account in responses. + properties: + alias: + description: Alias of the account. + example: cust-314159 + readOnly: true + type: string + display_name: + description: The display name for the account. + example: Customer 3.14159 + readOnly: true + type: string + id: + description: The UUID of the account. + example: 01619571e2e90242ac12000600000000 + readOnly: true + type: string + parent_id: + description: The UUID of the parent account, if it has any. + example: 01619571f3c00242ac12000600000000 + readOnly: true + type: string + status: + description: The status of the account. + enum: + - ENROLLING + - ACTIVE + - RESTRICTED + - SUSPENDED + example: ACTIVE + readOnly: true + type: string + type: object + AccountResponseList: + properties: + after: + description: The entity ID to fetch after the given one. + example: 01619571f3c00242ac12000600000000 + readOnly: true + type: string + data: + description: A list of entities. + items: + $ref: '#/definitions/AccountResponse' + readOnly: true + type: array + has_more: + description: Flag indicating whether there is more results. + example: false + readOnly: true + type: boolean + limit: + description: 'The number of results to return, (range: 2-1000), or equals + to `total_count`' + example: 50 + format: int32 + readOnly: true + type: integer + object: + description: 'Entity name: always ''list''' + enum: + - list + readOnly: true + type: string + order: + description: 'The order of the records to return based on creation time. Available + values: ASC, DESC; by default ASC.' + enum: + - ASC + - DESC + readOnly: true + type: string + total_count: + description: The total number or records, if requested. It might be returned + also for small lists. + example: 5 + format: int32 + readOnly: true + type: integer + type: object AccountUpdateReq: description: Represents an account creation request. properties: @@ -783,7 +864,8 @@ definitions: type: string x-nullable: true contract_number: - description: Contract number of the customer. + description: Contract number of the customer. An administrator can set this + property on tenant accounts only. type: string x-nullable: true country: @@ -801,7 +883,8 @@ definitions: type: object x-nullable: true customer_number: - description: Customer number of the customer. + description: Customer number of the customer. An administrator can set this + property on tenant accounts only. type: string x-nullable: true display_name: @@ -1604,6 +1687,7 @@ definitions: Null when creating bulk upload or delete.' example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv type: string + x-nullable: true etag: description: etag example: '1' @@ -1615,6 +1699,7 @@ definitions: Null when creating bulk upload or delete.' example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv type: string + x-nullable: true id: description: Bulk ID pattern: ^[A-Za-z0-9]{32} @@ -1937,23 +2022,22 @@ definitions: $ref: '#/definitions/CertificateIssuerConfigResponse' type: array has_more: &id002 - description: Are there more results available. + description: More results are available. example: false type: boolean limit: &id003 - description: How many objects to retrieve in the page. The minimum limit is - 2 and the maximum is 1000. Limit values outside of this range are set to - the closest limit. + description: The number of results to return (2-1000). Values outside of this + range are set to the closest limit. example: 50 maximum: 1000 minimum: 2 type: integer object: &id004 - description: The type of this API object is a `list`. + description: The type of this API object is `list`. example: list type: string order: &id005 - description: The creation time based order of the entries. + description: Record order based on creation time. example: DESC type: string total_count: &id006 @@ -1975,11 +2059,9 @@ definitions: CertificateIssuerConfigResponse: properties: certificate_issuer_id: - description: 'The ID of the certificate issuer. - - Null if Device Management internal HSM is used. + description: 'Certificate issuer ID. - ' + Null if Device Management internal HSM is used.' example: 01648415a2a30242ac18000500000000 type: string x-nullable: true @@ -1993,9 +2075,7 @@ definitions: example: '1' type: string id: - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. example: 01648415a2a30242ac18000500000000 type: string is_custom: @@ -2034,7 +2114,7 @@ definitions: example: '1' type: string id: - description: The ID of the certificate issuer. + description: Certificate issuer ID. example: 01234567890ABCDEF01234567890ABCDEF type: string issuer_attributes: @@ -2042,19 +2122,16 @@ definitions: type: string description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. - - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. + When the issuer_type is GLOBAL_SIGN, the value is empty. - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' example: &id008 {} type: object issuer_type: - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates\ - \ are issued by GlobalSign service. The users must provide their own GlobalSign\ - \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL\ - \ authenticated signing service.\n The users must provide their own CFSSL\ - \ host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are\ + \ issued by GlobalSign service. You must provide your own GlobalSign account\ + \ credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated\ + \ signing service.\n You must provide your own CFSSL host_url and credentials." enum: - GLOBAL_SIGN - CFSSL_AUTH @@ -2113,31 +2190,26 @@ definitions: additionalProperties: *id007 description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. + When the issuer_type is GLOBAL_SIGN, the value is empty. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' example: *id008 type: object issuer_credentials: additionalProperties: &id009 type: string - description: 'The credentials required for connecting to the certificate issuer. + description: 'The credentials required to connect to the certificate issuer. When the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.' example: &id010 {} type: object issuer_type: - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates\ - \ are issued by GlobalSign service. The users must provide their own GlobalSign\ - \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL\ - \ authenticated signing service.\n The users must provide their own CFSSL\ - \ host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are\ + \ issued by GlobalSign service. You must provide your own GlobalSign account\ + \ credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated\ + \ signing service.\n You must provide your own CFSSL host_url and credentials." enum: - GLOBAL_SIGN - CFSSL_AUTH @@ -2165,22 +2237,18 @@ definitions: additionalProperties: *id007 description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. + When the issuer_type is GLOBAL_SIGN, the value is empty. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' example: *id008 type: object issuer_credentials: additionalProperties: *id009 - description: 'The credentials required for connecting to the certificate issuer. + description: 'The credentials required to connect to the certificate issuer. When the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.' example: *id010 type: object name: @@ -2191,55 +2259,40 @@ definitions: CertificateIssuerVerifyResponse: properties: message: - description: 'Provides details in case of failure. - - ' - example: message describing the verification failure + description: Provides details in case of failure. + example: Message describing the verification failure type: string successful: - description: 'Indicates whether the certificate issuer was verified successfully. - - ' + description: Indicates whether the certificate issuer was verified successfully. example: false type: boolean type: object CfsslAttributes: - description: 'Describes the attributes required to connect to the CFSSL server. - - ' + description: Describes the attributes required to connect to the CFSSL server. properties: cfssl_label: - description: 'The label that is used by CFSSL when creating the certificate. - - ' + description: The label that is used by CFSSL when creating the certificate. type: string cfssl_profile: - description: 'The profile that is configured on the CFSSL server and is used - by CFSSL when creating the certificate. - - ' + description: The profile that is configured on the CFSSL server and used by + CFSSL when creating the certificate. type: string host_url: - description: 'The URL to connect to the CFSSL server. - - ' + description: The URL to connect to the CFSSL server. + example: http://my.cfssl.service:5555 type: string required: - host_url type: object CfsslAuthCredentials: - description: 'Describes the credentials required when using CFSSL authenticated + description: Describes the credentials required when using CFSSL authenticated signing. - - ' properties: hmac_hex_key: description: 'The key that is used to compute the HMAC of the request using the HMAC-SHA-256 algorithm. - Must contain an even number of hexadecimal characters. - - ' + Must contain an even number of hexadecimal characters.' example: 0010203ABCD708EF maxLength: 64 pattern: ^([a-fA-F0-9][a-fA-F0-9]){1,32}$ @@ -2261,9 +2314,7 @@ definitions: CreateCertificateIssuerConfig: properties: certificate_issuer_id: - description: 'The ID of the certificate issuer. - - ' + description: Certificate issuer ID. example: 01648415a2a30242ac18000500000000 maxLength: 32 type: string @@ -2272,9 +2323,7 @@ definitions: description: 'The certificate name, as created in the factory, to which the certificate issuer configuration applies. - The following names are reserved and cannot be configured: LwM2M, BOOTSTRAP. - - ' + The following names are reserved and cannot be configured: LwM2M, BOOTSTRAP.' example: customer.dlms maxLength: 100 pattern: (?!mbed\.)[\w-_.]{1,100} @@ -2705,7 +2754,7 @@ definitions: description: Device has been suspended by operator. type: boolean serial_number: - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. example: 00000000-0000-0000-0000-000000000000 @@ -4409,24 +4458,17 @@ definitions: type: integer type: object GlobalSignCredentials: - description: 'Describes the credentials required to connect to the GlobalSign - account. - - The values should be taken from GlobalSign support upon account creation. + description: 'The credentials required to connect to the GlobalSign account. - ' + The values should be taken from GlobalSign support upon account creation.' properties: api_key: - description: 'Unique ID for API client (provided by GlobalSign). - - ' + description: Unique ID for API client (provided by GlobalSign). example: e510e289e6cd8947 maxLength: 1000 type: string api_secret: - description: 'API Secret matching the API key (provided by GlobalSign). - - ' + description: API secret matching the API key (provided by GlobalSign). example: a477a8393d17a55ecb2ba6a61f58feb84770b621 format: password maxLength: 250 @@ -4438,9 +4480,7 @@ definitions: The certificate wraps a public key that matches a private key provided by the customer. - The certificate must be in PEM format. - - ' + The certificate must be in PEM format.' example: '"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END CERTIFICATE-----"' maxLength: 3000 @@ -4448,9 +4488,7 @@ definitions: passphrase: description: 'The passphrase to decrypt the private key in case it is encrypted. - Empty if the private key is not encrypted. - - ' + Empty if the private key is not encrypted.' example: helloworld format: password maxLength: 1000 @@ -4462,9 +4500,7 @@ definitions: The private key may be encrypted using a symmetric encryption key derived from a passphrase. - The private key must be in PEM format. - - ' + The private key must be in PEM format.' example: '"-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\n\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\n7sqzPlmRF0N3I4lwKVj+PfQTVz43QoCnpxOjuSEL4liBrc2agY2xH1O0PFyHimz9\n3XM9HR/iuPHW0N2D+NPjXlWKacerupH9d4i9IYIagzB+HTgej8limdo03GmmxcZ6\nYNa58n5yQSaqu0TPRU9DsrKeGjadHTlZQGdzfq1SWsROCnHLrXFKE2ozIG3+hxA5\nujBF/QWpX5+inXUwDJhBxp8isHbPEnBEUUd6ZRzCTjvN0jaUti5B9yFhO2G6mbE8\nCvhyzQK8oJqsjZXnlcpPf95LP+9XbcCDjLSIaWJstzXO9tPiv6+x1MVWmivtRHcC\nSTzpx8jAGCiG6ejLqWB87ZXiZm7ujlCBheHSf5RHwNHhUvoP2JEYalDDRxjcDMSx\n4uV42Np4yJlIQEDlGHcBlXoL7vEukFpuWgkYdpcZy/Ou9qz8mXrpLcu8C8MhLmSC\nixGoR5iRhV7cxoHLyuCzj87eYEA73Xu238DQorSEEuiVFnLzQ2+PJMs4qoI14q/L\notlBDz+Ko6DrU/EZROYmiqMkLKXR2sx9zNAJwPYRs6nSH08tZ3dwqzZbgtP3Wazi\nhLWHt5/En7wQRA5a+/dDEHXSoLvvSQ9jvhclhWf+eCYuq2eH+g54oyJGRSY+8GV7\nujhLxkzl/3OZdhZPWoz4U13KpbSTcNWu5Y7oGDoabw19UbvqmLf1PJkpDH/tQgzB\nxYtsLBRUcofpYoeIiIxfAA4do5WilJc8xqrGhkE4WcHfY24HXAiOvsjbxV+BRprX\n1jtgJpV/9nJESMap+8PxipGUFRGjB83/uwJaa6mLftEKflX8i4MZ+HnqraXERsqA\nWRUcDHIWmFfpzIB3iNuxawVvPH8NdCSPmQ9qTb8Cozl0AuOK2E9S+ke8oiYQScWR\nLdu+zhej7GjuQ9R+Ub+wPWqvOA5qLXejqnCexVScDUuN+z9JWM3N2FG1MwxhAzhP\ndEfoQHoBn6uyOmrVGP6fosV3chqhPoec42KeOAm1xDvx692isaIy1jPgIyPxeqhm\n2Tw4E+02R7dlP8Ljf7JzfLm4oKpWHWlcHeqg24x6lY/wXU1RBcWaTa0AQUwoGm2m\nIQCPfIqOEv/QC2HpO7SVCYkl65KwR0oTd1AzYxdxEq3xHQbh69EL0FGZPVxVCPI+\nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\n-----END RSA PRIVATE KEY-----"' @@ -18331,59 +18367,53 @@ paths:
- **Example usage:** - + **Example:** ``` - curl \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations + \ - -H ''authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ - https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \ - ``` +
+ ``` - curl \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms + \ - -H ''authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ - https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms - \ - ``` - Note: This endpoint does not implement pagination and therefore, list control - parameters such as `limit` or `after` will be ignored by the system. - - ' + **Note:** This endpoint does not implement pagination, and therefore ignores + list control parameters such as `limit` or `after`.' operationId: getCertificateIssuerConfigs parameters: - - description: How many objects to retrieve in the page. The minimum limit is - 2 and the maximum is 1000. Limit values outside of this range are set to - the closest limit. + - description: The number of results to return (2-1000). Values outside of this + range are set to the closest limit. in: query maximum: 1000 minimum: 2 name: limit type: integer - - description: The order of the records based on creation time, `ASC` or `DESC`; - by default `ASC`. + - description: 'Record order. Acceptable values: ASC, DESC. Default: ASC.' in: query name: order type: string - - description: The ID of The item after which to retrieve the next page. + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'Comma-separated list of data fields to return. Currently supported: - `total_count`' + `total_count`.' in: query name: include type: string @@ -18418,15 +18448,15 @@ paths: - eq x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml post: - description: "Configure the certificate issuer to be used when creating the\ - \ device custom certificates.\n
\n**Example usage:**\n\n```\ncurl -X POST\ - \ \\\n-H 'authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ - \ \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ - \ \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\"\ - : \"01621a36719d507b9d48a91b00000000\"\n}'\n```\n" + description: "Configure the certificate issuer to use when creating device custom\ + \ certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ + \ application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\"\ + ,\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n\ + ```" operationId: createCertificateIssuerConfig parameters: - - description: Certificate issuer configuration request + - description: Certificate issuer configuration request. in: body name: CreateCertificateIssuerConfig required: true @@ -18450,10 +18480,8 @@ paths: schema: $ref: '#/definitions/ErrorObjectResponse' '409': - description: 'A certificate issuer configuration with this reference already + description: A certificate issuer configuration with this reference already exists. - - ' schema: $ref: '#/definitions/ErrorObjectResponse' summary: Create certificate issuer configuration. @@ -18462,12 +18490,10 @@ paths: x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuer-configurations/lwm2m: get: - description: 'Provides the configured certificate issuer to be used when creating + description: 'Provides the configured certificate issuer used when creating device - certificates for LwM2M communication.
- - ' + certificates for LwM2M.' operationId: getCertificateIssuerConfig responses: '200': @@ -18491,12 +18517,11 @@ paths: - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml put: - description: "Configure the certificate issuer to be used when creating device\ - \ certificates\nfor LwM2M communication.\n
\n**Example usage:**\n\n```\n\ - curl -X PUT \\\n-H 'authorization: ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations/lwm2m\ - \ \\\n-d '{\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\ - \n}'\n```\n" + description: "Configure the certificate issuer used when creating device certificates\n\ + for LwM2M.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations/lwm2m\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ + \ application/json;charset=UTF-8' \\\n-d '{\n \"certificate_issuer_id\":\ + \ \"01621a36719d507b9d48a91b00000000\"\n}'\n```" operationId: updateCertificateIssuerConfig parameters: - description: Certificate Issuer Configuration Request @@ -18532,17 +18557,13 @@ paths: x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuer-configurations/{certificate-issuer-configuration-id}: delete: - description: 'Delete the configured certificate issuer configuration. - - You can only delete the configurations of custom certificates. + description: 'Delete certificate issuer configuration. - ' + You can only delete custom certificate configurations.' operationId: deleteCertificateIssuerConfigByID parameters: - &id026 - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID configuration. in: path name: certificate-issuer-configuration-id required: true @@ -18571,9 +18592,7 @@ paths: - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml get: - description: 'Provides the configured certificate issuer. - - ' + description: Provides the configured certificate issuer. operationId: getCertificateIssuerConfigByID parameters: - *id026 @@ -18603,12 +18622,10 @@ paths: - Security and identity - certificate issuer configurations x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml put: - description: 'Update the configured certificate issuer configuration. - - ' + description: Update certificate issuer configuration. operationId: updateCertificateIssuerConfigByID parameters: - - description: Certificate issuer configuration request + - description: Certificate issuer configuration request. in: body name: CertificateIssuerConfigRequest required: true @@ -18642,32 +18659,27 @@ paths: x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuers: get: - description: 'Note: This endpoint does not implement pagination and therefore, - list control parameters such as `limit` or `after` will be ignored by the - system. - - ' + description: '**Note:** This endpoint does not use pagination, and therefore + ignores list control parameters such as `limit` or `after`.' operationId: getCertificateIssuers parameters: - - description: How many objects to retrieve in the page. The minimum limit is - 2 and the maximum is 1000. Limit values outside of this range are set to - the closest limit. + - description: The number of results to return (2-1000). Values outside of this + range are set to the closest limit. in: query maximum: 1000 minimum: 2 name: limit type: integer - - description: The order of the records based on creation time, `ASC` or `DESC`; - by default `ASC`. + - description: 'Record order. Acceptable values: ASC, DESC. Default: ASC.' in: query name: order type: string - - description: The ID of The item after which to retrieve the next page. + - description: The ID of the item after which to retrieve the next page. in: query name: after type: string - description: 'Comma-separated list of data fields to return. Currently supported: - `total_count`' + `total_count`.' in: query name: include type: string @@ -18689,17 +18701,17 @@ paths: - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml post: - description: "Create a certificate issuer.\nThe maximum number of issuers is\ - \ limited to 20 per account.\nMultiple certificate issuers of the same issuer\ - \ type can be created, provided they have a different name. This allows verification\ - \ of the certificate issuer configuration before activating it.\n
\n**Example\ - \ usage:**\n\n```\ncurl -X POST \\\n-H 'authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ - \ \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\"\ - ,\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\"\ - : null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\"\ - ,\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \ - \ \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ + description: "Create a certificate issuer.\n
\nThe maximum number of issuers\ + \ is limited to 20 per account.\n
\nYou can create multiple certificate\ + \ issuers of the same type, provided they have different names. This allows\ + \ verification of the certificate issuer configuration before activation.\n\ +
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ + \ application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\"\ + ,\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate\ + \ issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n\ + \ \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\"\ + ,\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ \ CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\\ nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\\ nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\\ @@ -18715,7 +18727,7 @@ paths: nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\\ n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\\ n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n\ - \ }\n}'\n```\n" + \ }\n}'\n```" operationId: createCertificateIssuer parameters: - description: Certificate issuer request. @@ -18731,9 +18743,7 @@ paths: $ref: '#/definitions/CertificateIssuerInfo' '400': description: 'Validation error: The data used to create the certificate - issuer failed validation. - - ' + issuer failed validation.' schema: $ref: '#/definitions/ErrorObjectResponse' '401': @@ -18745,15 +18755,11 @@ paths: schema: $ref: '#/definitions/ErrorObjectResponse' '409': - description: 'Conflict. A certificate issuer with this name already exists. - - ' + description: Conflict. A certificate issuer with this name already exists. schema: $ref: '#/definitions/ErrorObjectResponse' '424': - description: 'The request failed due to customer configured external service. - - ' + description: The request failed due to customer configured external service. schema: $ref: '#/definitions/ErrorObjectResponse' summary: Create certificate issuer. @@ -18766,27 +18772,21 @@ paths:
- **Example usage:** - + **Example:** ``` - curl -X DELETE \ - - -H ''authorization: '' \ - - https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 + \ - ``` + -H ''Authorization: Bearer '' \ - ' + ```' operationId: deleteCertificateIssuer parameters: - - description: 'Certificate issuer ID.
The ID of the certificate issuer. - - An active certificate issuer may not be deleted. + - description: 'Certificate issuer ID. - ' + An active certificate issuer cannot be deleted.' in: path name: certificate-issuer-id required: true @@ -18795,9 +18795,7 @@ paths: '204': description: Certificate issuer deleted. '400': - description: 'Validation error: An active certificate issuer cannot be deleted. - - ' + description: 'Validation error: An active certificate issuer cannot be deleted.' schema: $ref: '#/definitions/ErrorObjectResponse' '401': @@ -18819,11 +18817,7 @@ paths: get: operationId: getCertificateIssuer parameters: - - description: 'Certificate issuer ID. - - The ID of the certificate issuer. - - ' + - description: Certificate issuer ID. in: path name: certificate-issuer-id required: true @@ -18835,9 +18829,7 @@ paths: $ref: '#/definitions/CertificateIssuerInfo' '400': description: 'Validation error: The data used to get the certificate issuer - failed validation. - - ' + failed validation.' schema: $ref: '#/definitions/ErrorObjectResponse' '401': @@ -18857,16 +18849,15 @@ paths: - Security and identity - certificate issuers x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml put: - description: "Update a certificate issuer.\n
\n**Example usage:**\n\n```\n\ - curl -X PUT \\\n-H 'authorization: ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ - \ \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\"\ - ,\n \"name\": \"GlobalSign Issuer\"\n}'\n```\n" + description: "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ + \ application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign\ + \ certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n\ + ```" operationId: updateCertificateIssuer parameters: - - description: 'Certificate issuer ID.
The ID of the certificate issuer. - - ' + - description: Certificate issuer ID. in: path name: certificate-issuer-id required: true @@ -18884,9 +18875,7 @@ paths: $ref: '#/definitions/CertificateIssuerInfo' '400': description: 'Validation error: The data used to update the certificate - issuer failed validation. - - ' + issuer failed validation.' schema: $ref: '#/definitions/ErrorObjectResponse' '401': @@ -18902,15 +18891,11 @@ paths: schema: $ref: '#/definitions/ErrorObjectResponse' '409': - description: 'Conflict. A certificate issuer with this name already exists. - - ' + description: Conflict. A certificate issuer with this name already exists. schema: $ref: '#/definitions/ErrorObjectResponse' '424': - description: 'The request failed due to customer configured external service. - - ' + description: The request failed due to customer-configured external service. schema: $ref: '#/definitions/ErrorObjectResponse' summary: Update certificate issuer. @@ -18919,11 +18904,9 @@ paths: x-origin: /home/circleci/project/cloud-vault/public/swagger.yaml /v3/certificate-issuers/{certificate-issuer-id}/verify: post: - description: 'A utility API that can be used to validate the user configuration - before activating a certificate issuer. - - Verifies that the certificate issuer is accessible and can be used to generate - certificates by Device Management. + description: 'Validates the certificate issuer by sending a signing request + for a test certificate. This should be done before the configuration is made + active.
@@ -18931,31 +18914,25 @@ paths: The API requests the 3rd party CA to sign a test certificate. - For some 3rd party CAs, this operation may make use of the account quota. + For some 3rd party CAs, this operation may use the account quota.
- **Example usage:** - + **Example:** ``` - curl -X POST \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify + \ - -H ''authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ - https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify - - ``` - - ' + ```' operationId: verifyCertificateIssuer parameters: - - description: 'Certificate issuer ID.
The ID of the certificate issuer. - - ' + - description: Certificate issuer ID. in: path name: certificate-issuer-id required: true @@ -18982,9 +18959,7 @@ paths: schema: $ref: '#/definitions/ErrorObjectResponse' '424': - description: 'The request failed due to customer configured external service. - - ' + description: The request failed due to customer configured external service. schema: $ref: '#/definitions/ErrorObjectResponse' summary: Verify certificate issuer. @@ -19898,7 +19873,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Get a list of enrollments per account. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml post: description: 'When the device connects to the bootstrap server and provides @@ -19949,7 +19924,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Create a single enrollment. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml /v3/device-enrollments-bulk-deletes: post: @@ -19980,7 +19955,7 @@ paths: \ , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A\ \ file containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\"\ , First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12,\ - \ Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12,\ + \ Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23,\ \ Too-short identity.\n\"\", Empty quotation marks are an invalid identity.\n\ \" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\ \ \", Whitespace inside quotation marks is not trimmed, causing an error.\n\ @@ -20009,7 +19984,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Bulk delete. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml /v3/device-enrollments-bulk-deletes/{id}: get: @@ -20091,7 +20066,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Get bulk delete entity. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml /v3/device-enrollments-bulk-uploads: post: @@ -20152,7 +20127,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Bulk upload. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml /v3/device-enrollments-bulk-uploads/{id}: get: @@ -20234,7 +20209,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Get bulk upload entity. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml /v3/device-enrollments/{id}: delete: @@ -20276,7 +20251,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Delete an enrollment by ID. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml get: description: 'Check detailed enrollment info, for example, date of claim or @@ -20316,7 +20291,7 @@ paths: $ref: '#/definitions/ErrorResponse' summary: Get details of an single enrollment by ID. tags: - - Public API + - Device ownership - enrollments x-origin: /home/circleci/project/enrollment-service/public/swagger.yaml /v3/device-events/: get: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 403ea45de..9e72bbdfe 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -21736,7 +21736,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a certificate issuer.\nThe maximum number of issuers is limited to 20 per account.\nMultiple certificate issuers of the same issuer type can be created, provided they have a different name. This allows verification of the certificate issuer configuration before activating it.\n
\n**Example usage:**\n\n```\ncurl -X POST \\\n-H 'authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\n7sqzPlmRF0N3I4lwKVj+PfQTVz43QoCnpxOjuSEL4liBrc2agY2xH1O0PFyHimz9\\n3XM9HR/iuPHW0N2D+NPjXlWKacerupH9d4i9IYIagzB+HTgej8limdo03GmmxcZ6\\nYNa58n5yQSaqu0TPRU9DsrKeGjadHTlZQGdzfq1SWsROCnHLrXFKE2ozIG3+hxA5\\nujBF/QWpX5+inXUwDJhBxp8isHbPEnBEUUd6ZRzCTjvN0jaUti5B9yFhO2G6mbE8\\nCvhyzQK8oJqsjZXnlcpPf95LP+9XbcCDjLSIaWJstzXO9tPiv6+x1MVWmivtRHcC\\nSTzpx8jAGCiG6ejLqWB87ZXiZm7ujlCBheHSf5RHwNHhUvoP2JEYalDDRxjcDMSx\\n4uV42Np4yJlIQEDlGHcBlXoL7vEukFpuWgkYdpcZy/Ou9qz8mXrpLcu8C8MhLmSC\\nixGoR5iRhV7cxoHLyuCzj87eYEA73Xu238DQorSEEuiVFnLzQ2+PJMs4qoI14q/L\\notlBDz+Ko6DrU/EZROYmiqMkLKXR2sx9zNAJwPYRs6nSH08tZ3dwqzZbgtP3Wazi\\nhLWHt5/En7wQRA5a+/dDEHXSoLvvSQ9jvhclhWf+eCYuq2eH+g54oyJGRSY+8GV7\\nujhLxkzl/3OZdhZPWoz4U13KpbSTcNWu5Y7oGDoabw19UbvqmLf1PJkpDH/tQgzB\\nxYtsLBRUcofpYoeIiIxfAA4do5WilJc8xqrGhkE4WcHfY24HXAiOvsjbxV+BRprX\\n1jtgJpV/9nJESMap+8PxipGUFRGjB83/uwJaa6mLftEKflX8i4MZ+HnqraXERsqA\\nWRUcDHIWmFfpzIB3iNuxawVvPH8NdCSPmQ9qTb8Cozl0AuOK2E9S+ke8oiYQScWR\\nLdu+zhej7GjuQ9R+Ub+wPWqvOA5qLXejqnCexVScDUuN+z9JWM3N2FG1MwxhAzhP\\ndEfoQHoBn6uyOmrVGP6fosV3chqhPoec42KeOAm1xDvx692isaIy1jPgIyPxeqhm\\n2Tw4E+02R7dlP8Ljf7JzfLm4oKpWHWlcHeqg24x6lY/wXU1RBcWaTa0AQUwoGm2m\\nIQCPfIqOEv/QC2HpO7SVCYkl65KwR0oTd1AzYxdxEq3xHQbh69EL0FGZPVxVCPI+\\nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n }\n}'\n```\n", + "description": "Create a certificate issuer.\n
\nThe maximum number of issuers is limited to 20 per account.\n
\nYou can create multiple certificate issuers of the same type, provided they have different names. This allows verification of the certificate issuer configuration before activation.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\n7sqzPlmRF0N3I4lwKVj+PfQTVz43QoCnpxOjuSEL4liBrc2agY2xH1O0PFyHimz9\\n3XM9HR/iuPHW0N2D+NPjXlWKacerupH9d4i9IYIagzB+HTgej8limdo03GmmxcZ6\\nYNa58n5yQSaqu0TPRU9DsrKeGjadHTlZQGdzfq1SWsROCnHLrXFKE2ozIG3+hxA5\\nujBF/QWpX5+inXUwDJhBxp8isHbPEnBEUUd6ZRzCTjvN0jaUti5B9yFhO2G6mbE8\\nCvhyzQK8oJqsjZXnlcpPf95LP+9XbcCDjLSIaWJstzXO9tPiv6+x1MVWmivtRHcC\\nSTzpx8jAGCiG6ejLqWB87ZXiZm7ujlCBheHSf5RHwNHhUvoP2JEYalDDRxjcDMSx\\n4uV42Np4yJlIQEDlGHcBlXoL7vEukFpuWgkYdpcZy/Ou9qz8mXrpLcu8C8MhLmSC\\nixGoR5iRhV7cxoHLyuCzj87eYEA73Xu238DQorSEEuiVFnLzQ2+PJMs4qoI14q/L\\notlBDz+Ko6DrU/EZROYmiqMkLKXR2sx9zNAJwPYRs6nSH08tZ3dwqzZbgtP3Wazi\\nhLWHt5/En7wQRA5a+/dDEHXSoLvvSQ9jvhclhWf+eCYuq2eH+g54oyJGRSY+8GV7\\nujhLxkzl/3OZdhZPWoz4U13KpbSTcNWu5Y7oGDoabw19UbvqmLf1PJkpDH/tQgzB\\nxYtsLBRUcofpYoeIiIxfAA4do5WilJc8xqrGhkE4WcHfY24HXAiOvsjbxV+BRprX\\n1jtgJpV/9nJESMap+8PxipGUFRGjB83/uwJaa6mLftEKflX8i4MZ+HnqraXERsqA\\nWRUcDHIWmFfpzIB3iNuxawVvPH8NdCSPmQ9qTb8Cozl0AuOK2E9S+ke8oiYQScWR\\nLdu+zhej7GjuQ9R+Ub+wPWqvOA5qLXejqnCexVScDUuN+z9JWM3N2FG1MwxhAzhP\\ndEfoQHoBn6uyOmrVGP6fosV3chqhPoec42KeOAm1xDvx692isaIy1jPgIyPxeqhm\\n2Tw4E+02R7dlP8Ljf7JzfLm4oKpWHWlcHeqg24x6lY/wXU1RBcWaTa0AQUwoGm2m\\nIQCPfIqOEv/QC2HpO7SVCYkl65KwR0oTd1AzYxdxEq3xHQbh69EL0FGZPVxVCPI+\\nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n }\n}'\n```", "field_renames": [], "fields": [ { @@ -21757,7 +21757,7 @@ "additionalProperties": { "type": "string" }, - "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value shall be empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.\n", + "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value is empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.", "example": [], "api_fieldname": "issuer_attributes", "entity_fieldname": "issuer_attributes", @@ -21771,7 +21771,7 @@ "additionalProperties": { "type": "string" }, - "description": "The credentials required for connecting to the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.\n", + "description": "The credentials required to connect to the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.", "example": [], "name": "issuer_credentials", "in": "body", @@ -21789,7 +21789,7 @@ "GLOBAL_SIGN", "CFSSL_AUTH" ], - "description": "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. The users must provide their own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n The users must provide their own CFSSL host_url and credentials.\n", + "description": "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. You must provide your own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n You must provide your own CFSSL host_url and credentials.", "example": "GLOBAL_SIGN", "api_fieldname": "issuer_type", "entity_fieldname": "issuer_type", @@ -21849,7 +21849,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer.", + "description": "Certificate issuer ID.", "example": "01234567890ABCDEF01234567890ABCDEF", "api_fieldname": "id", "entity_fieldname": "id", @@ -21860,7 +21860,7 @@ "additionalProperties": { "type": "string" }, - "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value shall be empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.\n", + "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value is empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.", "example": [], "api_fieldname": "issuer_attributes", "entity_fieldname": "issuer_attributes", @@ -21872,7 +21872,7 @@ "GLOBAL_SIGN", "CFSSL_AUTH" ], - "description": "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. The users must provide their own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n The users must provide their own CFSSL host_url and credentials.\n", + "description": "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. You must provide your own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n You must provide your own CFSSL host_url and credentials.", "example": "GLOBAL_SIGN", "api_fieldname": "issuer_type", "entity_fieldname": "issuer_type", @@ -21908,7 +21908,7 @@ "_key": "201" }, { - "description": "Validation error: The data used to create the certificate issuer failed validation.\n", + "description": "Validation error: The data used to create the certificate issuer failed validation.", "schema": { "type": "object", "required": [ @@ -22097,7 +22097,7 @@ "_key": "403" }, { - "description": "Conflict. A certificate issuer with this name already exists.\n", + "description": "Conflict. A certificate issuer with this name already exists.", "schema": { "type": "object", "required": [ @@ -22160,7 +22160,7 @@ "_key": "409" }, { - "description": "The request failed due to customer configured external service.\n", + "description": "The request failed due to customer configured external service.", "schema": { "type": "object", "required": [ @@ -22252,13 +22252,13 @@ "_key": "create" }, { - "description": "Delete a certificate issuer by ID.\n
\n**Example usage:**\n\n```\ncurl -X DELETE \\\n-H 'authorization: ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000\n```\n", + "description": "Delete a certificate issuer by ID.\n
\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n```", "field_renames": [], "fields": [ { "name": "certificate-issuer-id", "in": "path", - "description": "Certificate issuer ID.
The ID of the certificate issuer.\nAn active certificate issuer may not be deleted.\n", + "description": "Certificate issuer ID.\nAn active certificate issuer cannot be deleted.", "required": true, "type": "string", "entity_fieldname": "id", @@ -22276,7 +22276,7 @@ "_key": "204" }, { - "description": "Validation error: An active certificate issuer cannot be deleted.\n", + "description": "Validation error: An active certificate issuer cannot be deleted.", "schema": { "type": "object", "required": [ @@ -22555,12 +22555,12 @@ "_key": "delete" }, { - "description": "Note: This endpoint does not implement pagination and therefore, list control parameters such as `limit` or `after` will be ignored by the system.\n", + "description": "**Note:** This endpoint does not use pagination, and therefore ignores list control parameters such as `limit` or `after`.", "field_renames": [], "fields": [ { "type": "string", - "description": "The ID of The item after which to retrieve the next page.", + "description": "The ID of the item after which to retrieve the next page.", "example": "01631667477600000000000100100374", "api_fieldname": "after", "entity_fieldname": "after", @@ -22572,7 +22572,7 @@ "_key": "after" }, { - "description": "Comma-separated list of data fields to return. Currently supported: `total_count`", + "description": "Comma-separated list of data fields to return. Currently supported: `total_count`.", "in": "query", "name": "include", "type": "string", @@ -22585,7 +22585,7 @@ }, { "type": "integer", - "description": "How many objects to retrieve in the page. The minimum limit is 2 and the maximum is 1000. Limit values outside of this range are set to the closest limit.", + "description": "The number of results to return (2-1000). Values outside of this range are set to the closest limit.", "example": 50, "minimum": 2, "maximum": 1000, @@ -22600,7 +22600,7 @@ }, { "type": "string", - "description": "The order of the records based on creation time, `ASC` or `DESC`; by default `ASC`.", + "description": "Record order. Acceptable values: ASC, DESC. Default: ASC.", "example": "DESC", "api_fieldname": "order", "entity_fieldname": "order", @@ -22622,7 +22622,7 @@ "properties": [ { "type": "string", - "description": "The ID of The item after which to retrieve the next page.", + "description": "The ID of the item after which to retrieve the next page.", "example": "01631667477600000000000100100374", "api_fieldname": "after", "entity_fieldname": "after", @@ -22661,7 +22661,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer.", + "description": "Certificate issuer ID.", "example": "01234567890ABCDEF01234567890ABCDEF", "_key": "id" }, @@ -22670,7 +22670,7 @@ "additionalProperties": { "type": "string" }, - "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value shall be empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.\n", + "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value is empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.", "example": [], "_key": "issuer_attributes" }, @@ -22680,7 +22680,7 @@ "GLOBAL_SIGN", "CFSSL_AUTH" ], - "description": "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. The users must provide their own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n The users must provide their own CFSSL host_url and credentials.\n", + "description": "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. You must provide your own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n You must provide your own CFSSL host_url and credentials.", "example": "GLOBAL_SIGN", "_key": "issuer_type" }, @@ -22714,7 +22714,7 @@ }, { "type": "boolean", - "description": "Are there more results available.", + "description": "More results are available.", "example": false, "api_fieldname": "has_more", "entity_fieldname": "has_more", @@ -22722,7 +22722,7 @@ }, { "type": "integer", - "description": "How many objects to retrieve in the page. The minimum limit is 2 and the maximum is 1000. Limit values outside of this range are set to the closest limit.", + "description": "The number of results to return (2-1000). Values outside of this range are set to the closest limit.", "example": 50, "minimum": 2, "maximum": 1000, @@ -22737,7 +22737,7 @@ }, { "type": "string", - "description": "The type of this API object is a `list`.", + "description": "The type of this API object is `list`.", "example": "list", "api_fieldname": "object", "entity_fieldname": "object", @@ -22745,7 +22745,7 @@ }, { "type": "string", - "description": "The order of the records based on creation time, `ASC` or `DESC`; by default `ASC`.", + "description": "Record order. Acceptable values: ASC, DESC. Default: ASC.", "example": "DESC", "api_fieldname": "order", "entity_fieldname": "order", @@ -22940,7 +22940,7 @@ "fields": [ { "type": "string", - "description": "The ID of the certificate issuer.", + "description": "Certificate issuer ID.", "example": "01234567890ABCDEF01234567890ABCDEF", "api_fieldname": "id", "entity_fieldname": "id", @@ -22987,7 +22987,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer.", + "description": "Certificate issuer ID.", "example": "01234567890ABCDEF01234567890ABCDEF", "api_fieldname": "id", "entity_fieldname": "id", @@ -22998,7 +22998,7 @@ "additionalProperties": { "type": "string" }, - "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value shall be empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.\n", + "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value is empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.", "example": [], "api_fieldname": "issuer_attributes", "entity_fieldname": "issuer_attributes", @@ -23010,7 +23010,7 @@ "GLOBAL_SIGN", "CFSSL_AUTH" ], - "description": "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. The users must provide their own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n The users must provide their own CFSSL host_url and credentials.\n", + "description": "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. You must provide your own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n You must provide your own CFSSL host_url and credentials.", "example": "GLOBAL_SIGN", "api_fieldname": "issuer_type", "entity_fieldname": "issuer_type", @@ -23046,7 +23046,7 @@ "_key": "200" }, { - "description": "Validation error: The data used to get the certificate issuer failed validation.\n", + "description": "Validation error: The data used to get the certificate issuer failed validation.", "schema": { "type": "object", "required": [ @@ -23330,7 +23330,7 @@ "_key": "read" }, { - "description": "Update a certificate issuer.\n
\n**Example usage:**\n\n```\ncurl -X PUT \\\n-H 'authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000 \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n```\n", + "description": "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n```", "field_renames": [], "fields": [ { @@ -23348,7 +23348,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer.", + "description": "Certificate issuer ID.", "example": "01234567890ABCDEF01234567890ABCDEF", "api_fieldname": "id", "entity_fieldname": "id", @@ -23362,7 +23362,7 @@ "additionalProperties": { "type": "string" }, - "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value shall be empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.\n", + "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value is empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.", "example": [], "api_fieldname": "issuer_attributes", "entity_fieldname": "issuer_attributes", @@ -23376,7 +23376,7 @@ "additionalProperties": { "type": "string" }, - "description": "The credentials required for connecting to the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.\n", + "description": "The credentials required to connect to the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.", "example": [], "name": "issuer_credentials", "in": "body", @@ -23438,7 +23438,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer.", + "description": "Certificate issuer ID.", "example": "01234567890ABCDEF01234567890ABCDEF", "api_fieldname": "id", "entity_fieldname": "id", @@ -23449,7 +23449,7 @@ "additionalProperties": { "type": "string" }, - "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value shall be empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.\n", + "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value is empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.", "example": [], "api_fieldname": "issuer_attributes", "entity_fieldname": "issuer_attributes", @@ -23461,7 +23461,7 @@ "GLOBAL_SIGN", "CFSSL_AUTH" ], - "description": "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. The users must provide their own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n The users must provide their own CFSSL host_url and credentials.\n", + "description": "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. You must provide your own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n You must provide your own CFSSL host_url and credentials.", "example": "GLOBAL_SIGN", "api_fieldname": "issuer_type", "entity_fieldname": "issuer_type", @@ -23497,7 +23497,7 @@ "_key": "200" }, { - "description": "Validation error: The data used to update the certificate issuer failed validation.\n", + "description": "Validation error: The data used to update the certificate issuer failed validation.", "schema": { "type": "object", "required": [ @@ -23749,7 +23749,7 @@ "_key": "404" }, { - "description": "Conflict. A certificate issuer with this name already exists.\n", + "description": "Conflict. A certificate issuer with this name already exists.", "schema": { "type": "object", "required": [ @@ -23812,7 +23812,7 @@ "_key": "409" }, { - "description": "The request failed due to customer configured external service.\n", + "description": "The request failed due to customer-configured external service.", "schema": { "type": "object", "required": [ @@ -23904,13 +23904,13 @@ "_key": "update" }, { - "description": "A utility API that can be used to validate the user configuration before activating a certificate issuer.\nVerifies that the certificate issuer is accessible and can be used to generate certificates by Device Management.\n
\n**Note:**\nThe API requests the 3rd party CA to sign a test certificate.\nFor some 3rd party CAs, this operation may make use of the account quota.\n
\n**Example usage:**\n\n```\ncurl -X POST \\\n-H 'authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify\n```\n", + "description": "Validates the certificate issuer by sending a signing request for a test certificate. This should be done before the configuration is made active.\n
\n**Note:**\nThe API requests the 3rd party CA to sign a test certificate.\nFor some 3rd party CAs, this operation may use the account quota.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```", "field_renames": [], "fields": [ { "name": "certificate-issuer-id", "in": "path", - "description": "Certificate issuer ID.
The ID of the certificate issuer.\n", + "description": "Certificate issuer ID.", "required": true, "type": "string", "entity_fieldname": "id", @@ -23930,15 +23930,15 @@ "properties": [ { "type": "string", - "description": "Provides details in case of failure.\n", - "example": "message describing the verification failure", + "description": "Provides details in case of failure.", + "example": "Message describing the verification failure", "api_fieldname": "message", "entity_fieldname": "message", "_key": "message" }, { "type": "boolean", - "description": "Indicates whether the certificate issuer was verified successfully.\n", + "description": "Indicates whether the certificate issuer was verified successfully.", "example": false, "api_fieldname": "successful", "entity_fieldname": "successful", @@ -24205,7 +24205,7 @@ "_key": "404" }, { - "description": "The request failed due to customer configured external service.\n", + "description": "The request failed due to customer configured external service.", "schema": { "type": "object", "required": [ @@ -24326,7 +24326,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer.", + "description": "Certificate issuer ID.", "example": "01234567890ABCDEF01234567890ABCDEF", "api_fieldname": "id", "readOnly": false, @@ -24338,7 +24338,7 @@ "additionalProperties": { "type": "string" }, - "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value shall be empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.\n", + "description": "General attributes for connecting the certificate issuer.\nWhen the issuer_type is GLOBAL_SIGN, the value is empty.\nWhen the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.", "example": [], "api_fieldname": "issuer_attributes", "readOnly": false, @@ -24351,7 +24351,7 @@ "GLOBAL_SIGN", "CFSSL_AUTH" ], - "description": "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. The users must provide their own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n The users must provide their own CFSSL host_url and credentials.\n", + "description": "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued by GlobalSign service. You must provide your own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n You must provide your own CFSSL host_url and credentials.", "example": "GLOBAL_SIGN", "api_fieldname": "issuer_type", "readOnly": false, @@ -24387,13 +24387,13 @@ "primary_key_field": "id", "methods": [ { - "description": "Configure the certificate issuer to be used when creating the device custom certificates.\n
\n**Example usage:**\n\n```\ncurl -X POST \\\n-H 'authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```\n", + "description": "Configure the certificate issuer to use when creating device custom certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```", "field_renames": [], "fields": [ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "certificate_issuer_id", "entity_fieldname": "certificate_issuer_id", @@ -24425,7 +24425,7 @@ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "certificate_issuer_id", "entity_fieldname": "certificate_issuer_id", @@ -24450,7 +24450,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "id", "entity_fieldname": "id", @@ -24687,7 +24687,7 @@ "_key": "403" }, { - "description": "A certificate issuer configuration with this reference already exists.\n", + "description": "A certificate issuer configuration with this reference already exists.", "schema": { "type": "object", "required": [ @@ -24781,13 +24781,13 @@ "_key": "create" }, { - "description": "Delete the configured certificate issuer configuration.\nYou can only delete the configurations of custom certificates.\n", + "description": "Delete certificate issuer configuration.\nYou can only delete custom certificate configurations.", "field_renames": [], "fields": [ { "name": "certificate-issuer-configuration-id", "in": "path", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID configuration.", "required": true, "type": "string", "entity_fieldname": "id", @@ -25085,7 +25085,7 @@ "_key": "delete" }, { - "description": "Provides the configured certificate issuer to be used when creating device\ncertificates for LwM2M communication.
\n", + "description": "Provides the configured certificate issuer used when creating device\ncertificates for LwM2M.", "field_renames": [], "fields": [], "method": "get", @@ -25099,7 +25099,7 @@ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "certificate_issuer_id", "entity_fieldname": "certificate_issuer_id", @@ -25124,7 +25124,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "id", "entity_fieldname": "id", @@ -25394,12 +25394,12 @@ "_key": "get_default" }, { - "description": "Get certificate issuer configurations, optionally filtered by reference.\n
\n**Example usage:**\n\n```\ncurl \\\n-H 'authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n```\n```\ncurl \\\n-H 'authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \\\n```\nNote: This endpoint does not implement pagination and therefore, list control parameters such as `limit` or `after` will be ignored by the system.\n", + "description": "Get certificate issuer configurations, optionally filtered by reference.\n
\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n
\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n**Note:** This endpoint does not implement pagination, and therefore ignores list control parameters such as `limit` or `after`.", "field_renames": [], "fields": [ { "type": "string", - "description": "The ID of The item after which to retrieve the next page.", + "description": "The ID of the item after which to retrieve the next page.", "example": "01631667477600000000000100100374", "api_fieldname": "after", "entity_fieldname": "after", @@ -25411,7 +25411,7 @@ "_key": "after" }, { - "description": "Comma-separated list of data fields to return. Currently supported: `total_count`", + "description": "Comma-separated list of data fields to return. Currently supported: `total_count`.", "in": "query", "name": "include", "type": "string", @@ -25424,7 +25424,7 @@ }, { "type": "integer", - "description": "How many objects to retrieve in the page. The minimum limit is 2 and the maximum is 1000. Limit values outside of this range are set to the closest limit.", + "description": "The number of results to return (2-1000). Values outside of this range are set to the closest limit.", "example": 50, "minimum": 2, "maximum": 1000, @@ -25439,7 +25439,7 @@ }, { "type": "string", - "description": "The order of the records based on creation time, `ASC` or `DESC`; by default `ASC`.", + "description": "Record order. Acceptable values: ASC, DESC. Default: ASC.", "example": "DESC", "api_fieldname": "order", "entity_fieldname": "order", @@ -25475,7 +25475,7 @@ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "_key": "certificate_issuer_id" }, @@ -25494,7 +25494,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "_key": "id" }, @@ -25536,7 +25536,7 @@ }, { "type": "boolean", - "description": "Are there more results available.", + "description": "More results are available.", "example": false, "api_fieldname": "has_more", "entity_fieldname": "has_more", @@ -25544,7 +25544,7 @@ }, { "type": "integer", - "description": "How many objects to retrieve in the page. The minimum limit is 2 and the maximum is 1000. Limit values outside of this range are set to the closest limit.", + "description": "The number of results to return (2-1000). Values outside of this range are set to the closest limit.", "example": 50, "minimum": 2, "maximum": 1000, @@ -25554,7 +25554,7 @@ }, { "type": "string", - "description": "The type of this API object is a `list`.", + "description": "The type of this API object is `list`.", "example": "list", "api_fieldname": "object", "entity_fieldname": "object", @@ -25562,7 +25562,7 @@ }, { "type": "string", - "description": "The creation time based order of the entries.", + "description": "Record order based on creation time.", "example": "DESC", "api_fieldname": "order", "entity_fieldname": "order", @@ -25816,12 +25816,12 @@ "_key": "list" }, { - "description": "Provides the configured certificate issuer.\n", + "description": "Provides the configured certificate issuer.", "field_renames": [], "fields": [ { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "id", "entity_fieldname": "id", @@ -25842,7 +25842,7 @@ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "certificate_issuer_id", "entity_fieldname": "certificate_issuer_id", @@ -25867,7 +25867,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "id", "entity_fieldname": "id", @@ -26199,13 +26199,13 @@ "_key": "read" }, { - "description": "Update the configured certificate issuer configuration.\n", + "description": "Update certificate issuer configuration.", "field_renames": [], "fields": [ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "certificate_issuer_id", "entity_fieldname": "certificate_issuer_id", @@ -26216,7 +26216,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "id", "entity_fieldname": "id", @@ -26237,7 +26237,7 @@ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "certificate_issuer_id", "entity_fieldname": "certificate_issuer_id", @@ -26262,7 +26262,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "id", "entity_fieldname": "id", @@ -26603,7 +26603,7 @@ { "x-nullable": true, "type": "string", - "description": "The ID of the certificate issuer.\nNull if Device Management internal HSM is used.\n", + "description": "Certificate issuer ID.\nNull if Device Management internal HSM is used.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "certificate_issuer_id", "readOnly": false, @@ -26622,7 +26622,7 @@ }, { "type": "string", - "description": "The ID of the certificate issuer configuration.\n", + "description": "Certificate issuer ID. configuration.", "example": "01648415a2a30242ac18000500000000", "api_fieldname": "id", "readOnly": false, @@ -32112,7 +32112,7 @@ }, { "type": "string", - "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", + "description": "The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number", @@ -32469,7 +32469,7 @@ }, "serial_number": { "type": "string", - "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", + "description": "The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number" @@ -32947,7 +32947,7 @@ }, "serial_number": { "type": "string", - "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", + "description": "The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000" }, "state": { @@ -33754,7 +33754,7 @@ }, "serial_number": { "type": "string", - "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", + "description": "The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number" @@ -35169,7 +35169,7 @@ }, "serial_number": { "type": "string", - "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", + "description": "The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "entity_fieldname": "serial_number" @@ -35648,7 +35648,7 @@ }, { "type": "string", - "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", + "description": "The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000", "api_fieldname": "serial_number", "readOnly": false, @@ -37059,7 +37059,7 @@ ], "field_renames": [], "tags": [ - "Public API" + "Device ownership - enrollments" ], "group_id": "Devices", "_key": "device_enrollment" @@ -37143,6 +37143,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to error report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv", "api_fieldname": "errors_report_file", @@ -37160,6 +37161,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to full report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv", "api_fieldname": "full_report_file", @@ -37542,6 +37544,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to error report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv", "api_fieldname": "errors_report_file", @@ -37559,6 +37562,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to full report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv", "api_fieldname": "full_report_file", @@ -37913,6 +37917,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to error report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv", "api_fieldname": "errors_report_file", @@ -37922,6 +37927,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to full report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv", "api_fieldname": "full_report_file", @@ -37975,7 +37981,7 @@ ], "field_renames": [], "tags": [ - "Public API" + "Device ownership - enrollments" ], "group_id": "Devices", "_key": "device_enrollment_bulk_create" @@ -37987,7 +37993,7 @@ "primary_key_field": "id", "methods": [ { - "description": "With bulk delete, you can upload a `CSV` file containing a number of enrollment IDs to delete.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes\n\n```\n**To ensure your CSV file is valid:**\n1. The first line of the file (header) is ignored.\n1. Each line can contain comma-separated values, where the first value is the Enrollment ID. Everything after the first comma is ignored.\n1. Valid enrollments begin with A followed by a - and 95 characters (examples below).\n1. One enrollment ID per line. Empty lines are ignored.\n1. Trailing comma at the end of the line is optional.\n1. Lines are terminated with either a line feed \\n, a carriage return \\r, or both \\r\\n.\n1. Leading and trailing whitespace characters (Unicode U+0000 - U+0020) are removed from the identity before validation.\n1. Empty identities are ignored.\n1. Valid enrollment identities may be enclosed within quotation marks. Whitespace inside quotation marks is not trimmed and will cause validation to fail. Empty quotation marks are also invalid.\n1. Use UTF-8 encoding.\n\n**A valid enrollment file:**\n```\n\"Examples of valid identites, notes\"\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\",\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\"\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:24:44:71:22:15:43:23:12, This text is ignored,\n A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12 , Whitespace is trimmed before validation.\n \"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12\" , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A file containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\", First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Too-short identity.\n\"\", Empty quotation marks are an invalid identity.\n\" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12 \", Whitespace inside quotation marks is not trimmed, causing an error.\n\n```\n\n**An empty file:**\n```\n\"Examples of blank lines that are ignored.\"\n\n,,\n, This is also considered to a blank line.\n```", + "description": "With bulk delete, you can upload a `CSV` file containing a number of enrollment IDs to delete.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes\n\n```\n**To ensure your CSV file is valid:**\n1. The first line of the file (header) is ignored.\n1. Each line can contain comma-separated values, where the first value is the Enrollment ID. Everything after the first comma is ignored.\n1. Valid enrollments begin with A followed by a - and 95 characters (examples below).\n1. One enrollment ID per line. Empty lines are ignored.\n1. Trailing comma at the end of the line is optional.\n1. Lines are terminated with either a line feed \\n, a carriage return \\r, or both \\r\\n.\n1. Leading and trailing whitespace characters (Unicode U+0000 - U+0020) are removed from the identity before validation.\n1. Empty identities are ignored.\n1. Valid enrollment identities may be enclosed within quotation marks. Whitespace inside quotation marks is not trimmed and will cause validation to fail. Empty quotation marks are also invalid.\n1. Use UTF-8 encoding.\n\n**A valid enrollment file:**\n```\n\"Examples of valid identites, notes\"\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\",\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\"\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:24:44:71:22:15:43:23:12, This text is ignored,\n A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12 , Whitespace is trimmed before validation.\n \"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12\" , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A file containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\", First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23, Too-short identity.\n\"\", Empty quotation marks are an invalid identity.\n\" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12 \", Whitespace inside quotation marks is not trimmed, causing an error.\n\n```\n\n**An empty file:**\n```\n\"Examples of blank lines that are ignored.\"\n\n,,\n, This is also considered to a blank line.\n```", "field_renames": [], "fields": [ { @@ -38059,6 +38065,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to error report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv", "api_fieldname": "errors_report_file", @@ -38076,6 +38083,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to full report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv", "api_fieldname": "full_report_file", @@ -38461,6 +38469,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to error report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv", "api_fieldname": "errors_report_file", @@ -38478,6 +38487,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to full report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv", "api_fieldname": "full_report_file", @@ -38835,6 +38845,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to error report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv", "api_fieldname": "errors_report_file", @@ -38844,6 +38855,7 @@ }, { "type": "string", + "x-nullable": true, "description": "Link to full report file.\nNull when creating bulk upload or delete.", "example": "https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv", "api_fieldname": "full_report_file", @@ -38899,7 +38911,7 @@ ], "field_renames": [], "tags": [ - "Public API" + "Device ownership - enrollments" ], "group_id": "Devices", "_key": "device_enrollment_bulk_delete" @@ -41481,7 +41493,7 @@ }, "serial_number": { "type": "string", - "description": "The [serial number](../provisioning-process/provisioning-information.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", + "description": "The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing.", "example": "00000000-0000-0000-0000-000000000000" }, "state": { @@ -99826,8 +99838,8 @@ "fields": [ { "type": "string", - "description": "Provides details in case of failure.\n", - "example": "message describing the verification failure", + "description": "Provides details in case of failure.", + "example": "Message describing the verification failure", "api_fieldname": "message", "readOnly": true, "required": false, @@ -99835,7 +99847,7 @@ }, { "type": "boolean", - "description": "Indicates whether the certificate issuer was verified successfully.\n", + "description": "Indicates whether the certificate issuer was verified successfully.", "example": false, "api_fieldname": "successful", "readOnly": true, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index cea096ef5..741080a0b 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -15867,7 +15867,7 @@ entities: x-nullable: true - _key: id api_fieldname: id - description: The ID of the certificate issuer. + description: Certificate issuer ID. example: 01234567890ABCDEF01234567890ABCDEF readOnly: false required: true @@ -15878,21 +15878,19 @@ entities: api_fieldname: issuer_attributes description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. + When the issuer_type is GLOBAL_SIGN, the value is empty. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' example: [] readOnly: false required: false type: object - _key: issuer_type api_fieldname: issuer_type - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates\ - \ are issued by GlobalSign service. The users must provide their own GlobalSign\ - \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated\ - \ signing service.\n The users must provide their own CFSSL host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued\ + \ by GlobalSign service. You must provide your own GlobalSign account credentials.\n\ + - CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n\ + \ You must provide your own CFSSL host_url and credentials." enum: - GLOBAL_SIGN - CFSSL_AUTH @@ -15912,17 +15910,17 @@ entities: group_id: Security methods: - _key: create - description: "Create a certificate issuer.\nThe maximum number of issuers is limited\ - \ to 20 per account.\nMultiple certificate issuers of the same issuer type can\ - \ be created, provided they have a different name. This allows verification\ - \ of the certificate issuer configuration before activating it.\n
\n**Example\ - \ usage:**\n\n```\ncurl -X POST \\\n-H 'authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ - \ \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\"\ - ,\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\"\ - : null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\"\ - ,\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \ - \ \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ + description: "Create a certificate issuer.\n
\nThe maximum number of issuers\ + \ is limited to 20 per account.\n
\nYou can create multiple certificate issuers\ + \ of the same type, provided they have different names. This allows verification\ + \ of the certificate issuer configuration before activation.\n
\n**Example:**\n\ + ```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ + \ application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\"\ + ,\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate\ + \ issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \ + \ \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\"\ + ,\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ \ CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\\ nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\\ nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\\ @@ -15938,7 +15936,7 @@ entities: nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\\ n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\\ n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n }\n\ - }'\n```\n" + }'\n```" drop_fields: - object - etag @@ -15965,11 +15963,9 @@ entities: api_fieldname: issuer_attributes description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. - - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. + When the issuer_type is GLOBAL_SIGN, the value is empty. - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' entity_fieldname: issuer_attributes example: [] in: body @@ -15980,13 +15976,11 @@ entities: additionalProperties: type: string api_fieldname: issuer_credentials - description: 'The credentials required for connecting to the certificate issuer. + description: 'The credentials required to connect to the certificate issuer. When the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.' entity_fieldname: issuer_credentials example: [] external_param: true @@ -15998,11 +15992,10 @@ entities: type: object - _key: issuer_type api_fieldname: issuer_type - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates\ - \ are issued by GlobalSign service. The users must provide their own GlobalSign\ - \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL\ - \ authenticated signing service.\n The users must provide their own CFSSL\ - \ host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are issued\ + \ by GlobalSign service. You must provide your own GlobalSign account credentials.\n\ + - CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated signing service.\n\ + \ You must provide your own CFSSL host_url and credentials." entity_fieldname: issuer_type enum: - GLOBAL_SIGN @@ -16064,7 +16057,7 @@ entities: type: string - _key: id api_fieldname: id - description: The ID of the certificate issuer. + description: Certificate issuer ID. entity_fieldname: id example: 01234567890ABCDEF01234567890ABCDEF type: string @@ -16074,21 +16067,18 @@ entities: api_fieldname: issuer_attributes description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. + When the issuer_type is GLOBAL_SIGN, the value is empty. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' entity_fieldname: issuer_attributes example: [] type: object - _key: issuer_type api_fieldname: issuer_type - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates\ - \ are issued by GlobalSign service. The users must provide their own GlobalSign\ - \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL\ - \ authenticated signing service.\n The users must provide their own CFSSL\ - \ host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are\ + \ issued by GlobalSign service. You must provide your own GlobalSign account\ + \ credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated\ + \ signing service.\n You must provide your own CFSSL host_url and credentials." entity_fieldname: issuer_type enum: - GLOBAL_SIGN @@ -16113,9 +16103,7 @@ entities: type: object - _key: '400' description: 'Validation error: The data used to create the certificate issuer - failed validation. - - ' + failed validation.' schema: properties: - _key: code @@ -16235,9 +16223,7 @@ entities: - type type: object - _key: '409' - description: 'Conflict. A certificate issuer with this name already exists. - - ' + description: Conflict. A certificate issuer with this name already exists. schema: properties: - _key: code @@ -16277,9 +16263,7 @@ entities: - type type: object - _key: '424' - description: 'The request failed due to customer configured external service. - - ' + description: The request failed due to customer configured external service. schema: properties: - _key: code @@ -16331,20 +16315,16 @@ entities:
- **Example usage:** - + **Example:** ``` - curl -X DELETE \ - - -H ''authorization: '' \ - - https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 + \ - ``` + -H ''Authorization: Bearer '' \ - ' + ```' drop_fields: - object - etag @@ -16354,11 +16334,9 @@ entities: fields: - _key: id api_fieldname: certificate-issuer-id - description: 'Certificate issuer ID.
The ID of the certificate issuer. + description: 'Certificate issuer ID. - An active certificate issuer may not be deleted. - - ' + An active certificate issuer cannot be deleted.' entity_fieldname: id external_param: false in: path @@ -16380,9 +16358,7 @@ entities: - _key: '204' description: Certificate issuer deleted. - _key: '400' - description: 'Validation error: An active certificate issuer cannot be deleted. - - ' + description: 'Validation error: An active certificate issuer cannot be deleted.' schema: properties: - _key: code @@ -16550,10 +16526,8 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: 'Note: This endpoint does not implement pagination and therefore, - list control parameters such as `limit` or `after` will be ignored by the system. - - ' + description: '**Note:** This endpoint does not use pagination, and therefore ignores + list control parameters such as `limit` or `after`.' drop_fields: - object - etag @@ -16566,7 +16540,7 @@ entities: fields: - _key: after api_fieldname: after - description: The ID of The item after which to retrieve the next page. + description: The ID of the item after which to retrieve the next page. entity_fieldname: after example: '01631667477600000000000100100374' external_param: true @@ -16578,7 +16552,7 @@ entities: - _key: include api_fieldname: include description: 'Comma-separated list of data fields to return. Currently supported: - `total_count`' + `total_count`.' entity_fieldname: include external_param: true in: query @@ -16588,9 +16562,8 @@ entities: type: string - _key: limit api_fieldname: limit - description: How many objects to retrieve in the page. The minimum limit is - 2 and the maximum is 1000. Limit values outside of this range are set to the - closest limit. + description: The number of results to return (2-1000). Values outside of this + range are set to the closest limit. entity_fieldname: limit example: 50 external_param: true @@ -16603,8 +16576,7 @@ entities: type: integer - _key: order api_fieldname: order - description: The order of the records based on creation time, `ASC` or `DESC`; - by default `ASC`. + description: 'Record order. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order example: DESC external_param: true @@ -16638,7 +16610,7 @@ entities: properties: - _key: after api_fieldname: after - description: The ID of The item after which to retrieve the next page. + description: The ID of the item after which to retrieve the next page. entity_fieldname: after example: '01631667477600000000000100100374' external_param: true @@ -16672,7 +16644,7 @@ entities: example: '1' type: string - _key: id - description: The ID of the certificate issuer. + description: Certificate issuer ID. example: 01234567890ABCDEF01234567890ABCDEF type: string - _key: issuer_attributes @@ -16680,19 +16652,17 @@ entities: type: string description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. + When the issuer_type is GLOBAL_SIGN, the value is empty. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' example: [] type: object - _key: issuer_type - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n\ - \ Certificates are issued by GlobalSign service. The users must provide\ - \ their own GlobalSign account credentials.\n- CFSSL_AUTH:\n Certificates\ - \ are issued by CFSSL authenticated signing service.\n The users\ - \ must provide their own CFSSL host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates\ + \ are issued by GlobalSign service. You must provide your own GlobalSign\ + \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by\ + \ CFSSL authenticated signing service.\n You must provide your own\ + \ CFSSL host_url and credentials." enum: - GLOBAL_SIGN - CFSSL_AUTH @@ -16713,15 +16683,14 @@ entities: type: array - _key: has_more api_fieldname: has_more - description: Are there more results available. + description: More results are available. entity_fieldname: has_more example: false type: boolean - _key: limit api_fieldname: limit - description: How many objects to retrieve in the page. The minimum limit - is 2 and the maximum is 1000. Limit values outside of this range are set - to the closest limit. + description: The number of results to return (2-1000). Values outside of + this range are set to the closest limit. entity_fieldname: limit example: 50 external_param: true @@ -16734,14 +16703,13 @@ entities: type: integer - _key: object api_fieldname: object - description: The type of this API object is a `list`. + description: The type of this API object is `list`. entity_fieldname: object example: list type: string - _key: order api_fieldname: order - description: The order of the records based on creation time, `ASC` or `DESC`; - by default `ASC`. + description: 'Record order. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order example: DESC external_param: true @@ -16861,7 +16829,7 @@ entities: fields: - _key: id api_fieldname: id - description: The ID of the certificate issuer. + description: Certificate issuer ID. entity_fieldname: id example: 01234567890ABCDEF01234567890ABCDEF in: path @@ -16909,7 +16877,7 @@ entities: type: string - _key: id api_fieldname: id - description: The ID of the certificate issuer. + description: Certificate issuer ID. entity_fieldname: id example: 01234567890ABCDEF01234567890ABCDEF type: string @@ -16919,21 +16887,18 @@ entities: api_fieldname: issuer_attributes description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. - - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. + When the issuer_type is GLOBAL_SIGN, the value is empty. - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' entity_fieldname: issuer_attributes example: [] type: object - _key: issuer_type api_fieldname: issuer_type - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates\ - \ are issued by GlobalSign service. The users must provide their own GlobalSign\ - \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL\ - \ authenticated signing service.\n The users must provide their own CFSSL\ - \ host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are\ + \ issued by GlobalSign service. You must provide your own GlobalSign account\ + \ credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated\ + \ signing service.\n You must provide your own CFSSL host_url and credentials." entity_fieldname: issuer_type enum: - GLOBAL_SIGN @@ -16958,9 +16923,7 @@ entities: type: object - _key: '400' description: 'Validation error: The data used to get the certificate issuer - failed validation. - - ' + failed validation.' schema: properties: - _key: code @@ -17128,11 +17091,12 @@ entities: x_deprecation: null x_filter: {} - _key: update - description: "Update a certificate issuer.\n
\n**Example usage:**\n\n```\n\ - curl -X PUT \\\n-H 'authorization: ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ - \ \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\"\ - ,\n \"name\": \"GlobalSign Issuer\"\n}'\n```\n" + description: "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X\ + \ PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ + \ application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign\ + \ certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n\ + ```" drop_fields: - object - etag @@ -17155,7 +17119,7 @@ entities: x-nullable: true - _key: id api_fieldname: id - description: The ID of the certificate issuer. + description: Certificate issuer ID. entity_fieldname: id example: 01234567890ABCDEF01234567890ABCDEF in: path @@ -17168,11 +17132,9 @@ entities: api_fieldname: issuer_attributes description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. + When the issuer_type is GLOBAL_SIGN, the value is empty. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' entity_fieldname: issuer_attributes example: [] in: body @@ -17183,13 +17145,11 @@ entities: additionalProperties: type: string api_fieldname: issuer_credentials - description: 'The credentials required for connecting to the certificate issuer. + description: 'The credentials required to connect to the certificate issuer. When the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials. - When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials. - - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.' entity_fieldname: issuer_credentials example: [] external_param: true @@ -17250,7 +17210,7 @@ entities: type: string - _key: id api_fieldname: id - description: The ID of the certificate issuer. + description: Certificate issuer ID. entity_fieldname: id example: 01234567890ABCDEF01234567890ABCDEF type: string @@ -17260,21 +17220,18 @@ entities: api_fieldname: issuer_attributes description: 'General attributes for connecting the certificate issuer. - When the issuer_type is GLOBAL_SIGN, the value shall be empty. - - When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes. + When the issuer_type is GLOBAL_SIGN, the value is empty. - ' + When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' entity_fieldname: issuer_attributes example: [] type: object - _key: issuer_type api_fieldname: issuer_type - description: "The type of the certificate issuer.\n- GLOBAL_SIGN:\n Certificates\ - \ are issued by GlobalSign service. The users must provide their own GlobalSign\ - \ account credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL\ - \ authenticated signing service.\n The users must provide their own CFSSL\ - \ host_url and credentials.\n" + description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are\ + \ issued by GlobalSign service. You must provide your own GlobalSign account\ + \ credentials.\n- CFSSL_AUTH:\n Certificates are issued by CFSSL authenticated\ + \ signing service.\n You must provide your own CFSSL host_url and credentials." entity_fieldname: issuer_type enum: - GLOBAL_SIGN @@ -17299,9 +17256,7 @@ entities: type: object - _key: '400' description: 'Validation error: The data used to update the certificate issuer - failed validation. - - ' + failed validation.' schema: properties: - _key: code @@ -17461,9 +17416,7 @@ entities: - type type: object - _key: '409' - description: 'Conflict. A certificate issuer with this name already exists. - - ' + description: Conflict. A certificate issuer with this name already exists. schema: properties: - _key: code @@ -17503,9 +17456,7 @@ entities: - type type: object - _key: '424' - description: 'The request failed due to customer configured external service. - - ' + description: The request failed due to customer-configured external service. schema: properties: - _key: code @@ -17553,11 +17504,8 @@ entities: x_deprecation: null x_filter: {} - _key: verify - description: 'A utility API that can be used to validate the user configuration - before activating a certificate issuer. - - Verifies that the certificate issuer is accessible and can be used to generate - certificates by Device Management. + description: 'Validates the certificate issuer by sending a signing request for + a test certificate. This should be done before the configuration is made active.
@@ -17565,26 +17513,22 @@ entities: The API requests the 3rd party CA to sign a test certificate. - For some 3rd party CAs, this operation may make use of the account quota. + For some 3rd party CAs, this operation may use the account quota.
- **Example usage:** - + **Example:** ``` - curl -X POST \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify + \ - -H ''authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ - https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify - - ``` - - ' + ```' drop_fields: - object - etag @@ -17596,9 +17540,7 @@ entities: fields: - _key: id api_fieldname: certificate-issuer-id - description: 'Certificate issuer ID.
The ID of the certificate issuer. - - ' + description: Certificate issuer ID. entity_fieldname: id external_param: false in: path @@ -17629,17 +17571,13 @@ entities: properties: - _key: message api_fieldname: message - description: 'Provides details in case of failure. - - ' + description: Provides details in case of failure. entity_fieldname: message - example: message describing the verification failure + example: Message describing the verification failure type: string - _key: successful api_fieldname: successful - description: 'Indicates whether the certificate issuer was verified successfully. - - ' + description: Indicates whether the certificate issuer was verified successfully. entity_fieldname: successful example: false type: boolean @@ -17805,9 +17743,7 @@ entities: - type type: object - _key: '424' - description: 'The request failed due to customer configured external service. - - ' + description: The request failed due to customer configured external service. schema: properties: - _key: code @@ -17869,11 +17805,9 @@ entities: fields: - _key: certificate_issuer_id api_fieldname: certificate_issuer_id - description: 'The ID of the certificate issuer. + description: 'Certificate issuer ID. - Null if Device Management internal HSM is used. - - ' + Null if Device Management internal HSM is used.' example: 01648415a2a30242ac18000500000000 readOnly: false required: true @@ -17889,9 +17823,7 @@ entities: type: string - _key: id api_fieldname: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. example: 01648415a2a30242ac18000500000000 readOnly: false required: true @@ -17915,12 +17847,11 @@ entities: group_id: Security methods: - _key: create - description: "Configure the certificate issuer to be used when creating the device\ - \ custom certificates.\n
\n**Example usage:**\n\n```\ncurl -X POST \\\n-H\ - \ 'authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ - \ \\\nhttps://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ - \ \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\"\ - : \"01621a36719d507b9d48a91b00000000\"\n}'\n```\n" + description: "Configure the certificate issuer to use when creating device custom\ + \ certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ + \ application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\"\ + ,\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```" drop_fields: - object - etag @@ -17934,11 +17865,9 @@ entities: fields: - _key: certificate_issuer_id api_fieldname: certificate_issuer_id - description: 'The ID of the certificate issuer. - - Null if Device Management internal HSM is used. + description: 'Certificate issuer ID. - ' + Null if Device Management internal HSM is used.' entity_fieldname: certificate_issuer_id example: 01648415a2a30242ac18000500000000 in: body @@ -17976,11 +17905,9 @@ entities: properties: - _key: certificate_issuer_id api_fieldname: certificate_issuer_id - description: 'The ID of the certificate issuer. - - Null if Device Management internal HSM is used. + description: 'Certificate issuer ID. - ' + Null if Device Management internal HSM is used.' entity_fieldname: certificate_issuer_id example: 01648415a2a30242ac18000500000000 type: string @@ -18000,9 +17927,7 @@ entities: type: string - _key: id api_fieldname: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. entity_fieldname: id example: 01648415a2a30242ac18000500000000 type: string @@ -18153,10 +18078,8 @@ entities: - type type: object - _key: '409' - description: 'A certificate issuer configuration with this reference already + description: A certificate issuer configuration with this reference already exists. - - ' schema: properties: - _key: code @@ -18204,11 +18127,9 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: 'Delete the configured certificate issuer configuration. - - You can only delete the configurations of custom certificates. + description: 'Delete certificate issuer configuration. - ' + You can only delete custom certificate configurations.' drop_fields: - object - etag @@ -18219,9 +18140,7 @@ entities: fields: - _key: id api_fieldname: certificate-issuer-configuration-id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID configuration. entity_fieldname: id external_param: false in: path @@ -18411,12 +18330,9 @@ entities: x_deprecation: null x_filter: {} - _key: get_default - description: 'Provides the configured certificate issuer to be used when creating - device + description: 'Provides the configured certificate issuer used when creating device - certificates for LwM2M communication.
- - ' + certificates for LwM2M.' drop_fields: - object - etag @@ -18450,11 +18366,9 @@ entities: properties: - _key: certificate_issuer_id api_fieldname: certificate_issuer_id - description: 'The ID of the certificate issuer. + description: 'Certificate issuer ID. - Null if Device Management internal HSM is used. - - ' + Null if Device Management internal HSM is used.' entity_fieldname: certificate_issuer_id example: 01648415a2a30242ac18000500000000 type: string @@ -18474,9 +18388,7 @@ entities: type: string - _key: id api_fieldname: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. entity_fieldname: id example: 01648415a2a30242ac18000500000000 type: string @@ -18639,38 +18551,34 @@ entities:
- **Example usage:** - + **Example:** ``` - curl \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations + \ - -H ''authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ - https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \ - ``` +
+ ``` - curl \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms + \ - -H ''authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ - https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms - \ - ``` - Note: This endpoint does not implement pagination and therefore, list control - parameters such as `limit` or `after` will be ignored by the system. - - ' + **Note:** This endpoint does not implement pagination, and therefore ignores + list control parameters such as `limit` or `after`.' drop_fields: - object - etag @@ -18685,7 +18593,7 @@ entities: fields: - _key: after api_fieldname: after - description: The ID of The item after which to retrieve the next page. + description: The ID of the item after which to retrieve the next page. entity_fieldname: after example: '01631667477600000000000100100374' external_param: true @@ -18697,7 +18605,7 @@ entities: - _key: include api_fieldname: include description: 'Comma-separated list of data fields to return. Currently supported: - `total_count`' + `total_count`.' entity_fieldname: include external_param: true in: query @@ -18707,9 +18615,8 @@ entities: type: string - _key: limit api_fieldname: limit - description: How many objects to retrieve in the page. The minimum limit is - 2 and the maximum is 1000. Limit values outside of this range are set to the - closest limit. + description: The number of results to return (2-1000). Values outside of this + range are set to the closest limit. entity_fieldname: limit example: 50 external_param: true @@ -18722,8 +18629,7 @@ entities: type: integer - _key: order api_fieldname: order - description: The order of the records based on creation time, `ASC` or `DESC`; - by default `ASC`. + description: 'Record order. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order example: DESC external_param: true @@ -18771,11 +18677,9 @@ entities: group: Security properties: - _key: certificate_issuer_id - description: 'The ID of the certificate issuer. - - Null if Device Management internal HSM is used. + description: 'Certificate issuer ID. - ' + Null if Device Management internal HSM is used.' example: 01648415a2a30242ac18000500000000 type: string x-nullable: true @@ -18789,9 +18693,7 @@ entities: example: '1' type: string - _key: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. example: 01648415a2a30242ac18000500000000 type: string - _key: is_custom @@ -18815,15 +18717,14 @@ entities: type: array - _key: has_more api_fieldname: has_more - description: Are there more results available. + description: More results are available. entity_fieldname: has_more example: false type: boolean - _key: limit api_fieldname: limit - description: How many objects to retrieve in the page. The minimum limit - is 2 and the maximum is 1000. Limit values outside of this range are set - to the closest limit. + description: The number of results to return (2-1000). Values outside of + this range are set to the closest limit. entity_fieldname: limit example: 50 maximum: 1000 @@ -18831,13 +18732,13 @@ entities: type: integer - _key: object api_fieldname: object - description: The type of this API object is a `list`. + description: The type of this API object is `list`. entity_fieldname: object example: list type: string - _key: order api_fieldname: order - description: The creation time based order of the entries. + description: Record order based on creation time. entity_fieldname: order example: DESC type: string @@ -18979,9 +18880,7 @@ entities: reference: - eq - _key: read - description: 'Provides the configured certificate issuer. - - ' + description: Provides the configured certificate issuer. drop_fields: - object - etag @@ -18996,9 +18895,7 @@ entities: fields: - _key: id api_fieldname: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. entity_fieldname: id example: 01648415a2a30242ac18000500000000 in: path @@ -19025,11 +18922,9 @@ entities: properties: - _key: certificate_issuer_id api_fieldname: certificate_issuer_id - description: 'The ID of the certificate issuer. + description: 'Certificate issuer ID. - Null if Device Management internal HSM is used. - - ' + Null if Device Management internal HSM is used.' entity_fieldname: certificate_issuer_id example: 01648415a2a30242ac18000500000000 type: string @@ -19049,9 +18944,7 @@ entities: type: string - _key: id api_fieldname: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. entity_fieldname: id example: 01648415a2a30242ac18000500000000 type: string @@ -19254,9 +19147,7 @@ entities: - notes: After retrieving the resource using the `lwm2m` method, it can modified using using this SDK method. operation_id: updateCertificateIssuerConfig - description: 'Update the configured certificate issuer configuration. - - ' + description: Update certificate issuer configuration. drop_fields: - object - etag @@ -19270,11 +19161,9 @@ entities: fields: - _key: certificate_issuer_id api_fieldname: certificate_issuer_id - description: 'The ID of the certificate issuer. - - Null if Device Management internal HSM is used. + description: 'Certificate issuer ID. - ' + Null if Device Management internal HSM is used.' entity_fieldname: certificate_issuer_id example: 01648415a2a30242ac18000500000000 in: body @@ -19284,9 +19173,7 @@ entities: x-nullable: true - _key: id api_fieldname: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. entity_fieldname: id example: 01648415a2a30242ac18000500000000 in: path @@ -19313,11 +19200,9 @@ entities: properties: - _key: certificate_issuer_id api_fieldname: certificate_issuer_id - description: 'The ID of the certificate issuer. + description: 'Certificate issuer ID. - Null if Device Management internal HSM is used. - - ' + Null if Device Management internal HSM is used.' entity_fieldname: certificate_issuer_id example: 01648415a2a30242ac18000500000000 type: string @@ -19337,9 +19222,7 @@ entities: type: string - _key: id api_fieldname: id - description: 'The ID of the certificate issuer configuration. - - ' + description: Certificate issuer ID. configuration. entity_fieldname: id example: 01648415a2a30242ac18000500000000 type: string @@ -23828,7 +23711,7 @@ entities: type: boolean - _key: serial_number api_fieldname: serial_number - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. example: 00000000-0000-0000-0000-000000000000 readOnly: false @@ -24318,7 +24201,7 @@ entities: type: string - _key: serial_number api_fieldname: serial_number - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. entity_fieldname: serial_number example: 00000000-0000-0000-0000-000000000000 @@ -24676,7 +24559,7 @@ entities: type: boolean serial_number: api_fieldname: serial_number - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. entity_fieldname: serial_number @@ -25254,7 +25137,7 @@ entities: description: Device has been suspended by operator. type: boolean serial_number: - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. example: 00000000-0000-0000-0000-000000000000 @@ -25900,7 +25783,7 @@ entities: type: boolean serial_number: api_fieldname: serial_number - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. entity_fieldname: serial_number @@ -27040,7 +26923,7 @@ entities: type: boolean serial_number: api_fieldname: serial_number - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. entity_fieldname: serial_number @@ -28179,7 +28062,7 @@ entities: - EnrollmentIdentities - EnrollmentIdentity tags: - - Public API + - Device ownership - enrollments - _key: device_enrollment_bulk_create field_renames: [] fields: @@ -28222,6 +28105,7 @@ entities: readOnly: true required: false type: string + x-nullable: true - _key: full_report_file api_fieldname: full_report_file description: 'Link to full report file. @@ -28231,6 +28115,7 @@ entities: readOnly: true required: false type: string + x-nullable: true - _key: id api_fieldname: id description: Bulk ID @@ -28379,6 +28264,7 @@ entities: entity_fieldname: errors_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv type: string + x-nullable: true - _key: etag api_fieldname: etag description: etag @@ -28394,6 +28280,7 @@ entities: entity_fieldname: full_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv type: string + x-nullable: true - _key: id api_fieldname: id description: Bulk ID @@ -28737,6 +28624,7 @@ entities: entity_fieldname: errors_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv type: string + x-nullable: true - _key: etag api_fieldname: etag description: etag @@ -28752,6 +28640,7 @@ entities: entity_fieldname: full_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv type: string + x-nullable: true - _key: id api_fieldname: id description: Bulk ID @@ -28960,7 +28849,7 @@ entities: swagger_models: - BulkResponse tags: - - Public API + - Device ownership - enrollments - _key: device_enrollment_bulk_delete field_renames: [] fields: @@ -29003,6 +28892,7 @@ entities: readOnly: true required: false type: string + x-nullable: true - _key: full_report_file api_fieldname: full_report_file description: 'Link to full report file. @@ -29012,6 +28902,7 @@ entities: readOnly: true required: false type: string + x-nullable: true - _key: id api_fieldname: id description: Bulk ID @@ -29078,7 +28969,7 @@ entities: \ , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A file\ \ containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\"\ , First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12,\ - \ Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12,\ + \ Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23,\ \ Too-short identity.\n\"\", Empty quotation marks are an invalid identity.\n\ \" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\ \ \", Whitespace inside quotation marks is not trimmed, causing an error.\n\n\ @@ -29162,6 +29053,7 @@ entities: entity_fieldname: errors_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv type: string + x-nullable: true - _key: etag api_fieldname: etag description: etag @@ -29177,6 +29069,7 @@ entities: entity_fieldname: full_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv type: string + x-nullable: true - _key: id api_fieldname: id description: Bulk ID @@ -29523,6 +29416,7 @@ entities: entity_fieldname: errors_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/errors_report.csv type: string + x-nullable: true - _key: etag api_fieldname: etag description: etag @@ -29538,6 +29432,7 @@ entities: entity_fieldname: full_report_file example: https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/2d238a89038b4ddb84699dd36a901063/full_report.csv type: string + x-nullable: true - _key: id api_fieldname: id description: Bulk ID @@ -29749,7 +29644,7 @@ entities: swagger_models: - BulkResponse tags: - - Public API + - Device ownership - enrollments - _key: device_enrollment_denial field_renames: [] fields: @@ -31955,7 +31850,7 @@ entities: description: Device has been suspended by operator. type: boolean serial_number: - description: The [serial number](../provisioning-process/provisioning-information.html#serial-number) + description: The [serial number](https://www.pelion.com/docs/device-management-provision/latest/provisioning-info/lwm2m-device-object.html#serial-number) of the device. The serial number is injected by the factory tool during manufacturing. example: 00000000-0000-0000-0000-000000000000 @@ -76290,18 +76185,14 @@ entities: fields: - _key: message api_fieldname: message - description: 'Provides details in case of failure. - - ' - example: message describing the verification failure + description: Provides details in case of failure. + example: Message describing the verification failure readOnly: true required: false type: string - _key: successful api_fieldname: successful - description: 'Indicates whether the certificate issuer was verified successfully. - - ' + description: Indicates whether the certificate issuer was verified successfully. example: false readOnly: true required: false From c2a5bc8f99de21b08617aaf9b7d41f64cb9959ca Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 10 Mar 2020 07:52:43 +0000 Subject: [PATCH 058/111] new SDK config changes via api-contract @ 2020-03-10 07:52 --- api_specifications/public/pelion_dm_public_openapi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index caf97ba9d..9557be736 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7734,6 +7734,7 @@ definitions: enum: - connected - disconnected + - unknown example: disconnected type: string type: object From 7171869059428c0b344504b3fc5f466db01179d0 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 10 Mar 2020 09:56:46 +0000 Subject: [PATCH 059/111] new SDK config changes via api-contract @ 2020-03-10 09:56 --- .../public/pelion_dm_public_openapi.yaml | 198 ++++++++++-------- 1 file changed, 106 insertions(+), 92 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 9557be736..33387afbe 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1484,7 +1484,7 @@ definitions: type: string reference: description: Color name. - enum: &id024 + enum: &id001 - error_color - primary - secondary @@ -1554,6 +1554,20 @@ definitions: - object - total_count type: object + BrandingColorUpdate: + properties: + color: + description: The color given as name (purple) or as a hex code. + example: '#f3f93e' + type: string + x-nullable: true + reference: + description: Color name. + enum: *id001 + type: string + required: + - reference + type: object BrandingImage: properties: object: @@ -1765,7 +1779,7 @@ definitions: description: The device's campaign ID. example: 015bf72fccda00000000000100100280 type: string - created_at: &id013 + created_at: &id014 description: The time the entity was created. example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -1789,7 +1803,7 @@ definitions: description: The device ID. example: 015c2fec9bba0000000000010010036f type: string - etag: &id014 + etag: &id015 description: API resource entity version. example: '2017-05-22T12:37:58.753425Z' type: string @@ -1812,7 +1826,7 @@ definitions: object: description: 'The entity name: always ''update-campaign-device-metadata''.' type: string - updated_at: &id015 + updated_at: &id016 description: The time the entity was updated. example: '2017-05-22T12:37:55.576563Z' format: date-time @@ -2012,7 +2026,7 @@ definitions: type: object CertificateIssuerConfigListResponse: properties: - after: &id001 + after: &id002 description: An offset token for current page. example: '01631667477600000000000100100374' type: string @@ -2021,26 +2035,26 @@ definitions: items: $ref: '#/definitions/CertificateIssuerConfigResponse' type: array - has_more: &id002 + has_more: &id003 description: More results are available. example: false type: boolean - limit: &id003 + limit: &id004 description: The number of results to return (2-1000). Values outside of this range are set to the closest limit. example: 50 maximum: 1000 minimum: 2 type: integer - object: &id004 + object: &id005 description: The type of this API object is `list`. example: list type: string - order: &id005 + order: &id006 description: Record order based on creation time. example: DESC type: string - total_count: &id006 + total_count: &id007 example: 1 format: integer type: integer @@ -2118,14 +2132,14 @@ definitions: example: 01234567890ABCDEF01234567890ABCDEF type: string issuer_attributes: - additionalProperties: &id007 + additionalProperties: &id008 type: string description: 'General attributes for connecting the certificate issuer. When the issuer_type is GLOBAL_SIGN, the value is empty. When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' - example: &id008 {} + example: &id009 {} type: object issuer_type: description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are\ @@ -2151,17 +2165,17 @@ definitions: type: object CertificateIssuerInfoListResponse: properties: - after: *id001 + after: *id002 data: description: List of certificate issuers. items: $ref: '#/definitions/CertificateIssuerInfo' type: array - has_more: *id002 - limit: *id003 - object: *id004 - order: *id005 - total_count: *id006 + has_more: *id003 + limit: *id004 + object: *id005 + order: *id006 + total_count: *id007 type: object CertificateIssuerRequest: example: @@ -2187,23 +2201,23 @@ definitions: type: string x-nullable: true issuer_attributes: - additionalProperties: *id007 + additionalProperties: *id008 description: 'General attributes for connecting the certificate issuer. When the issuer_type is GLOBAL_SIGN, the value is empty. When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' - example: *id008 + example: *id009 type: object issuer_credentials: - additionalProperties: &id009 + additionalProperties: &id010 type: string description: 'The credentials required to connect to the certificate issuer. When the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials. When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.' - example: &id010 {} + example: &id011 {} type: object issuer_type: description: "Certificate issuer type.\n- GLOBAL_SIGN:\n Certificates are\ @@ -2234,22 +2248,22 @@ definitions: type: string x-nullable: true issuer_attributes: - additionalProperties: *id007 + additionalProperties: *id008 description: 'General attributes for connecting the certificate issuer. When the issuer_type is GLOBAL_SIGN, the value is empty. When the issuer_type is CFSSL_AUTH, see definition of CfsslAttributes.' - example: *id008 + example: *id009 type: object issuer_credentials: - additionalProperties: *id009 + additionalProperties: *id010 description: 'The credentials required to connect to the certificate issuer. When the issuer_type is GLOBAL_SIGN, see definition of GlobalSignCredentials. When the issuer_type is CFSSL_AUTH, see definition of CfsslAuthCredentials.' - example: *id010 + example: *id011 type: object name: description: Certificate issuer name. @@ -2345,7 +2359,7 @@ definitions: type: object CreateTrustAnchorResponse: properties: - created_at: &id016 + created_at: &id017 description: Creation UTC time. example: '2017-01-01T00:00:00Z' format: date-time @@ -2356,7 +2370,7 @@ definitions: maxLength: 256 minLength: 1 type: string - etag: &id017 + etag: &id018 description: Entity instance signature, 1 or Unix timestamp of last customer update. example: '1' @@ -2367,7 +2381,7 @@ definitions: DER format. format: byte type: string - id: &id018 + id: &id019 description: The ID of the entity. example: 01612df56f3b0a580a010fc700000000 pattern: '[A-Fa-f0-9]{32}' @@ -2380,7 +2394,7 @@ definitions: description: The generated trust anchor public key in Base64-encoded DER format. format: byte type: string - updated_at: &id019 + updated_at: &id020 description: Update UTC time. example: '2017-01-01T00:00:00Z' format: date-time @@ -2605,7 +2619,7 @@ definitions: example: '' maxLength: 32 type: string - device_execution_mode: &id011 + device_execution_mode: &id012 default: 0 description: "The execution mode from the certificate of the device. Defaults\ \ to inheriting from host_gateway device.\nPermitted values:\n - 0 - Unspecified\ @@ -2668,7 +2682,7 @@ definitions: Management APIs. example: '00000000000000000000000000000000' type: string - issuer_fingerprint: &id012 + issuer_fingerprint: &id013 description: SHA256 fingerprint of the certificate used to validate the signature of the device certificate. example: C42EDEFC75871E4CE2146FCDA67D03DDA05CC26FDF93B17B55F42C1EADFDC322 @@ -2847,7 +2861,7 @@ definitions: description: An ID representing the model and hardware revision of the device. maxLength: 32 type: string - device_execution_mode: *id011 + device_execution_mode: *id012 device_key: description: The fingerprint of the device certificate. example: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 @@ -2868,7 +2882,7 @@ definitions: description: The ID of the host gateway, if appropriate. example: '' type: string - issuer_fingerprint: *id012 + issuer_fingerprint: *id013 manifest: description: 'DEPRECATED: The URL for the current device manifest.' example: '' @@ -4053,7 +4067,7 @@ definitions: type: object FirmwareImage: properties: - created_at: *id013 + created_at: *id014 datafile: description: The firmware image file URL. example: http://bucket.com/myimage.elf @@ -4071,7 +4085,7 @@ definitions: example: a description maxLength: 2000 type: string - etag: *id014 + etag: *id015 id: description: The firmware image ID. example: 016e652be671000000000001001001e5 @@ -4083,7 +4097,7 @@ definitions: object: description: 'Entity name: always ''firmware-image''.' type: string - updated_at: *id015 + updated_at: *id016 FirmwareImageEqNeqFilter: properties: created_at: @@ -4180,7 +4194,7 @@ definitions: type: integer FirmwareManifest: properties: - created_at: *id013 + created_at: *id014 datafile: description: The URL of the ASN.1 DER-encoded firmware manifest binary. example: http://bucket.com/mymanifest.manifest @@ -4226,7 +4240,7 @@ definitions: example: 5d645eae-c231-5a89-9764-2e655cd94fa8 format: uuid type: string - etag: *id014 + etag: *id015 id: description: The firmware manifest ID. example: '12345678901234567890123456789012' @@ -4273,7 +4287,7 @@ definitions: is performed. Allows the application to make application-specific decisions. format: int64 type: integer - updated_at: *id015 + updated_at: *id016 FirmwareManifestEqNeqFilter: properties: created_at: @@ -6427,21 +6441,21 @@ definitions: type: integer TrustAnchorResponse: properties: - created_at: *id016 + created_at: *id017 description: description: The updated notes about the trust anchor. format: free text maxLength: 256 minLength: 1 type: string - etag: *id017 + etag: *id018 fingerprint: description: The SHA256 of the trust anchor public key; the prefix 'mbed.ta.' followed by the trust anchor public key as a SHA256 hash in Base64-encoded DER format. format: byte type: string - id: *id018 + id: *id019 public_key: description: The trust anchor public key in PEM format. format: byte @@ -6450,7 +6464,7 @@ definitions: description: The generated trust anchor public key in Base64-encoded DER format. format: byte type: string - updated_at: *id019 + updated_at: *id020 type: object TrustedCertificateReq: description: Represents a trusted certificate in upload requests. @@ -6748,7 +6762,7 @@ definitions: example: '85.00' format: double type: number - campaign_strategy: &id020 + campaign_strategy: &id021 default: one-shot description: How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that @@ -6758,7 +6772,7 @@ definitions: - one-shot - continuous type: string - created_at: *id013 + created_at: *id014 description: description: An optional description of the campaign. example: This campaign updates Class XX devices to version 1.34 @@ -6769,7 +6783,7 @@ definitions: using the filter ID. example: state__eq=registered type: string - etag: *id014 + etag: *id015 finished: description: The time the campaign finished. example: '2017-05-22T12:37:55.576563Z' @@ -6858,7 +6872,7 @@ definitions: example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - updated_at: *id015 + updated_at: *id016 when: description: The scheduled start time for the campaign. The campaign will start within 1 minute when then start time has elapsed. @@ -7006,7 +7020,7 @@ definitions: autostop_success_percent: default: 100.0 type: number - campaign_strategy: *id020 + campaign_strategy: *id021 description: description: An optional description of the campaign. example: a description @@ -7072,21 +7086,21 @@ definitions: type: object UpdateTrustAnchorResponse: properties: - created_at: *id016 + created_at: *id017 description: description: The updated notes about the trust anchor. format: free text maxLength: 256 minLength: 1 type: string - etag: *id017 + etag: *id018 fingerprint: description: The SHA256 of the trust anchor public key; the prefix 'mbed.ta.' followed by the trust anchor public key as a SHA256 hash in Base64-encoded DER format. format: byte type: string - id: *id018 + id: *id019 public_key: description: The trust anchor public key in PEM format. format: byte @@ -7095,12 +7109,12 @@ definitions: description: The generated trust anchor public key in Base64-encoded DER format. format: byte type: string - updated_at: *id019 + updated_at: *id020 type: object UploadChunkInfo: properties: - created_at: *id013 - etag: *id014 + created_at: *id014 + etag: *id015 hash: description: The hash of the chunk. The default hash is MD5. If no Content-MD5 header is supplied as part of uploading the chunk then this will be empty. @@ -7117,7 +7131,7 @@ definitions: description: 'Entity name: always ''upload-info''.' example: upload-info type: string - updated_at: *id015 + updated_at: *id016 upload_job_id: description: The upload job ID. example: '00000000000000000000000000000000' @@ -7157,13 +7171,13 @@ definitions: description: A flag that indicates job completion. example: false type: boolean - created_at: *id013 + created_at: *id014 description: &id032 description: Human-readable description. example: New Linux update for my devices maxLength: 2000 type: string - etag: *id014 + etag: *id015 firmware_image_id: description: ID of the firmware image - empty until the upload job is complete. example: 016e652be671000000000001001001a8 @@ -7185,7 +7199,7 @@ definitions: description: Status of the upload job. example: in_progress type: string - updated_at: *id015 + updated_at: *id016 type: object UploadJobPage: properties: @@ -9140,11 +9154,11 @@ paths: ```' operationId: deregisterWebhook responses: - 204: &id023 + 204: &id024 description: Successfully deleted. - 401: &id021 + 401: &id022 description: Unauthorized. - 403: &id022 + 403: &id023 description: Forbidden. The authorization token used is not an API key. 404: description: Callback URL does not exist. @@ -9173,8 +9187,8 @@ paths: description: URL found. schema: $ref: '#/definitions/Webhook' - 401: *id021 - 403: *id022 + 401: *id022 + 403: *id023 404: description: The callback URL does not exist. summary: Check callback URL. @@ -9248,8 +9262,8 @@ paths: 400: description: Given URL is not accessible, or other type of channel already exists. - 401: *id021 - 403: *id022 + 401: *id022 + 403: *id023 415: description: Unsupported Media Type. summary: Register a callback URL. @@ -9299,7 +9313,7 @@ paths: description: Success. The body can contain "REMOVED" if it was deleted with this call or "ALREADY_DELETED" if it was deleted before and not purged yet. - 401: *id021 + 401: *id022 summary: Delete notification Long Poll channel. tags: - Device data - notifications @@ -9362,7 +9376,7 @@ paths: description: No new notifications. 400: description: Other type of channel already exists. - 401: *id021 + 401: *id022 409: description: Conflict. Long poll request exists already. 410: @@ -9407,9 +9421,9 @@ paths: ```' operationId: deleteWebsocket responses: - 204: *id023 - 401: *id021 - 403: *id022 + 204: *id024 + 401: *id022 + 403: *id023 404: description: Websocket channel doesn't exist. summary: Delete websocket channel. @@ -9440,8 +9454,8 @@ paths: description: Websocket found. schema: $ref: '#/definitions/WebsocketChannel' - 401: *id021 - 403: *id022 + 401: *id022 + 403: *id023 404: description: No channel has been registered. summary: Get websocket channel information. @@ -9492,8 +9506,8 @@ paths: $ref: '#/definitions/WebsocketChannel' 400: description: Other type of channel already exists. - 401: *id021 - 403: *id022 + 401: *id022 + 403: *id023 summary: Register a websocket channel. tags: - Device data - notifications @@ -9575,7 +9589,7 @@ paths: description: Switching protocols. 400: description: Required header(s) missing. - 401: *id021 + 401: *id022 426: description: Upgrade required. Connect and/or Upgrade headers missing. 429: @@ -11253,7 +11267,7 @@ paths: required: true schema: items: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/BrandingColorUpdate' type: array produces: - application/json @@ -11303,7 +11317,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -11351,7 +11365,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -11407,7 +11421,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -11546,7 +11560,7 @@ paths: required: true schema: items: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/BrandingColorUpdate' type: array produces: - application/json @@ -11596,7 +11610,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -11643,7 +11657,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -11699,7 +11713,7 @@ paths: required: true type: string - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -17132,7 +17146,7 @@ paths: required: true schema: items: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/BrandingColorUpdate' type: array produces: - application/json @@ -17173,7 +17187,7 @@ paths: operationId: resetDarkColor parameters: - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -17216,7 +17230,7 @@ paths: operationId: getDarkColor parameters: - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -17267,7 +17281,7 @@ paths: operationId: setDarkColor parameters: - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -17386,7 +17400,7 @@ paths: required: true schema: items: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/BrandingColorUpdate' type: array produces: - application/json @@ -17427,7 +17441,7 @@ paths: operationId: resetLightColor parameters: - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -17470,7 +17484,7 @@ paths: operationId: getLightColor parameters: - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true @@ -17521,7 +17535,7 @@ paths: operationId: setLightColor parameters: - description: The name of the branding color. - enum: *id024 + enum: *id001 in: path name: reference required: true From a1711879882a00eda7ab82573c93edae1d9bba76 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 11 Mar 2020 07:44:39 +0000 Subject: [PATCH 060/111] new SDK config changes via api-contract @ 2020-03-11 07:44 --- .../public/pelion_dm_public_openapi.yaml | 419 +++++++++++++++--- .../public/sdk_foundation_definition.json | 184 ++++---- .../public/sdk_foundation_definition.yaml | 237 ++++++++-- 3 files changed, 656 insertions(+), 184 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 33387afbe..2efdb9803 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1118,7 +1118,9 @@ definitions: description: Represents an API key in requests towards Device Management. properties: groups: - description: A list of group IDs this API key belongs to. + description: 'A list of group IDs this API key belongs to. + + Adding an API key to the ''Administrators'' group is restricted to administrators.' items: type: string type: array @@ -1127,10 +1129,12 @@ definitions: maxLength: 100 type: string owner: - description: The owner of this API key. + description: The owner of this API key. Only an administrator can set the + owner of an API key. type: string status: - description: The status of the API key. + description: The status of the API key. Only an administrator can set the + status of an API key. enum: - ACTIVE - INACTIVE @@ -1262,7 +1266,8 @@ definitions: description: Represents an API key in requests towards Device Management. properties: groups: - description: A list of group IDs this API key belongs to. + description: A list of group IDs this API key belongs to. Only an administrator + can update the group membership of an API key. items: type: string type: array @@ -1271,10 +1276,12 @@ definitions: maxLength: 100 type: string owner: - description: The owner of this API key. + description: The owner of this API key. Only an administrator can update the + owner of an API key. type: string status: - description: The status of the API key. + description: The status of the API key. Only the owner of the API key or an + administrator can update the status of an API key. enum: - ACTIVE - INACTIVE @@ -9917,6 +9924,8 @@ paths: description: 'Retrieve an array of tenant accounts, optionally filtered by status and tier level. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10041,6 +10050,8 @@ paths: - application/json description: 'Create a new account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10162,6 +10173,8 @@ paths: - application/json description: 'Update the account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10295,6 +10308,8 @@ paths: get: description: 'Retrieve detailed information about an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10352,6 +10367,8 @@ paths: - application/json description: 'Update an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10415,6 +10432,8 @@ paths: get: description: 'Retrieve an array of API keys, optionally filtered by the owner. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10503,6 +10522,8 @@ paths: description: 'Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10562,6 +10583,8 @@ paths: delete: description: 'Delete an API key. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10607,8 +10630,8 @@ paths: - Tenant accounts - API keys x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X\ - \ GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ + description: "Retrieve details of an API key.\nNote: This endpoint is\ + \ restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ \ \\\n -H 'Authorization: Bearer '\n```" operationId: getAccountApiKey parameters: @@ -10648,6 +10671,8 @@ paths: put: description: 'Update API key details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10715,6 +10740,8 @@ paths: deprecated: true description: 'Remove API key from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10785,6 +10812,8 @@ paths: get: description: 'Retrieve an array of policy groups associated with an API key. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10862,6 +10891,8 @@ paths: deprecated: true description: 'Add API key to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10939,6 +10970,8 @@ paths: - application/json description: 'Add an API key to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11009,6 +11042,8 @@ paths: - application/json description: 'Remove an API key from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11073,6 +11108,8 @@ paths: post: description: 'Reset the secret key of the API key. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11133,6 +11170,8 @@ paths: delete: description: 'Delete account branding colors for all themes. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -11170,6 +11209,8 @@ paths: delete: description: 'Delete account dark theme branding colors. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -11206,6 +11247,8 @@ paths: get: description: 'Retrieve dark theme branding colors for an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11250,8 +11293,9 @@ paths: put: consumes: - application/json - description: "Update an array of dark theme branding colors.\n\n**Example:**\n\ - ```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ + description: "Update an array of dark theme branding colors.\nNote: This\ + \ endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X\ + \ PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" operationId: bulkSetAccountDarkColors @@ -11298,6 +11342,8 @@ paths: delete: description: 'Resets the branding color to its dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11346,6 +11392,8 @@ paths: get: description: 'Retrieve the requested dark theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11398,6 +11446,8 @@ paths: - application/json description: 'Update a dark theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11463,6 +11513,8 @@ paths: delete: description: 'Delete account light theme branding colors. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -11499,6 +11551,8 @@ paths: get: description: 'Retrieve light theme branding colors for an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11543,8 +11597,9 @@ paths: put: consumes: - application/json - description: "Update an array of light theme branding colors.\n\n**Example:**\n\ - ```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light\ + description: "Update an array of light theme branding colors.\nNote:\ + \ This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light\ \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"purple\" }]'\n```" operationId: bulkSetAccountLightColors @@ -11591,6 +11646,8 @@ paths: delete: description: 'Resets the branding color to its light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11639,6 +11696,8 @@ paths: get: description: 'Retrieve the requested light theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11690,6 +11749,8 @@ paths: - application/json description: 'Update a light theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11755,6 +11816,8 @@ paths: delete: description: 'Delete account branding images for all themes. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -11792,6 +11855,8 @@ paths: delete: description: 'Delete account dark theme branding images. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -11828,6 +11893,8 @@ paths: get: description: 'Retrieve the metadata of all dark theme branding images. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11873,6 +11940,8 @@ paths: get: description: 'Retrieve metadata of one account dark theme branding image. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11924,6 +11993,8 @@ paths: post: description: 'Revert an account branding image to dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11977,6 +12048,8 @@ paths: description: 'Upload a new account dark theme branding image in PNG or JPEG format. + Note: This endpoint is restricted to administrators. + **Example:** @@ -12047,8 +12120,10 @@ paths: post: consumes: - multipart/form-data - description: Upload a new account dark theme branding image as form data in + description: 'Upload a new account dark theme branding image as form data in PNG or JPEG format. + + Note: This endpoint is restricted to administrators.' operationId: uploadAccountDarkImageMultipart parameters: - description: The ID of the account. @@ -12105,6 +12180,8 @@ paths: delete: description: 'Delete account light theme branding images. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -12141,6 +12218,8 @@ paths: get: description: 'Retrieve the metadata of all light theme branding images. + Note: This endpoint is restricted to administrators. + **Example:** @@ -12186,6 +12265,8 @@ paths: get: description: 'Retrieve metadata for one account light theme branding image. + Note: This endpoint is restricted to administrators. + **Example:** @@ -12237,6 +12318,8 @@ paths: post: description: 'Revert an account branding image to light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -12288,6 +12371,8 @@ paths: description: 'Upload a new account light theme branding image in PNG or JPEG format. + Note: This endpoint is restricted to administrators. + **Example:** @@ -12358,8 +12443,10 @@ paths: post: consumes: - multipart/form-data - description: Upload a new account branding image as form data in PNG or JPEG + description: 'Upload a new account branding image as form data in PNG or JPEG format. + + Note: This endpoint is restricted to administrators.' operationId: uploadAccountLightImageMultipart parameters: - description: The ID of the account. @@ -12416,7 +12503,9 @@ paths: get: consumes: - application/json - description: Retrieve an array of identity providers. + description: 'Retrieve an array of identity providers. + + Note: This endpoint is restricted to administrators.' operationId: getAllAccountIdentityProviders parameters: - description: The ID of the account. @@ -12475,7 +12564,9 @@ paths: post: consumes: - application/json - description: Create a new identity provider. + description: 'Create a new identity provider. + + Note: This endpoint is restricted to administrators.' operationId: createAccountIdentityProvider parameters: - description: Account ID. @@ -12533,7 +12624,9 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/identity-providers/{identity_provider_id}: delete: - description: Delete an identity provider by ID. + description: 'Delete an identity provider by ID. + + Note: This endpoint is restricted to administrators.' operationId: deleteAccountIdentityProvider parameters: - description: Account ID. @@ -12568,7 +12661,9 @@ paths: - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: Retrieve an identity provider. + description: 'Retrieve an identity provider. + + Note: This endpoint is restricted to administrators.' operationId: getAccountIdentityProvider parameters: - description: Account ID. @@ -12607,7 +12702,9 @@ paths: put: consumes: - application/json - description: Update an existing identity provider. + description: 'Update an existing identity provider. + + Note: This endpoint is restricted to administrators.' operationId: updateAccountIdentityProvider parameters: - description: Account ID. @@ -12665,7 +12762,9 @@ paths: post: consumes: - application/json - description: Delete a service provider certificate. + description: 'Delete a service provider certificate. + + Note: This endpoint is restricted to administrators.' operationId: deleteAccountSpCertificate parameters: - description: Account ID. @@ -12709,7 +12808,9 @@ paths: post: consumes: - application/json - description: Generate a new service provider certificate. + description: 'Generate a new service provider certificate. + + Note: This endpoint is restricted to administrators.' operationId: generateAccountSpCertificate parameters: - description: Account ID. @@ -12764,7 +12865,9 @@ paths: post: consumes: - application/json - description: Refreshes an OIDC IdP's signing keys. + description: 'Refresh an OIDC IdP''s signing keys. + + Note: This endpoint is restricted to administrators.' operationId: refreshAccountJwks parameters: - description: The ID of the account to be managed. @@ -12805,13 +12908,15 @@ paths: description: Account or identity provider not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Refreshes the OIDC signing keys. + summary: Refresh the OIDC signing keys. tags: - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/limitations: get: - description: Retrieve an array of entitlement limitations. + description: 'Retrieve an array of entitlement limitations. + + Note: This endpoint is restricted to administrators.' operationId: aggregatorGetAccountLimitations parameters: - description: The ID of the account. @@ -12853,7 +12958,9 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/limitations/{limitation_id}: get: - description: Retrieve an entitlement limitation. + description: 'Retrieve an entitlement limitation. + + Note: This endpoint is restricted to administrators.' operationId: aggregatorGetAccountLimitation parameters: - description: The ID of the account. @@ -12891,7 +12998,9 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/notifications: get: - description: Retrieve an array of email notification logs. + description: 'Retrieve an array of email notification logs. + + Note: This endpoint is restricted to administrators.' operationId: getAccountNofificationEntries parameters: - description: Account ID. @@ -12947,7 +13056,9 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/notifications/{notification_id}: get: - description: Retrieve an email notifications log entry. + description: 'Retrieve an email notifications log entry. + + Note: This endpoint is restricted to administrators.' operationId: getAccountNofificationEntry parameters: - description: The ID of the account for which this notification should be retrieved. @@ -12991,6 +13102,8 @@ paths: get: description: 'Retrieve an array of policy groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13070,6 +13183,8 @@ paths: - application/json description: 'Create a new group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13133,6 +13248,8 @@ paths: delete: description: 'Delete a group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13180,6 +13297,8 @@ paths: get: description: 'Retrieve policy group details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13231,6 +13350,8 @@ paths: - application/json description: 'Add users and API keys to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13301,6 +13422,8 @@ paths: - application/json description: 'Update a group name. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13368,6 +13491,8 @@ paths: deprecated: true description: 'Remove API keys from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13437,6 +13562,8 @@ paths: get: description: 'Retrieve an array of API keys associated with a policy group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13512,6 +13639,8 @@ paths: deprecated: true description: 'Add API keys to account groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13581,6 +13710,8 @@ paths: post: description: 'Add API keys to account groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13647,6 +13778,8 @@ paths: - application/json description: 'Remove API keys from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13713,8 +13846,8 @@ paths: consumes: - application/json deprecated: true - description: "Remove users from groups.\n\n**Example:**\n```\ncurl -X DELETE\ - \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ + description: "Remove users from groups.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ ]}'\n```" @@ -13772,6 +13905,8 @@ paths: get: description: 'Retrieve an array of users associated with a policy group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13868,6 +14003,8 @@ paths: deprecated: true description: 'Add users to account group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13937,6 +14074,8 @@ paths: post: description: 'Add users to account group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14001,7 +14140,8 @@ paths: post: consumes: - application/json - description: "Remove users from groups.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ + description: "Remove users from groups.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ ]}'\n```" @@ -14055,6 +14195,8 @@ paths: get: description: 'Retrieve an array of trusted certificates. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14211,6 +14353,8 @@ paths: - application/json description: 'Upload new trusted certificate. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14272,6 +14416,8 @@ paths: delete: description: 'Delete a trusted certificate. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14319,6 +14465,8 @@ paths: get: description: 'Retrieve a trusted certificate. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14368,8 +14516,8 @@ paths: put: consumes: - application/json - description: "Update a trusted certificate.\n\n**Example:**\n```\ncurl -X PUT\ - \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ + description: "Update a trusted certificate.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n -d {\"description\": \"very important cert\"}\n ```" operationId: updateAccountCertificate @@ -14422,6 +14570,8 @@ paths: get: description: 'Retrieve an array of active user invitations. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14495,6 +14645,8 @@ paths: - application/json description: 'Invite a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14550,6 +14702,8 @@ paths: delete: description: 'Delete an active user invitation sent to a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14598,6 +14752,8 @@ paths: description: 'Retrieve details of an active user invitation sent for a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14648,6 +14804,8 @@ paths: get: description: 'Retrieve an array of users. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14755,6 +14913,8 @@ paths: description: 'Create or invite a new user to the account. Only email address is used; other attributes are set in the second step. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14824,6 +14984,8 @@ paths: delete: description: 'Delete a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14875,6 +15037,8 @@ paths: get: description: 'Retrieve user details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14926,6 +15090,8 @@ paths: - application/json description: 'Update user details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -14997,6 +15163,8 @@ paths: deprecated: true description: 'Remove user from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -15067,6 +15235,8 @@ paths: get: description: 'Retrieve an array of policy groups associated with a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -15144,6 +15314,8 @@ paths: deprecated: true description: 'Add user to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -15221,6 +15393,8 @@ paths: - application/json description: 'Add a user to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -15291,6 +15465,8 @@ paths: - application/json description: 'Remove a user from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -15355,6 +15531,8 @@ paths: post: description: 'Validate user email. + Note: This endpoint is restricted to administrators. + **Example:** @@ -15446,7 +15624,9 @@ paths: name: key__eq required: false type: string - - description: Owner name filter. + - description: 'Owner name filter. + + Note: This parameter is restricted to administrators.' in: query name: owner__eq required: false @@ -15770,7 +15950,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Adding API key to the 'Administrators' group is + restricted to administrators. schema: $ref: '#/definitions/ErrorResponse' '409': @@ -15831,7 +16012,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Adding API key to the 'Administrators' group is + restricted to administrators. schema: $ref: '#/definitions/ErrorResponse' '409': @@ -15926,7 +16108,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Only the owner of the API key or an administrator + can delete an API key. schema: $ref: '#/definitions/ErrorResponse' '404': @@ -16024,7 +16207,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Only the owner of the API key or an administrator + can update an API key. schema: $ref: '#/definitions/ErrorResponse' '404': @@ -16042,6 +16226,8 @@ paths: deprecated: true description: 'Remove API key from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -16107,6 +16293,8 @@ paths: get: description: 'Retrieve an array of policy groups associated with an API key. + Note: This endpoint is restricted to administrators. + **Example:** @@ -16179,6 +16367,8 @@ paths: deprecated: true description: 'Add API key to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -16251,6 +16441,8 @@ paths: - application/json description: 'Add API key to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -16316,6 +16508,8 @@ paths: - application/json description: 'Remove API key from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -16415,7 +16609,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Only the owner of the API key or an administrator + can reset an API key. schema: $ref: '#/definitions/ErrorResponse' '404': @@ -17037,6 +17232,8 @@ paths: delete: description: 'Delete account branding colors for all themes. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -17069,6 +17266,8 @@ paths: delete: description: 'Delete account dark theme branding colors. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -17134,10 +17333,11 @@ paths: put: consumes: - application/json - description: "Update an array of dark theme branding colors.\n\n**Example:**\n\ - ```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ - \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" + description: "Update an array of dark theme branding colors.\nNote: This\ + \ endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X\ + \ PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark \\\n-H 'Authorization:\ + \ Bearer ' \\\n-H 'content-type: application/json' \\\n'[{ \"reference\"\ + : \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" operationId: bulkSetDarkColors parameters: - description: List of branding colors. @@ -17173,6 +17373,8 @@ paths: delete: description: 'Resets the branding color to its dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -17263,6 +17465,8 @@ paths: - application/json description: 'Update a dark theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -17323,6 +17527,8 @@ paths: delete: description: 'Delete account light theme branding colors. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -17388,9 +17594,10 @@ paths: put: consumes: - application/json - description: "Update an array of light theme branding colors.\n\n**Example:**\n\ - ```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ + description: "Update an array of light theme branding colors.\nNote:\ + \ This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \\\n\ + -H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"purple\" }]'\n```" operationId: bulkSetLightColors parameters: @@ -17427,6 +17634,8 @@ paths: delete: description: 'Resets the branding color to its light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -17517,6 +17726,8 @@ paths: - application/json description: 'Update light theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -17577,6 +17788,8 @@ paths: delete: description: 'Delete account branding images for all themes. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -17609,6 +17822,8 @@ paths: delete: description: 'Delete account dark theme branding images. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -17719,6 +17934,8 @@ paths: post: description: 'Revert an account branding image to dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -17767,6 +17984,8 @@ paths: description: 'Upload a new account branding image in the dark theme in PNG or JPEG format. + Note: This endpoint is restricted to administrators. + **Example:** @@ -17832,8 +18051,10 @@ paths: post: consumes: - multipart/form-data - description: Upload a new account branding image as form data in the dark theme + description: 'Upload a new account branding image as form data in the dark theme in PNG or JPEG format. + + Note: This endpoint is restricted to administrators.' operationId: uploadDarkImageMultipart parameters: - description: Name of the branding images (icon or picture). @@ -17885,6 +18106,8 @@ paths: delete: description: 'Delete account light theme branding images. + Note: This endpoint is restricted to administrators. + **Example usage:** @@ -17997,6 +18220,8 @@ paths: post: description: 'Revert an account branding image to light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -18045,6 +18270,8 @@ paths: description: 'Upload a new account light theme branding image in PNG or JPEG format. + Note: This endpoint is restricted to administrators. + **Example:** @@ -18110,8 +18337,10 @@ paths: post: consumes: - multipart/form-data - description: Upload a new account branding image as form data in the light theme - in PNG or JPEG format. + description: 'Upload a new account branding image as form data in the light + theme in PNG or JPEG format. + + Note: This endpoint is restricted to administrators.' operationId: uploadLightImageMultipart parameters: - description: Name of the branding images (icon or picture). @@ -24825,7 +25054,9 @@ paths: get: consumes: - application/json - description: Retrieve an array of identity providers. + description: 'Retrieve an array of identity providers. + + Note: This endpoint is restricted to administrators.' operationId: getAllIdentityProviders parameters: - default: 50 @@ -24875,7 +25106,9 @@ paths: post: consumes: - application/json - description: Create a new identity provider. + description: 'Create a new identity provider. + + Note: This endpoint is restricted to administrators.' operationId: createIdentityProvider parameters: - allowEmptyValue: true @@ -24924,7 +25157,9 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/identity-providers/{identity_provider_id}: delete: - description: Delete an identity provider by ID. + description: 'Delete an identity provider by ID. + + Note: This endpoint is restricted to administrators.' operationId: deleteIdentityProvider parameters: - description: The ID of the identity provider to delete. @@ -24954,7 +25189,9 @@ paths: - Account - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: Retrieve an identity provider. + description: 'Retrieve an identity provider. + + Note: This endpoint is restricted to administrators.' operationId: getIdentityProvider parameters: - description: The ID of the identity provider to retrieve. @@ -24988,7 +25225,9 @@ paths: put: consumes: - application/json - description: Update an existing identity provider. + description: 'Update an existing identity provider. + + Note: This endpoint is restricted to administrators.' operationId: updateIdentityProvider parameters: - description: The ID of the identity provider to update. @@ -25041,7 +25280,9 @@ paths: post: consumes: - application/json - description: Delete a service provider certificate. + description: 'Delete a service provider certificate. + + Note: This endpoint is restricted to administrators.' operationId: deleteSpCertificate parameters: - description: The ID of the identity provider. @@ -25080,7 +25321,9 @@ paths: post: consumes: - application/json - description: Generate a new service provider certificate. + description: 'Generate a new service provider certificate. + + Note: This endpoint is restricted to administrators.' operationId: generateSpCertificate parameters: - description: The ID of the identity provider to generate a certificate for. @@ -25130,7 +25373,9 @@ paths: post: consumes: - application/json - description: Refreshes an OIDC IdP's signing keys. + description: 'Refreshes an OIDC IdP''s signing keys. + + Note: This endpoint is restricted to administrators.' operationId: refreshJwks parameters: - description: The ID of the identity provider for which to refresh the signing @@ -25453,6 +25698,8 @@ paths: - application/json description: 'Create a new group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -25504,6 +25751,8 @@ paths: delete: description: 'Delete a group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -25592,6 +25841,8 @@ paths: - application/json description: 'Add users and API keys to a group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -25657,6 +25908,8 @@ paths: - application/json description: 'Update a group name. + Note: This endpoint is restricted to administrators. + **Example:** @@ -25893,7 +26146,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Adding an API key to the 'Administrators' group + is restricted to administrators. schema: $ref: '#/definitions/ErrorResponse' '404': @@ -25957,7 +26211,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Adding an API key to the 'Administrators' group + is restricted to administrators. schema: $ref: '#/definitions/ErrorResponse' '404': @@ -26041,6 +26296,8 @@ paths: deprecated: true description: 'Manage policy groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -26105,6 +26362,8 @@ paths: get: description: 'Retrieve an array of users associated with a policy group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -26196,6 +26455,8 @@ paths: deprecated: true description: 'Add users to the group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -26260,6 +26521,8 @@ paths: post: description: 'Add users to the group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -26319,7 +26582,9 @@ paths: post: consumes: - application/json - description: 'Manage policy groups. + description: 'Remove users from a policy group. + + Note: This endpoint is restricted to administrators. **Example:** @@ -26968,6 +27233,8 @@ paths: - application/json description: 'Upload new trusted certificates. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28158,6 +28425,8 @@ paths: get: description: 'Retrieve an array of active user invitations sent by email. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28221,6 +28490,8 @@ paths: - application/json description: 'Invite a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28270,6 +28541,8 @@ paths: delete: description: 'Delete an active user invitation sent to a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28312,6 +28585,8 @@ paths: get: description: 'Retrieve the details of an active user invitation. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28357,6 +28632,8 @@ paths: get: description: 'Retrieve an array of users. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28451,8 +28728,10 @@ paths: post: consumes: - application/json - description: 'Create or invite a new user to the account. Only email address - is used; other attributes are set in the second step. + description: 'Create or invite a new user to the account. The invited user has + to accept the invitation by clicking the link in the invitation email. + + Note: This endpoint is restricted to administrators. **Example:** @@ -28513,6 +28792,8 @@ paths: delete: description: 'Delete a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28558,6 +28839,8 @@ paths: get: description: 'Retrieve the details of a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28601,7 +28884,9 @@ paths: put: consumes: - application/json - description: 'Update user details + description: 'Update user details. + + Note: This endpoint is restricted to administrators. **Example:** @@ -28668,6 +28953,8 @@ paths: deprecated: true description: 'Remove user from groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28733,6 +29020,8 @@ paths: get: description: 'Retrieve an array of policy groups associated with a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28805,6 +29094,8 @@ paths: deprecated: true description: 'Add user to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28877,6 +29168,8 @@ paths: - application/json description: 'Add user to groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -28942,6 +29235,8 @@ paths: - application/json description: 'Remove user from groups. + Note: This endpoint is restricted to administrators. + **Example:** diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 9e72bbdfe..8cc20f350 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -1082,7 +1082,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Retrieve an array of API keys, optionally filtered by the owner.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys, optionally filtered by the owner.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -1637,7 +1637,7 @@ "_key": "api_keys" }, { - "description": "Create a new account.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"display_name\": \"MyAccount1\", \"aliases\": [ \"my-account\" ], \"admin_name\": \"accountAdmin1\", \"email\": \"example_admin@myaccount.info\", \"country\": \"United Kingdom\", \"end_market\": \"Smart City\", \"address_line1\": \"110 Fulbourn Rd\", \"city\": \"Cambridge\", \"contact\": \"J. Doe\", \"company\": \"Arm\"}'\n```", + "description": "Create a new account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"display_name\": \"MyAccount1\", \"aliases\": [ \"my-account\" ], \"admin_name\": \"accountAdmin1\", \"email\": \"example_admin@myaccount.info\", \"country\": \"United Kingdom\", \"end_market\": \"Smart City\", \"address_line1\": \"110 Fulbourn Rd\", \"city\": \"Cambridge\", \"contact\": \"J. Doe\", \"company\": \"Arm\"}'\n```", "field_renames": [], "fields": [ { @@ -3721,7 +3721,7 @@ "_key": "create" }, { - "description": "Retrieve dark theme branding colors for an account.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve dark theme branding colors for an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -4140,7 +4140,7 @@ "_key": "dark_theme_branding_colors" }, { - "description": "Retrieve the metadata of all dark theme branding images.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the metadata of all dark theme branding images.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -4581,7 +4581,7 @@ "_key": "dark_theme_branding_images" }, { - "description": "Retrieve light theme branding colors for an account.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve light theme branding colors for an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -5000,7 +5000,7 @@ "_key": "light_theme_branding_colors" }, { - "description": "Retrieve the metadata of all light theme branding images.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the metadata of all light theme branding images.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -5441,7 +5441,7 @@ "_key": "light_theme_branding_images" }, { - "description": "Retrieve an array of tenant accounts, optionally filtered by status and tier level.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of tenant accounts, optionally filtered by status and tier level.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -8883,7 +8883,7 @@ "_key": "me" }, { - "description": "Retrieve detailed information about an account.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve detailed information about an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -10675,7 +10675,7 @@ "_key": "read" }, { - "description": "Retrieve an array of trusted certificates.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of trusted certificates.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -11311,7 +11311,7 @@ "_key": "trusted_certificates" }, { - "description": "Update an account.\n\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"phone_number\": \"12345678\"}'\n```", + "description": "Update an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"phone_number\": \"12345678\"}'\n```", "field_renames": [], "fields": [ { @@ -13543,7 +13543,7 @@ "_key": "update" }, { - "description": "Retrieve an array of active user invitations.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of active user invitations.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -14119,7 +14119,7 @@ "_key": "user_invitations" }, { - "description": "Retrieve an array of users.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -16388,7 +16388,7 @@ "_key": "401" }, { - "description": "Forbidden.", + "description": "Forbidden. Only the owner of the API key or an administrator can delete an API key.", "schema": { "type": "object", "required": [ @@ -17346,7 +17346,7 @@ "_key": "me" }, { - "description": "Retrieve an array of policy groups associated with an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -18638,7 +18638,7 @@ "_key": "401" }, { - "description": "Forbidden.", + "description": "Forbidden. Only the owner of the API key or an administrator can update an API key.", "schema": { "type": "object", "required": [ @@ -26664,7 +26664,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -27646,7 +27646,7 @@ "_key": "read" }, { - "description": "Update a dark theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "description": "Update a dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", "field_renames": [], "fields": [ { @@ -28168,7 +28168,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to dark theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -29233,7 +29233,7 @@ "_key": "read" }, { - "description": "Upload a new account branding image as form data in the dark theme in PNG or JPEG format.", + "description": "Upload a new account branding image as form data in the dark theme in PNG or JPEG format.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -45898,7 +45898,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a new identity provider.", + "description": "Create a new identity provider.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -46870,7 +46870,7 @@ "_key": "create" }, { - "description": "Delete an identity provider by ID.", + "description": "Delete an identity provider by ID.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -47145,7 +47145,7 @@ "_key": "delete" }, { - "description": "Delete a service provider certificate.", + "description": "Delete a service provider certificate.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -47807,7 +47807,7 @@ "_key": "delete_service_provider_certificate" }, { - "description": "Generate a new service provider certificate.", + "description": "Generate a new service provider certificate.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -48582,7 +48582,7 @@ "_key": "generate_service_provider_certificate" }, { - "description": "Retrieve an array of identity providers.", + "description": "Retrieve an array of identity providers.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -49263,7 +49263,7 @@ "_key": "list" }, { - "description": "Retrieve an identity provider.", + "description": "Retrieve an identity provider.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -49918,7 +49918,7 @@ "_key": "read" }, { - "description": "Refreshes an OIDC IdP's signing keys.", + "description": "Refreshes an OIDC IdP's signing keys.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -50653,7 +50653,7 @@ "_key": "refresh_tokens" }, { - "description": "Update an existing identity provider.", + "description": "Update an existing identity provider.\nNote: This endpoint is restricted to administrators.", "field_renames": [ { "api_fieldname": "type", @@ -52093,7 +52093,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -53091,7 +53091,7 @@ "_key": "read" }, { - "description": "Update light theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "description": "Update light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", "field_renames": [], "fields": [ { @@ -53635,7 +53635,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to light theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -54704,7 +54704,7 @@ "_key": "read" }, { - "description": "Upload a new account branding image as form data in the light theme in PNG or JPEG format.", + "description": "Upload a new account branding image as form data in the light theme in PNG or JPEG format.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -56443,7 +56443,7 @@ "_key": "api_keys" }, { - "description": "Create a new group.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' -d '{\"name\": \"MyGroup1\"}'\n```", + "description": "Create a new group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' -d '{\"name\": \"MyGroup1\"}'\n```", "field_renames": [], "fields": [ { @@ -56923,7 +56923,7 @@ "_key": "create" }, { - "description": "Delete a group.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -58006,7 +58006,7 @@ "_key": "read" }, { - "description": "Update a group name.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", + "description": "Update a group name.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", "field_renames": [], "fields": [ { @@ -58466,7 +58466,7 @@ "_key": "update" }, { - "description": "Retrieve an array of users associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -60572,7 +60572,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", + "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", "field_renames": [], "fields": [ { @@ -61127,7 +61127,7 @@ "_key": "create" }, { - "description": "Delete an API key.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -61409,7 +61409,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of policy groups associated with an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -61936,7 +61936,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", + "description": "Retrieve details of an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -62380,7 +62380,7 @@ "_key": "read" }, { - "description": "Update API key details.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", + "description": "Update API key details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", "field_renames": [], "fields": [ { @@ -63086,7 +63086,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its dark theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -63387,7 +63387,7 @@ "_key": "delete" }, { - "description": "Retrieve the requested dark theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the requested dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -63769,7 +63769,7 @@ "_key": "read" }, { - "description": "Update a dark theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "description": "Update a dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", "field_renames": [], "fields": [ { @@ -64324,7 +64324,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to dark theme default.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -64643,7 +64643,7 @@ "_key": "delete" }, { - "description": "Retrieve metadata of one account dark theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve metadata of one account dark theme branding image.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -65056,7 +65056,7 @@ "_key": "read" }, { - "description": "Upload a new account dark theme branding image as form data in PNG or JPEG format.", + "description": "Upload a new account dark theme branding image as form data in PNG or JPEG format.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -65664,7 +65664,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a new identity provider.", + "description": "Create a new identity provider.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -66718,7 +66718,7 @@ "_key": "create" }, { - "description": "Delete an identity provider by ID.", + "description": "Delete an identity provider by ID.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -67000,7 +67000,7 @@ "_key": "delete" }, { - "description": "Delete a service provider certificate.", + "description": "Delete a service provider certificate.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -67687,7 +67687,7 @@ "_key": "delete_service_provider_certificate" }, { - "description": "Generate a new service provider certificate.", + "description": "Generate a new service provider certificate.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -68487,7 +68487,7 @@ "_key": "generate_service_provider_certificate" }, { - "description": "Retrieve an array of identity providers.", + "description": "Retrieve an array of identity providers.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -69266,7 +69266,7 @@ "_key": "list" }, { - "description": "Retrieve an identity provider.", + "description": "Retrieve an identity provider.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -69946,7 +69946,7 @@ "_key": "read" }, { - "description": "Refreshes an OIDC IdP's signing keys.", + "description": "Refresh an OIDC IdP's signing keys.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -70672,7 +70672,7 @@ } ], "path": "/v3/accounts/{account_id}/identity-providers/{identity_provider_id}/refresh-jwks", - "summary": "Refreshes the OIDC signing keys.", + "summary": "Refresh the OIDC signing keys.", "return_type": "subtenant_identity_provider", "return_info": { "self": true, @@ -70706,7 +70706,7 @@ "_key": "refresh_tokens" }, { - "description": "Update an existing identity provider.", + "description": "Update an existing identity provider.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -72117,7 +72117,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its light theme default.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -72418,7 +72418,7 @@ "_key": "delete" }, { - "description": "Retrieve the requested light theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference}\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the requested light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference}\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -72800,7 +72800,7 @@ "_key": "read" }, { - "description": "Update a light theme branding color.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "description": "Update a light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", "field_renames": [], "fields": [ { @@ -73355,7 +73355,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to light theme default.\n\n**Example:**\n```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -73674,7 +73674,7 @@ "_key": "delete" }, { - "description": "Retrieve metadata for one account light theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve metadata for one account light theme branding image.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -74087,7 +74087,7 @@ "_key": "read" }, { - "description": "Upload a new account branding image as form data in PNG or JPEG format.", + "description": "Upload a new account branding image as form data in PNG or JPEG format.\nNote: This endpoint is restricted to administrators.", "field_renames": [], "fields": [ { @@ -74696,7 +74696,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Retrieve an array of API keys associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -75252,7 +75252,7 @@ "_key": "api_keys" }, { - "description": "Create a new group.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyGroup1\"}'\n```", + "description": "Create a new group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyGroup1\"}'\n```", "field_renames": [], "fields": [ { @@ -75822,7 +75822,7 @@ "_key": "create" }, { - "description": "Delete a group.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -76104,7 +76104,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -76626,7 +76626,7 @@ "_key": "list" }, { - "description": "Retrieve policy group details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve policy group details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -77019,7 +77019,7 @@ "_key": "read" }, { - "description": "Update a group name.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", + "description": "Update a group name.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", "field_renames": [], "fields": [ { @@ -77496,7 +77496,7 @@ "_key": "update" }, { - "description": "Retrieve an array of users associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -78430,7 +78430,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload new trusted certificate.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", + "description": "Upload new trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", "field_renames": [], "fields": [ { @@ -79090,7 +79090,7 @@ "_key": "create" }, { - "description": "Delete a trusted certificate.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -79792,7 +79792,7 @@ "_key": "get_developer_certificate_info" }, { - "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -80320,7 +80320,7 @@ "_key": "read" }, { - "description": "Update a trusted certificate.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json' \\\n -d {\"description\": \"very important cert\"}\n ```", + "description": "Update a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json' \\\n -d {\"description\": \"very important cert\"}\n ```", "field_renames": [], "fields": [ { @@ -81212,7 +81212,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create or invite a new user to the account. Only email address is used; other attributes are set in the second step.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Create or invite a new user to the account. Only email address is used; other attributes are set in the second step.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -82306,7 +82306,7 @@ "_key": "create" }, { - "description": "Delete a user.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -82661,7 +82661,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of policy groups associated with a user.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -83188,7 +83188,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve user details.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -83970,7 +83970,7 @@ "_key": "read" }, { - "description": "Update user details.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", + "description": "Update user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", "field_renames": [], "fields": [ { @@ -85051,7 +85051,7 @@ "_key": "update" }, { - "description": "Validate user email.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/validate-email \\\n-H 'Authorization: Bearer '\n```", + "description": "Validate user email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/validate-email \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -85804,7 +85804,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Invite a new or existing user.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accouns/{account_id}/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Invite a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accouns/{account_id}/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -86367,7 +86367,7 @@ "_key": "create" }, { - "description": "Delete an active user invitation sent to a new or existing user.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an active user invitation sent to a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -86649,7 +86649,7 @@ "_key": "delete" }, { - "description": "Retrieve details of an active user invitation sent for a new or existing user.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve details of an active user invitation sent for a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -87291,7 +87291,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload new trusted certificates.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", + "description": "Upload new trusted certificates.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", "field_renames": [], "fields": [ { @@ -93190,7 +93190,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create or invite a new user to the account. Only email address is used; other attributes are set in the second step.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/users?action=invite \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Create or invite a new user to the account. The invited user has to accept the invitation by clicking the link in the invitation email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/users?action=invite \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -94161,7 +94161,7 @@ "_key": "create" }, { - "description": "Delete a user.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -94504,7 +94504,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of users.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -95240,7 +95240,7 @@ "_key": "list" }, { - "description": "Retrieve an array of policy groups associated with a user.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -95737,7 +95737,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve the details of a user.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the details of a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -96469,7 +96469,7 @@ "_key": "read" }, { - "description": "Update user details\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", + "description": "Update user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", "field_renames": [], "fields": [ { @@ -97946,7 +97946,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Invite a new or existing user.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Invite a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -98486,7 +98486,7 @@ "_key": "create" }, { - "description": "Delete an active user invitation sent to a new or existing user.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an active user invitation sent to a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -98756,7 +98756,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of active user invitations sent by email.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of active user invitations sent by email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -99229,7 +99229,7 @@ "_key": "list" }, { - "description": "Retrieve the details of an active user invitation.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the details of an active user invitation.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 741080a0b..180a4e2df 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -632,6 +632,8 @@ entities: - _key: api_keys description: 'Retrieve an array of API keys, optionally filtered by the owner. + Note: This endpoint is restricted to administrators. + **Example:** @@ -1051,6 +1053,8 @@ entities: - _key: create description: 'Create a new account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -2692,6 +2696,8 @@ entities: - _key: dark_theme_branding_colors description: 'Retrieve dark theme branding colors for an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -3004,6 +3010,8 @@ entities: - _key: dark_theme_branding_images description: 'Retrieve the metadata of all dark theme branding images. + Note: This endpoint is restricted to administrators. + **Example:** @@ -3338,6 +3346,8 @@ entities: - _key: light_theme_branding_colors description: 'Retrieve light theme branding colors for an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -3650,6 +3660,8 @@ entities: - _key: light_theme_branding_images description: 'Retrieve the metadata of all light theme branding images. + Note: This endpoint is restricted to administrators. + **Example:** @@ -3985,6 +3997,8 @@ entities: description: 'Retrieve an array of tenant accounts, optionally filtered by status and tier level. + Note: This endpoint is restricted to administrators. + **Example:** @@ -6650,6 +6664,8 @@ entities: - _key: read description: 'Retrieve detailed information about an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -8041,6 +8057,8 @@ entities: - _key: trusted_certificates description: 'Retrieve an array of trusted certificates. + Note: This endpoint is restricted to administrators. + **Example:** @@ -8525,6 +8543,8 @@ entities: operation_id: updateMyAccount description: 'Update an account. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10251,6 +10271,8 @@ entities: - _key: user_invitations description: 'Retrieve an array of active user invitations. + Note: This endpoint is restricted to administrators. + **Example:** @@ -10685,6 +10707,8 @@ entities: - _key: users description: 'Retrieve an array of users. + Note: This endpoint is restricted to administrators. + **Example:** @@ -11933,7 +11957,8 @@ entities: - type type: object - _key: '403' - description: Forbidden. + description: Forbidden. Only the owner of the API key or an administrator can + delete an API key. schema: properties: - _key: code @@ -12635,6 +12660,8 @@ entities: - _key: policy_groups description: 'Retrieve an array of policy groups associated with an API key. + Note: This endpoint is restricted to administrators. + **Example:** @@ -13629,7 +13656,8 @@ entities: - type type: object - _key: '403' - description: Forbidden. + description: Forbidden. Only the owner of the API key or an administrator can + update an API key. schema: properties: - _key: code @@ -19478,6 +19506,8 @@ entities: - _key: delete description: 'Resets the branding color to its dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -20204,6 +20234,8 @@ entities: operation_id: bulkSetDarkColors description: 'Update a dark theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -20600,6 +20632,8 @@ entities: - _key: delete description: 'Revert an account branding image to dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -21385,8 +21419,10 @@ entities: - notes: The multipart endpoint is used by the SDKs as it offers the same functionality as the standard upload endpoint. operation_id: uploadDarkImage - description: Upload a new account branding image as form data in the dark theme + description: 'Upload a new account branding image as form data in the dark theme in PNG or JPEG format. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -35466,7 +35502,9 @@ entities: group_id: Accounts methods: - _key: create - description: Create a new identity provider. + description: 'Create a new identity provider. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -36172,7 +36210,9 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: Delete an identity provider by ID. + description: 'Delete an identity provider by ID. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -36358,7 +36398,9 @@ entities: x_deprecation: null x_filter: {} - _key: delete_service_provider_certificate - description: Delete a service provider certificate. + description: 'Delete a service provider certificate. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -36832,7 +36874,9 @@ entities: x_deprecation: null x_filter: {} - _key: generate_service_provider_certificate - description: Generate a new service provider certificate. + description: 'Generate a new service provider certificate. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -37391,7 +37435,9 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: Retrieve an array of identity providers. + description: 'Retrieve an array of identity providers. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -37887,7 +37933,9 @@ entities: x_deprecation: null x_filter: {} - _key: read - description: Retrieve an identity provider. + description: 'Retrieve an identity provider. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -38357,7 +38405,9 @@ entities: x_deprecation: null x_filter: {} - _key: refresh_tokens - description: Refreshes an OIDC IdP's signing keys. + description: 'Refreshes an OIDC IdP''s signing keys. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -38879,7 +38929,9 @@ entities: x_deprecation: null x_filter: {} - _key: update - description: Update an existing identity provider. + description: 'Update an existing identity provider. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -39712,6 +39764,8 @@ entities: - _key: delete description: 'Resets the branding color to its light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -40454,6 +40508,8 @@ entities: operation_id: bulkSetLightColors description: 'Update light theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -40868,6 +40924,8 @@ entities: - _key: delete description: 'Revert an account branding image to light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -41658,8 +41716,10 @@ entities: additional_operations: - notes: The multipart request is more generic and better supported by SDKs. operation_id: uploadLightImage - description: Upload a new account branding image as form data in the light theme + description: 'Upload a new account branding image as form data in the light theme in PNG or JPEG format. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -42931,6 +42991,8 @@ entities: - _key: create description: 'Create a new group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -43281,6 +43343,8 @@ entities: - _key: delete description: 'Delete a group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -44093,6 +44157,8 @@ entities: - _key: update description: 'Update a group name. + Note: This endpoint is restricted to administrators. + **Example:** @@ -44433,6 +44499,8 @@ entities: - _key: users description: 'Retrieve an array of users associated with a policy group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -46154,6 +46222,8 @@ entities: description: 'Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created. + Note: This endpoint is restricted to administrators. + **Example:** @@ -46571,6 +46641,8 @@ entities: - _key: delete description: 'Delete an API key. + Note: This endpoint is restricted to administrators. + **Example:** @@ -46777,6 +46849,8 @@ entities: - _key: policy_groups description: 'Retrieve an array of policy groups associated with an API key. + Note: This endpoint is restricted to administrators. + **Example:** @@ -47176,8 +47250,8 @@ entities: x_deprecation: null x_filter: {} - _key: read - description: "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X GET\ - \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ + description: "Retrieve details of an API key.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ \ \\\n -H 'Authorization: Bearer '\n```" drop_fields: - object @@ -47503,6 +47577,8 @@ entities: - _key: update description: 'Update API key details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -47988,6 +48064,8 @@ entities: - _key: delete description: 'Resets the branding color to its dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -48212,6 +48290,8 @@ entities: - _key: read description: 'Retrieve the requested dark theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -48493,6 +48573,8 @@ entities: operation_id: bulkSetAccountDarkColors description: 'Update a dark theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -48916,6 +48998,8 @@ entities: - _key: delete description: 'Revert an account branding image to dark theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -49159,6 +49243,8 @@ entities: - _key: read description: 'Retrieve metadata of one account dark theme branding image. + Note: This endpoint is restricted to administrators. + **Example:** @@ -49448,8 +49534,10 @@ entities: - notes: The multipart endpoint is used by the SDKs as it offers the same functionality as the standard upload endpoint. operation_id: uploadAccountDarkImage - description: Upload a new account dark theme branding image as form data in PNG + description: 'Upload a new account dark theme branding image as form data in PNG or JPEG format. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -50054,7 +50142,9 @@ entities: group_id: Accounts methods: - _key: create - description: Create a new identity provider. + description: 'Create a new identity provider. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -50822,7 +50912,9 @@ entities: x_deprecation: null x_filter: {} - _key: delete - description: Delete an identity provider by ID. + description: 'Delete an identity provider by ID. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -51016,7 +51108,9 @@ entities: x_deprecation: null x_filter: {} - _key: delete_service_provider_certificate - description: Delete a service provider certificate. + description: 'Delete a service provider certificate. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -51517,7 +51611,9 @@ entities: x_deprecation: null x_filter: {} - _key: generate_service_provider_certificate - description: Generate a new service provider certificate. + description: 'Generate a new service provider certificate. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -52103,7 +52199,9 @@ entities: x_deprecation: null x_filter: {} - _key: list - description: Retrieve an array of identity providers. + description: 'Retrieve an array of identity providers. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -52673,7 +52771,9 @@ entities: x_deprecation: null x_filter: {} - _key: read - description: Retrieve an identity provider. + description: 'Retrieve an identity provider. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -53170,7 +53270,9 @@ entities: x_deprecation: null x_filter: {} - _key: refresh_tokens - description: Refreshes an OIDC IdP's signing keys. + description: 'Refresh an OIDC IdP''s signing keys. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -53715,11 +53817,13 @@ entities: self: true type: subtenant_identity_provider return_type: subtenant_identity_provider - summary: Refreshes the OIDC signing keys. + summary: Refresh the OIDC signing keys. x_deprecation: null x_filter: {} - _key: update - description: Update an existing identity provider. + description: 'Update an existing identity provider. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -54549,6 +54653,8 @@ entities: - _key: delete description: 'Resets the branding color to its light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -54773,6 +54879,8 @@ entities: - _key: read description: 'Retrieve the requested light theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -55053,6 +55161,8 @@ entities: operation_id: bulkSetAccountLightColors description: 'Update a light theme branding color. + Note: This endpoint is restricted to administrators. + **Example:** @@ -55476,6 +55586,8 @@ entities: - _key: delete description: 'Revert an account branding image to light theme default. + Note: This endpoint is restricted to administrators. + **Example:** @@ -55717,6 +55829,8 @@ entities: - _key: read description: 'Retrieve metadata for one account light theme branding image. + Note: This endpoint is restricted to administrators. + **Example:** @@ -56005,7 +56119,10 @@ entities: additional_operations: - notes: The multipart request is more generic and better supported by SDKs. operation_id: uploadAccountLightImage - description: Upload a new account branding image as form data in PNG or JPEG format. + description: 'Upload a new account branding image as form data in PNG or JPEG + format. + + Note: This endpoint is restricted to administrators.' drop_fields: - object - etag @@ -56417,6 +56534,8 @@ entities: - _key: api_keys description: 'Retrieve an array of API keys associated with a policy group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -56838,6 +56957,8 @@ entities: - _key: create description: 'Create a new group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -57254,6 +57375,8 @@ entities: - _key: delete description: 'Delete a group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -57460,6 +57583,8 @@ entities: - _key: list description: 'Retrieve an array of policy groups. + Note: This endpoint is restricted to administrators. + **Example:** @@ -57856,6 +57981,8 @@ entities: - _key: read description: 'Retrieve policy group details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -58150,6 +58277,8 @@ entities: - _key: update description: 'Update a group name. + Note: This endpoint is restricted to administrators. + **Example:** @@ -58505,6 +58634,8 @@ entities: - _key: users description: 'Retrieve an array of users associated with a policy group. + Note: This endpoint is restricted to administrators. + **Example:** @@ -59329,6 +59460,8 @@ entities: - _key: create description: 'Upload new trusted certificate. + Note: This endpoint is restricted to administrators. + **Example:** @@ -59837,6 +59970,8 @@ entities: - _key: delete description: 'Delete a trusted certificate. + Note: This endpoint is restricted to administrators. + **Example:** @@ -60541,6 +60676,8 @@ entities: - _key: read description: 'Retrieve a trusted certificate. + Note: This endpoint is restricted to administrators. + **Example:** @@ -60945,8 +61082,8 @@ entities: x_deprecation: null x_filter: {} - _key: update - description: "Update a trusted certificate.\n\n**Example:**\n```\ncurl -X PUT\ - \ https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ + description: "Update a trusted certificate.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n -d {\"description\": \"very important cert\"}\n ```" drop_fields: @@ -61833,6 +61970,8 @@ entities: description: 'Create or invite a new user to the account. Only email address is used; other attributes are set in the second step. + Note: This endpoint is restricted to administrators. + **Example:** @@ -62685,6 +62824,8 @@ entities: - _key: delete description: 'Delete a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -62939,6 +63080,8 @@ entities: - _key: policy_groups description: 'Retrieve an array of policy groups associated with a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -63340,6 +63483,8 @@ entities: - _key: read description: 'Retrieve user details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -63956,6 +64101,8 @@ entities: - _key: update description: 'Update user details. + Note: This endpoint is restricted to administrators. + **Example:** @@ -64792,6 +64939,8 @@ entities: - _key: validate_email description: 'Validate user email. + Note: This endpoint is restricted to administrators. + **Example:** @@ -65131,6 +65280,8 @@ entities: - _key: create description: 'Invite a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -65563,6 +65714,8 @@ entities: - _key: delete description: 'Delete an active user invitation sent to a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -65770,6 +65923,8 @@ entities: description: 'Retrieve details of an active user invitation sent for a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -66283,6 +66438,8 @@ entities: - _key: create description: 'Upload new trusted certificates. + Note: This endpoint is restricted to administrators. + **Example:** @@ -71457,8 +71614,10 @@ entities: group_id: Accounts methods: - _key: create - description: 'Create or invite a new user to the account. Only email address is - used; other attributes are set in the second step. + description: 'Create or invite a new user to the account. The invited user has + to accept the invitation by clicking the link in the invitation email. + + Note: This endpoint is restricted to administrators. **Example:** @@ -72215,6 +72374,8 @@ entities: - _key: delete description: 'Delete a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -72458,6 +72619,8 @@ entities: - _key: list description: 'Retrieve an array of users. + Note: This endpoint is restricted to administrators. + **Example:** @@ -73027,6 +73190,8 @@ entities: - _key: policy_groups description: 'Retrieve an array of policy groups associated with a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -73399,6 +73564,8 @@ entities: - _key: read description: 'Retrieve the details of a user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -73964,7 +74131,9 @@ entities: x_deprecation: null x_filter: {} - _key: update - description: 'Update user details + description: 'Update user details. + + Note: This endpoint is restricted to administrators. **Example:** @@ -74879,6 +75048,8 @@ entities: - _key: create description: 'Invite a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -75289,6 +75460,8 @@ entities: - _key: delete description: 'Delete an active user invitation sent to a new or existing user. + Note: This endpoint is restricted to administrators. + **Example:** @@ -75485,6 +75658,8 @@ entities: - _key: list description: 'Retrieve an array of active user invitations sent by email. + Note: This endpoint is restricted to administrators. + **Example:** @@ -75842,6 +76017,8 @@ entities: - _key: read description: 'Retrieve the details of an active user invitation. + Note: This endpoint is restricted to administrators. + **Example:** From b22e7e332575df6d0d8134e6ff9b519c890fa62f Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 12 Mar 2020 10:44:11 +0000 Subject: [PATCH 061/111] new SDK config changes via api-contract @ 2020-03-12 10:44 --- api_specifications/public/pelion_dm_public_openapi.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 2efdb9803..1eeeb89ba 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7673,8 +7673,9 @@ definitions: type: boolean x-nullable: true is_totp_enabled: - description: A flag indicating whether mandatory two-factor authentication - (TOTP) is enabled. + description: A flag indicating whether two-factor authentication (TOTP) is + enabled. An account administrator can disable it, but cannot enable it for + other users. type: boolean x-nullable: true login_profiles: From b6c9c6855834295fb8990f52f99926b952c1bce0 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 18 Mar 2020 07:20:16 +0000 Subject: [PATCH 062/111] new SDK config changes via api-contract @ 2020-03-18 07:20 --- .../public/pelion_dm_public_openapi.yaml | 16 ++++++-------- .../public/sdk_foundation_definition.json | 22 +++++++++---------- .../public/sdk_foundation_definition.yaml | 22 +++++++++---------- 3 files changed, 29 insertions(+), 31 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 1eeeb89ba..59672873b 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1286,8 +1286,6 @@ definitions: - ACTIVE - INACTIVE type: string - required: - - name type: object AsyncID: properties: @@ -10561,7 +10559,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, missing display name. + description: Error in input data, for example, missing API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -10715,7 +10713,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, missing display name. + description: Error in input data, for example, invalid API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -11148,7 +11146,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data format. + description: Error in input data, for example, invalid API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -15690,7 +15688,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, missing display name. + description: Error in input data, for example, missing API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -15773,7 +15771,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, missing display name. + description: Error in input data, for example, invalid API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16200,7 +16198,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, missing display name. + description: Error in input data, for example, invalid API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16602,7 +16600,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data format. + description: Error in input data, for example, invalid API key name. schema: $ref: '#/definitions/ErrorResponse' '401': diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 8cc20f350..a95f8787a 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -15861,7 +15861,7 @@ "entity_fieldname": "name", "parameter_fieldname": "name", "in": "body", - "required": true, + "required": false, "_key": "name" }, { @@ -16038,7 +16038,7 @@ "_key": "201" }, { - "description": "Error in input data, for example, missing display name.", + "description": "Error in input data, for example, missing API key name.", "schema": { "type": "object", "required": [ @@ -18315,7 +18315,7 @@ "entity_fieldname": "name", "parameter_fieldname": "name", "in": "body", - "required": true, + "required": false, "_key": "name" }, { @@ -18492,7 +18492,7 @@ "_key": "200" }, { - "description": "Error in input data, for example, missing display name.", + "description": "Error in input data, for example, invalid API key name.", "schema": { "type": "object", "required": [ @@ -60609,7 +60609,7 @@ "entity_fieldname": "name", "parameter_fieldname": "name", "in": "body", - "required": true, + "required": false, "_key": "name" }, { @@ -60742,7 +60742,7 @@ "entity_fieldname": "name", "parameter_fieldname": "name", "in": "body", - "required": true, + "required": false, "_key": "name" }, { @@ -60802,7 +60802,7 @@ "_key": "201" }, { - "description": "Error in input data, for example, missing display name.", + "description": "Error in input data, for example, missing API key name.", "schema": { "type": "object", "required": [ @@ -62065,7 +62065,7 @@ "entity_fieldname": "name", "parameter_fieldname": "name", "in": "body", - "required": true, + "required": false, "_key": "name" }, { @@ -62429,7 +62429,7 @@ "entity_fieldname": "name", "parameter_fieldname": "name", "in": "body", - "required": true, + "required": false, "_key": "name" }, { @@ -62562,7 +62562,7 @@ "entity_fieldname": "name", "parameter_fieldname": "name", "in": "body", - "required": true, + "required": false, "_key": "name" }, { @@ -62622,7 +62622,7 @@ "_key": "200" }, { - "description": "Error in input data, for example, missing display name.", + "description": "Error in input data, for example, invalid API key name.", "schema": { "type": "object", "required": [ diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 180a4e2df..f48ff8e47 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -11571,7 +11571,7 @@ entities: in: body maxLength: 100 parameter_fieldname: name - required: true + required: false type: string - _key: owner api_fieldname: owner @@ -11714,7 +11714,7 @@ entities: - object type: object - _key: '400' - description: Error in input data, for example, missing display name. + description: Error in input data, for example, missing API key name. schema: properties: - _key: code @@ -13419,7 +13419,7 @@ entities: in: body maxLength: 100 parameter_fieldname: name - required: true + required: false type: string - _key: owner api_fieldname: owner @@ -13560,7 +13560,7 @@ entities: - object type: object - _key: '400' - description: Error in input data, for example, missing display name. + description: Error in input data, for example, invalid API key name. schema: properties: - _key: code @@ -46280,7 +46280,7 @@ entities: in: body maxLength: 100 parameter_fieldname: name - required: true + required: false type: string - _key: owner api_fieldname: owner @@ -46392,7 +46392,7 @@ entities: in: body maxLength: 100 parameter_fieldname: name - required: true + required: false type: string - _key: object api_fieldname: object @@ -46439,7 +46439,7 @@ entities: - object type: object - _key: '400' - description: Error in input data, for example, missing display name. + description: Error in input data, for example, missing API key name. schema: properties: - _key: code @@ -47376,7 +47376,7 @@ entities: in: body maxLength: 100 parameter_fieldname: name - required: true + required: false type: string - _key: object api_fieldname: object @@ -47644,7 +47644,7 @@ entities: in: body maxLength: 100 parameter_fieldname: name - required: true + required: false type: string - _key: owner api_fieldname: owner @@ -47754,7 +47754,7 @@ entities: in: body maxLength: 100 parameter_fieldname: name - required: true + required: false type: string - _key: object api_fieldname: object @@ -47801,7 +47801,7 @@ entities: - object type: object - _key: '400' - description: Error in input data, for example, missing display name. + description: Error in input data, for example, invalid API key name. schema: properties: - _key: code From dad9ea718efa007702d7953abade22d538d282eb Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 19 Mar 2020 08:48:38 +0000 Subject: [PATCH 063/111] new SDK config changes via api-contract @ 2020-03-19 08:48 --- .../public/pelion_dm_public_openapi.yaml | 2 +- .../public/sdk_foundation_definition.json | 14 +++++++------- .../public/sdk_foundation_definition.yaml | 14 +++++++------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 59672873b..f1f98ca3d 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -3210,7 +3210,7 @@ definitions: description: &id028 description: The description of the group. example: Devices on the factory floor. - maxLength: 2000 + maxLength: 1024 type: string devices_count: description: The number of devices in this group. diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index a95f8787a..460461c1d 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -40590,7 +40590,7 @@ }, { "type": "string", - "maxLength": 2000, + "maxLength": 1024, "description": "The description of the group.", "example": "Devices on the factory floor.", "api_fieldname": "description", @@ -40652,7 +40652,7 @@ }, { "type": "string", - "maxLength": 2000, + "maxLength": 1024, "description": "The description of the group.", "example": "Devices on the factory floor.", "api_fieldname": "description", @@ -42286,7 +42286,7 @@ }, { "type": "string", - "maxLength": 2000, + "maxLength": 1024, "description": "The description of the group.", "example": "Devices on the factory floor.", "_key": "description" @@ -42678,7 +42678,7 @@ }, { "type": "string", - "maxLength": 2000, + "maxLength": 1024, "description": "The description of the group.", "example": "Devices on the factory floor.", "api_fieldname": "description", @@ -43308,7 +43308,7 @@ }, { "type": "string", - "maxLength": 2000, + "maxLength": 1024, "description": "The description of the group.", "example": "Devices on the factory floor.", "api_fieldname": "description", @@ -43381,7 +43381,7 @@ }, { "type": "string", - "maxLength": 2000, + "maxLength": 1024, "description": "The description of the group.", "example": "Devices on the factory floor.", "api_fieldname": "description", @@ -43726,7 +43726,7 @@ }, { "type": "string", - "maxLength": 2000, + "maxLength": 1024, "description": "The description of the group.", "example": "Devices on the factory floor.", "api_fieldname": "description", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index f48ff8e47..f67e2c2bf 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -30761,7 +30761,7 @@ entities: api_fieldname: description description: The description of the group. example: Devices on the factory floor. - maxLength: 2000 + maxLength: 1024 readOnly: false required: false type: string @@ -31032,7 +31032,7 @@ entities: entity_fieldname: description example: Devices on the factory floor. in: body - maxLength: 2000 + maxLength: 1024 name: description parameter_fieldname: description required: false @@ -31094,7 +31094,7 @@ entities: description: The description of the group. entity_fieldname: description example: Devices on the factory floor. - maxLength: 2000 + maxLength: 1024 type: string - _key: devices_count api_fieldname: devices_count @@ -32434,7 +32434,7 @@ entities: - _key: description description: The description of the group. example: Devices on the factory floor. - maxLength: 2000 + maxLength: 1024 type: string - _key: devices_count description: The number of devices in this group. @@ -32699,7 +32699,7 @@ entities: description: The description of the group. entity_fieldname: description example: Devices on the factory floor. - maxLength: 2000 + maxLength: 1024 type: string - _key: devices_count api_fieldname: devices_count @@ -33126,7 +33126,7 @@ entities: entity_fieldname: description example: Devices on the factory floor. in: body - maxLength: 2000 + maxLength: 1024 name: description parameter_fieldname: description required: false @@ -33197,7 +33197,7 @@ entities: description: The description of the group. entity_fieldname: description example: Devices on the factory floor. - maxLength: 2000 + maxLength: 1024 type: string - _key: devices_count api_fieldname: devices_count From 535adcd3ea15de5f8e160552dcc2bc5003e44238 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 20 Mar 2020 13:04:42 +0000 Subject: [PATCH 064/111] new SDK config changes via api-contract @ 2020-03-20 13:04 --- .../public/pelion_dm_public_openapi.yaml | 261 +++- .../public/sdk_foundation_definition.json | 1330 +++++++++-------- .../public/sdk_foundation_definition.yaml | 1028 +++++++------ 3 files changed, 1538 insertions(+), 1081 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index f1f98ca3d..b05ff3b3e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -127,7 +127,7 @@ definitions: required: - end_market type: object - AccountInfo: + AccountCreationResp: description: Represents an account in requests and responses. properties: address_line1: @@ -424,6 +424,263 @@ definitions: example: '2018-02-14T15:24:14Z' format: date-time type: string + type: object + AccountInfo: + description: Represents an account in requests and responses. + properties: + address_line1: + description: Postal address line 1. + example: 110 Fulbourn Rd + maxLength: 100 + type: string + x-nullable: true + address_line2: + description: Postal address line 2. + example: ' ' + maxLength: 100 + type: string + x-nullable: true + aliases: + description: An array of aliases for the tenant account ID. The aliases must + be globally unique. + items: + pattern: '[\w\-._]{8,100}' + type: string + maxItems: 10 + type: array + business_model: + $ref: '#/definitions/BusinessModel' + business_model_history: + description: Business model history for this account. + items: + $ref: '#/definitions/BusinessModelHistory' + type: array + city: + description: The city part of the postal address. + example: Cambridge + maxLength: 100 + type: string + x-nullable: true + company: + description: The name of the company used in billing. + example: ARM Holdings Plc + maxLength: 100 + type: string + x-nullable: true + contact: + description: The name of the contact person for this account. + example: J. Doe + maxLength: 100 + type: string + x-nullable: true + contract_number: + description: Contract number of the customer. + example: 1NX25_0001 + type: string + x-nullable: true + country: + description: The country part of the postal address. + example: United Kingdom + maxLength: 100 + type: string + x-nullable: true + created_at: + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + custom_fields: + additionalProperties: + type: string + description: Account's custom properties as key-value pairs. + type: object + x-nullable: true + customer_number: + description: Customer number of the customer. + example: 1NC25_0001 + type: string + x-nullable: true + display_name: + description: The display name for the tenant account. + example: ARM + maxLength: 100 + type: string + x-nullable: true + email: + description: The company email address for this account. + example: info@arm.com + pattern: ^(?=.{3,254}$).+\@.+ + type: string + x-nullable: true + end_market: + description: Account end market. + example: IT + type: string + etag: + description: API resource entity version. + example: '1' + type: string + expiration: + description: Expiration time of the account, as UTC time RFC3339. + format: date-time + type: string + x-nullable: true + expiration_warning_threshold: + description: Indicates how many days (1-180) before account expiration a notification + email is sent. + example: '180' + maximum: 180 + minimum: 1 + type: integer + x-nullable: true + id: + description: Account ID. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + idle_timeout: + description: The reference token expiration time, in minutes, for this account. + example: '30' + maximum: 120 + minimum: 1 + type: integer + x-nullable: true + limitations: + description: List of account limitation objects. + items: + $ref: '#/definitions/AccountLimitation' + type: array + limits: + additionalProperties: + type: string + description: 'DEPRECATED: Replaced by the limitations parameter.' + type: object + x-deprecation: + comment: Replaced by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' + x-nullable: true + mfa_status: + description: The enforcement status of multi-factor authentication, either + `enforced` or `optional`. + enum: + - enforced + - optional + type: string + x-nullable: true + notification_emails: + description: A list of notification email addresses. + items: + pattern: ^(?=.{3,254}$).+\@.+ + type: string + type: array + x-nullable: true + object: + description: 'Entity name: always `account`.' + enum: + - account + type: string + parent_account: + $ref: '#/definitions/ParentAccountInfo' + description: Contact details of the parent account. + x-nullable: true + parent_id: + description: The ID of the parent account, if any. + example: 01619571dad80242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + x-nullable: true + password_policy: + $ref: '#/definitions/PasswordPolicy' + description: The password policy for this account. + x-nullable: true + password_recovery_expiration: + description: Indicates for how many minutes a password recovery email is valid. + format: int32 + maximum: 45 + minimum: 1 + type: integer + phone_number: + description: The phone number of a company representative. + example: +44 (1223) 400 400 + maxLength: 100 + type: string + x-nullable: true + policies: + description: List of policies if requested. + items: + $ref: '#/definitions/FeaturePolicy' + type: array + x-nullable: true + postal_code: + description: The postal code part of the postal address. + example: CB1 9NJ + maxLength: 100 + type: string + x-nullable: true + reason: + description: A note with the reason for account status update. + example: Subscription paid. + type: string + x-nullable: true + reference_note: + description: A reference note for updating the status of the account. + example: ARM-INT-0001 + type: string + x-nullable: true + sales_contact: + description: Email address of the sales contact. + example: sales@arm.com + pattern: ^(?=.{3,254}$).+\@.+ + type: string + x-nullable: true + state: + description: The state part of the postal address. + example: ' ' + maxLength: 100 + type: string + x-nullable: true + status: + description: The status of the account. + enum: + - ENROLLING + - ACTIVE + - RESTRICTED + - SUSPENDED + example: ACTIVE + type: string + sub_accounts: + description: List of sub accounts. Not available for developer users. + items: + $ref: '#/definitions/AccountInfo' + type: array + x-nullable: true + template_id: + description: Account template ID. + example: 01619571e7160242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + x-nullable: true + tier: + description: 'The tier level of the account; `0`: free tier, `1`: commercial + account, `2`: partner tier. Other values are reserved for the future.' + example: '1' + type: string + tier_history: + description: Tier history for this account. + items: + $ref: '#/definitions/TierHistory' + type: array + updated_at: + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + upgraded_at: + description: Time when upgraded to commercial account in UTC format RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string required: - end_market - etag @@ -10099,7 +10356,7 @@ paths: '201': description: Successful operation. schema: - $ref: '#/definitions/AccountInfo' + $ref: '#/definitions/AccountCreationResp' '400': description: Error in input data, for example, invalid username. schema: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 460461c1d..c2faec6f2 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -1069,6 +1069,7 @@ { "swagger_models": [ "AccountCreationReq", + "AccountCreationResp", "AccountInfo", "AccountInfoList", "AccountUpdateRootReq", @@ -1872,7 +1873,7 @@ "entity_fieldname": "end_market", "parameter_fieldname": "end_market", "in": "body", - "required": false, + "required": true, "_key": "end_market" }, { @@ -1922,14 +1923,6 @@ "description": "Successful operation.", "schema": { "type": "object", - "required": [ - "end_market", - "etag", - "id", - "object", - "status", - "tier" - ], "properties": [ { "type": "string", @@ -2654,53 +2647,6 @@ "description": "Postal address line 2.", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -3163,90 +3109,718 @@ }, { "type": "string", - "example": "account", - "description": "Indicates the type of entity this policy is inherited from.", - "readOnly": true, - "enum": [ - "account", - "template", - "tier_template" - ], - "api_fieldname": "inherited_type", - "entity_fieldname": "inherited_type", - "_key": "inherited_type" + "example": "account", + "description": "Indicates the type of entity this policy is inherited from.", + "readOnly": true, + "enum": [ + "account", + "template", + "tier_template" + ], + "api_fieldname": "inherited_type", + "entity_fieldname": "inherited_type", + "_key": "inherited_type" + }, + { + "type": "string", + "example": "/v3/update-campaign", + "description": "Resource that is protected by this policy.", + "api_fieldname": "resource", + "entity_fieldname": "resource", + "_key": "resource" + } + ], + "description": "Represents a feature policy. Either the feature or the resource must be specified.", + "foreign_key": { + "group": "Accounts", + "entity": "policy" + } + }, + "_key": "policies" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "CB1 9NJ", + "description": "The postal code part of the postal address.", + "_key": "postal_code" + }, + { + "type": "string", + "x-nullable": true, + "example": "Subscription paid.", + "description": "A note with the reason for account status update.", + "_key": "reason" + }, + { + "type": "string", + "x-nullable": true, + "example": "ARM-INT-0001", + "description": "A reference note for updating the status of the account.", + "_key": "reference_note" + }, + { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string", + "example": "sales@arm.com", + "x-nullable": true, + "description": "Email address of the sales contact.", + "_key": "sales_contact" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": " ", + "description": "The state part of the postal address.", + "_key": "state" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the account.", + "enum": [ + "ENROLLING", + "ACTIVE", + "RESTRICTED", + "SUSPENDED" + ], + "_key": "status" + }, + { + "type": "array", + "x-nullable": true, + "description": "List of sub accounts. Not available for developer users.", + "items": { + "type": "object", + "required": [ + "end_market", + "etag", + "id", + "object", + "status", + "tier" + ], + "properties": [ + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "110 Fulbourn Rd", + "description": "Postal address line 1.", + "_key": "address_line1" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": " ", + "description": "Postal address line 2.", + "_key": "address_line2" + }, + { + "type": "array", + "maxItems": 10, + "description": "An array of aliases for the tenant account ID. The aliases must be globally unique.", + "items": { + "type": "string", + "pattern": "[\\w\\-._]{8,100}" + }, + "_key": "aliases" + }, + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "array", + "description": "Business model history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "default": "active_device_business_model", + "example": "api_calls_1_business_model", + "description": "Business model for this account. Manageable by the root admin only.", + "enum": [ + "active_device_business_model", + "api_calls_1_business_model" + ], + "_key": "business_model" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ] + }, + "_key": "business_model_history" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "Cambridge", + "description": "The city part of the postal address.", + "_key": "city" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "ARM Holdings Plc", + "description": "The name of the company used in billing.", + "_key": "company" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "J. Doe", + "description": "The name of the contact person for this account.", + "_key": "contact" + }, + { + "type": "string", + "example": "1NX25_0001", + "x-nullable": true, + "description": "Contract number of the customer.", + "_key": "contract_number" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "United Kingdom", + "description": "The country part of the postal address.", + "_key": "country" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "object", + "x-nullable": true, + "description": "Account's custom properties as key-value pairs.", + "additionalProperties": { + "type": "string" + }, + "_key": "custom_fields" + }, + { + "type": "string", + "example": "1NC25_0001", + "x-nullable": true, + "description": "Customer number of the customer.", + "_key": "customer_number" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "ARM", + "description": "The display name for the tenant account.", + "_key": "display_name" + }, + { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string", + "x-nullable": true, + "example": "info@arm.com", + "description": "The company email address for this account.", + "_key": "email" + }, + { + "type": "string", + "example": "IT", + "description": "Account end market.", + "_key": "end_market" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "x-nullable": true, + "format": "date-time", + "description": "Expiration time of the account, as UTC time RFC3339.", + "_key": "expiration" + }, + { + "type": "integer", + "minimum": 1, + "maximum": 180, + "example": "180", + "x-nullable": true, + "description": "Indicates how many days (1-180) before account expiration a notification email is sent.", + "_key": "expiration_warning_threshold" + }, + { + "type": "string", + "example": "01619571e2e90242ac12000600000000", + "description": "Account ID.", + "pattern": "[a-f0-9]{32}", + "_key": "id" + }, + { + "type": "integer", + "minimum": 1, + "maximum": 120, + "x-nullable": true, + "example": "30", + "description": "The reference token expiration time, in minutes, for this account.", + "_key": "idle_timeout" + }, + { + "type": "array", + "description": "List of account limitation objects.", + "items": { + "type": "object", + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "Billing period of the account limitation.", + "_key": "billing_period" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-13T09:35:20Z", + "description": "Creation UTC time RFC3339.", + "_key": "created_at" + }, + { + "type": "string", + "description": "Description of the account limitation.", + "readOnly": true, + "_key": "description" + }, + { + "type": "string", + "example": "1", + "description": "API resource entity version.", + "_key": "etag" + }, + { + "type": "string", + "example": "01619571d01d0242ac12000600000000", + "description": "Entity ID.", + "_key": "id" + }, + { + "type": "boolean", + "description": "Flag indicating whether this limitation is inherited.", + "readOnly": true, + "_key": "inherited" + }, + { + "type": "string", + "description": "Indicates where this limit is inherited from.", + "readOnly": true, + "_key": "inherited_from" + }, + { + "type": "string", + "description": "Indicates the type of the entity where the limitation is inherited from.", + "readOnly": true, + "_key": "inherited_type" + }, + { + "type": "integer", + "format": "int32", + "description": "The value of the limit.", + "_key": "limit" + }, + { + "type": "string", + "description": "Name of the account limitation.", + "_key": "name" + }, + { + "type": "string", + "description": "Entity name: always 'limitation'", + "enum": [ + "user", + "api-key", + "group", + "account", + "account_template", + "trusted_cert", + "list", + "error", + "agreement", + "signed_agreement", + "policy", + "limitation", + "identity_provider", + "user_session", + "user_invitation", + "notification_entry", + "branding_color", + "branding_image" + ], + "_key": "object" + }, + { + "type": "integer", + "format": "int32", + "description": "Quota of the account limitation.", + "_key": "quota" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" + } + ], + "description": "This object represents an account limitation." + }, + "_key": "limitations" + }, + { + "type": "object", + "x-nullable": true, + "x-deprecation": { + "issued_at": "2019-08-27T12:03:58+00:00", + "end_of_life_at": "2020-08-27T12:03:58+00:00", + "comment": "Replaced by the limitations parameter." + }, + "description": "DEPRECATED: Replaced by the limitations parameter.", + "additionalProperties": { + "type": "string" + }, + "_key": "limits" + }, + { + "type": "string", + "x-nullable": true, + "description": "The enforcement status of multi-factor authentication, either `enforced` or `optional`.", + "enum": [ + "enforced", + "optional" + ], + "_key": "mfa_status" + }, + { + "type": "array", + "x-nullable": true, + "description": "A list of notification email addresses.", + "items": { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string" + }, + "_key": "notification_emails" + }, + { + "type": "string", + "description": "Entity name: always `account`.", + "enum": [ + "account" + ], + "_key": "object" + }, + { + "type": "object", + "properties": [ + { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string", + "example": "info@arm.com", + "description": "The email address of the admin user who is the contact person of the parent account.", + "api_fieldname": "admin_email", + "entity_fieldname": "admin_email", + "_key": "admin_email" + }, + { + "type": "string", + "maxLength": 100, + "example": "J. Doe", + "description": "The name of the admin user who is the contact person of the parent account.", + "api_fieldname": "admin_name", + "entity_fieldname": "admin_name", + "_key": "admin_name" + }, + { + "type": "string", + "example": "01619571dad80242ac12000600000000", + "description": "The ID of the parent account.", + "pattern": "[a-f0-9]{32}", + "api_fieldname": "id", + "entity_fieldname": "id", + "_key": "id" + } + ], + "description": "Represents parent account contact details in responses.", + "foreign_key": { + "group": "Accounts", + "entity": "parent_account" + }, + "x-nullable": true, + "_key": "parent_account" + }, + { + "type": "string", + "x-nullable": true, + "example": "01619571dad80242ac12000600000000", + "description": "The ID of the parent account, if any.", + "pattern": "[a-f0-9]{32}", + "_key": "parent_id" + }, + { + "type": "object", + "required": [ + "minimum_length" + ], + "properties": [ + { + "type": "integer", + "minimum": 8, + "maximum": 512, + "example": "8", + "description": "Minimum length for the password.", + "api_fieldname": "minimum_length", + "entity_fieldname": "minimum_length", + "_key": "minimum_length" + } + ], + "foreign_key": { + "group": "Accounts", + "entity": "password_policy" + }, + "description": "The password policy for this account.", + "x-nullable": true, + "_key": "password_policy" + }, + { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 45, + "description": "Indicates for how many minutes a password recovery email is valid.", + "_key": "password_recovery_expiration" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "+44 (1223) 400 400", + "description": "The phone number of a company representative.", + "_key": "phone_number" + }, + { + "type": "array", + "x-nullable": true, + "description": "List of policies if requested.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "GET", + "description": "Comma-separated list of actions, empty string represents all actions.", + "api_fieldname": "action", + "entity_fieldname": "action", + "_key": "action" + }, + { + "type": "boolean", + "example": true, + "description": "True or false controlling whether an action is allowed or not.", + "api_fieldname": "allow", + "entity_fieldname": "allow", + "_key": "allow" + }, + { + "type": "string", + "example": "update-campaigns", + "description": "Feature name corresponding to this policy.", + "api_fieldname": "feature", + "entity_fieldname": "feature", + "_key": "feature" + }, + { + "type": "boolean", + "example": false, + "description": "Flag indicating whether this feature is inherited or overwritten specifically.", + "readOnly": true, + "api_fieldname": "inherited", + "entity_fieldname": "inherited", + "_key": "inherited" + }, + { + "type": "string", + "example": "016ada3ec2d46665bf66e32e00000000", + "description": "An ID indicating where this policy is inherited from.", + "pattern": "[a-f0-9]{32}", + "readOnly": true, + "api_fieldname": "inherited_from", + "entity_fieldname": "inherited_from", + "_key": "inherited_from" + }, + { + "type": "string", + "example": "account", + "description": "Indicates the type of entity this policy is inherited from.", + "readOnly": true, + "enum": [ + "account", + "template", + "tier_template" + ], + "api_fieldname": "inherited_type", + "entity_fieldname": "inherited_type", + "_key": "inherited_type" + }, + { + "type": "string", + "example": "/v3/update-campaign", + "description": "Resource that is protected by this policy.", + "api_fieldname": "resource", + "entity_fieldname": "resource", + "_key": "resource" + } + ], + "description": "Represents a feature policy. Either the feature or the resource must be specified.", + "foreign_key": { + "group": "Accounts", + "entity": "policy" + } + }, + "_key": "policies" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": "CB1 9NJ", + "description": "The postal code part of the postal address.", + "_key": "postal_code" + }, + { + "type": "string", + "x-nullable": true, + "example": "Subscription paid.", + "description": "A note with the reason for account status update.", + "_key": "reason" + }, + { + "type": "string", + "x-nullable": true, + "example": "ARM-INT-0001", + "description": "A reference note for updating the status of the account.", + "_key": "reference_note" + }, + { + "pattern": "^(?=.{3,254}$).+\\@.+", + "type": "string", + "example": "sales@arm.com", + "x-nullable": true, + "description": "Email address of the sales contact.", + "_key": "sales_contact" + }, + { + "type": "string", + "maxLength": 100, + "x-nullable": true, + "example": " ", + "description": "The state part of the postal address.", + "_key": "state" + }, + { + "type": "string", + "example": "ACTIVE", + "description": "The status of the account.", + "enum": [ + "ENROLLING", + "ACTIVE", + "RESTRICTED", + "SUSPENDED" + ], + "_key": "status" + }, + { + "type": "array", + "x-nullable": true, + "description": "List of sub accounts. Not available for developer users.", + "items": [], + "_key": "sub_accounts" + }, + { + "type": "string", + "x-nullable": true, + "example": "01619571e7160242ac12000600000000", + "description": "Account template ID.", + "pattern": "[a-f0-9]{32}", + "_key": "template_id" + }, + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "array", + "description": "Tier history for this account.", + "items": { + "type": "object", + "properties": [ + { + "type": "string", + "example": "1", + "description": "The tier level of the account; `0`: free tier, `1`: commercial account, `2`: partner tier. Other values are reserved for the future.", + "_key": "tier" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updatedAt" + } + ] + }, + "_key": "tier_history" + }, + { + "type": "string", + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Last update UTC time RFC3339.", + "_key": "updated_at" }, { "type": "string", - "example": "/v3/update-campaign", - "description": "Resource that is protected by this policy.", - "api_fieldname": "resource", - "entity_fieldname": "resource", - "_key": "resource" + "format": "date-time", + "example": "2018-02-14T15:24:14Z", + "description": "Time when upgraded to commercial account in UTC format RFC3339.", + "_key": "upgraded_at" } ], - "description": "Represents a feature policy. Either the feature or the resource must be specified.", - "foreign_key": { - "group": "Accounts", - "entity": "policy" - } + "description": "Represents an account in requests and responses." }, - "_key": "policies" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "CB1 9NJ", - "description": "The postal code part of the postal address.", - "_key": "postal_code" - }, - { - "type": "string", - "x-nullable": true, - "example": "Subscription paid.", - "description": "A note with the reason for account status update.", - "_key": "reason" - }, - { - "type": "string", - "x-nullable": true, - "example": "ARM-INT-0001", - "description": "A reference note for updating the status of the account.", - "_key": "reference_note" - }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "example": "sales@arm.com", - "x-nullable": true, - "description": "Email address of the sales contact.", - "_key": "sales_contact" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": " ", - "description": "The state part of the postal address.", - "_key": "state" - }, - { - "type": "string", - "example": "ACTIVE", - "description": "The status of the account.", - "enum": [ - "ENROLLING", - "ACTIVE", - "RESTRICTED", - "SUSPENDED" - ], - "_key": "status" - }, - { - "type": "array", - "x-nullable": true, - "description": "List of sub accounts. Not available for developer users.", - "items": [], "_key": "sub_accounts" }, { @@ -3369,7 +3943,11 @@ "_key": "upgraded_at" } ], - "description": "Represents an account in requests and responses." + "description": "Represents an account in requests and responses.", + "foreign_key": { + "group": "Accounts", + "entity": "account" + } }, "_key": "201" }, @@ -5582,53 +6160,6 @@ "description": "Postal address line 2.", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -6201,53 +6732,6 @@ "description": "Postal address line 2.", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -7203,99 +7687,40 @@ } ], "method": "get", - "mode": "me", - "responses": [ - { - "description": "Successful operation.", - "schema": { - "type": "object", - "required": [ - "end_market", - "etag", - "id", - "object", - "status", - "tier" - ], - "properties": [ - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "110 Fulbourn Rd", - "description": "Postal address line 1.", - "api_fieldname": "address_line1", - "entity_fieldname": "address_line1", - "_key": "address_line1" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": " ", - "description": "Postal address line 2.", - "api_fieldname": "address_line2", - "entity_fieldname": "address_line2", - "_key": "address_line2" - }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_email", - "entity_fieldname": "admin_email", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_full_name", - "entity_fieldname": "admin_full_name", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "admin_id", - "entity_fieldname": "admin_id", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "api_fieldname": "admin_key", - "entity_fieldname": "admin_key", - "_key": "admin_key" - }, + "mode": "me", + "responses": [ + { + "description": "Successful operation.", + "schema": { + "type": "object", + "required": [ + "end_market", + "etag", + "id", + "object", + "status", + "tier" + ], + "properties": [ { "type": "string", "maxLength": 100, "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_name", - "entity_fieldname": "admin_name", - "_key": "admin_name" + "example": "110 Fulbourn Rd", + "description": "Postal address line 1.", + "api_fieldname": "address_line1", + "entity_fieldname": "address_line1", + "_key": "address_line1" }, { "type": "string", + "maxLength": 100, "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_password", - "entity_fieldname": "admin_password", - "_key": "admin_password" + "example": " ", + "description": "Postal address line 2.", + "api_fieldname": "address_line2", + "entity_fieldname": "address_line2", + "_key": "address_line2" }, { "type": "array", @@ -7941,53 +8366,6 @@ "description": "Postal address line 2.", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -8859,12 +9237,6 @@ "customer_number", "parent_account", "expiration", - "admin_id", - "admin_name", - "admin_email", - "admin_key", - "admin_password", - "admin_full_name", "limitations", "password_recovery_expiration", "business_model", @@ -8959,65 +9331,6 @@ "entity_fieldname": "address_line2", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_email", - "entity_fieldname": "admin_email", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_full_name", - "entity_fieldname": "admin_full_name", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "admin_id", - "entity_fieldname": "admin_id", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "api_fieldname": "admin_key", - "entity_fieldname": "admin_key", - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_name", - "entity_fieldname": "admin_name", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_password", - "entity_fieldname": "admin_password", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -9662,53 +9975,6 @@ "description": "Postal address line 2.", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -10652,12 +10918,6 @@ "customer_number", "parent_account", "expiration", - "admin_id", - "admin_name", - "admin_email", - "admin_key", - "admin_password", - "admin_full_name", "limitations", "password_recovery_expiration", "business_model", @@ -11699,65 +11959,6 @@ "entity_fieldname": "address_line2", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_email", - "entity_fieldname": "admin_email", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_full_name", - "entity_fieldname": "admin_full_name", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "api_fieldname": "admin_id", - "entity_fieldname": "admin_id", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "api_fieldname": "admin_key", - "entity_fieldname": "admin_key", - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_name", - "entity_fieldname": "admin_name", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "api_fieldname": "admin_password", - "entity_fieldname": "admin_password", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -12402,53 +12603,6 @@ "description": "Postal address line 2.", "_key": "address_line2" }, - { - "pattern": "^(?=.{3,254}$).+\\@.+", - "type": "string", - "x-nullable": true, - "example": "admin@arm.com", - "description": "The email address of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_email" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "Admin Doe", - "description": "The full name of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_full_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "01619571e2e89242ac12000600000000", - "description": "The ID of the admin user created for this account. Present only in the response for the account creation.", - "pattern": "[a-f0-9]{32}", - "_key": "admin_id" - }, - { - "type": "string", - "x-nullable": true, - "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", - "description": "The admin API key created for this account. Present only in the response for account creation.", - "readOnly": true, - "_key": "admin_key" - }, - { - "type": "string", - "maxLength": 100, - "x-nullable": true, - "example": "admin", - "description": "The username of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_name" - }, - { - "type": "string", - "x-nullable": true, - "example": "PZf9eEUH43DAPE9ULINFeuj", - "description": "The password of the admin user created for this account. Present only in the response for account creation.", - "_key": "admin_password" - }, { "type": "array", "maxItems": 10, @@ -13516,12 +13670,6 @@ "reference_note", "parent_account", "expiration", - "admin_id", - "admin_name", - "admin_email", - "admin_key", - "admin_password", - "admin_full_name", "limitations", "business_model_history", "tier_history" diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index f67e2c2bf..63f44c8d3 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -1216,7 +1216,7 @@ entities: default: active_device_business_model description: Business model for this account. Manageable by the root admin only. entity_fieldname: business_model - enum: &id001 + enum: - active_device_business_model - api_calls_1_business_model enum_reference: account_business_model_enum @@ -1318,7 +1318,7 @@ entities: example: IT in: body parameter_fieldname: end_market - required: false + required: true type: string - _key: phone_number api_fieldname: phone_number @@ -1368,6 +1368,9 @@ entities: description: Successful operation. schema: description: Represents an account in requests and responses. + foreign_key: + entity: account + group: Accounts properties: - _key: address_line1 api_fieldname: address_line1 @@ -1935,47 +1938,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - description: The full name of the admin user created for this account. - Present only in the response for account creation. - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - description: The admin API key created for this account. Present only - in the response for account creation. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - description: The username of the admin user created for this account. - Present only in the response for account creation. - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - description: The password of the admin user created for this account. - Present only in the response for account creation. - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases description: An array of aliases for the tenant account ID. The aliases must be globally unique. @@ -2386,7 +2348,483 @@ entities: type: string - _key: sub_accounts description: List of sub accounts. Not available for developer users. - items: [] + items: + description: Represents an account in requests and responses. + properties: + - _key: address_line1 + description: Postal address line 1. + example: 110 Fulbourn Rd + maxLength: 100 + type: string + x-nullable: true + - _key: address_line2 + description: Postal address line 2. + example: ' ' + maxLength: 100 + type: string + x-nullable: true + - _key: aliases + description: An array of aliases for the tenant account ID. The + aliases must be globally unique. + items: + pattern: '[\w\-._]{8,100}' + type: string + maxItems: 10 + type: array + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by the + root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: business_model_history + description: Business model history for this account. + items: + properties: + - _key: business_model + default: active_device_business_model + description: Business model for this account. Manageable by + the root admin only. + enum: + - active_device_business_model + - api_calls_1_business_model + example: api_calls_1_business_model + type: string + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array + - _key: city + description: The city part of the postal address. + example: Cambridge + maxLength: 100 + type: string + x-nullable: true + - _key: company + description: The name of the company used in billing. + example: ARM Holdings Plc + maxLength: 100 + type: string + x-nullable: true + - _key: contact + description: The name of the contact person for this account. + example: J. Doe + maxLength: 100 + type: string + x-nullable: true + - _key: contract_number + description: Contract number of the customer. + example: 1NX25_0001 + type: string + x-nullable: true + - _key: country + description: The country part of the postal address. + example: United Kingdom + maxLength: 100 + type: string + x-nullable: true + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: custom_fields + additionalProperties: + type: string + description: Account's custom properties as key-value pairs. + type: object + x-nullable: true + - _key: customer_number + description: Customer number of the customer. + example: 1NC25_0001 + type: string + x-nullable: true + - _key: display_name + description: The display name for the tenant account. + example: ARM + maxLength: 100 + type: string + x-nullable: true + - _key: email + description: The company email address for this account. + example: info@arm.com + pattern: ^(?=.{3,254}$).+\@.+ + type: string + x-nullable: true + - _key: end_market + description: Account end market. + example: IT + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: expiration + description: Expiration time of the account, as UTC time RFC3339. + format: date-time + type: string + x-nullable: true + - _key: expiration_warning_threshold + description: Indicates how many days (1-180) before account expiration + a notification email is sent. + example: '180' + maximum: 180 + minimum: 1 + type: integer + x-nullable: true + - _key: id + description: Account ID. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + - _key: idle_timeout + description: The reference token expiration time, in minutes, for + this account. + example: '30' + maximum: 120 + minimum: 1 + type: integer + x-nullable: true + - _key: limitations + description: List of account limitation objects. + items: + description: This object represents an account limitation. + properties: + - _key: billing_period + description: Billing period of the account limitation. + format: int32 + type: integer + - _key: created_at + description: Creation UTC time RFC3339. + example: '2018-02-13T09:35:20Z' + format: date-time + type: string + - _key: description + description: Description of the account limitation. + readOnly: true + type: string + - _key: etag + description: API resource entity version. + example: '1' + type: string + - _key: id + description: Entity ID. + example: 01619571d01d0242ac12000600000000 + type: string + - _key: inherited + description: Flag indicating whether this limitation is inherited. + readOnly: true + type: boolean + - _key: inherited_from + description: Indicates where this limit is inherited from. + readOnly: true + type: string + - _key: inherited_type + description: Indicates the type of the entity where the limitation + is inherited from. + readOnly: true + type: string + - _key: limit + description: The value of the limit. + format: int32 + type: integer + - _key: name + description: Name of the account limitation. + type: string + - _key: object + description: 'Entity name: always ''limitation''' + enum: + - user + - api-key + - group + - account + - account_template + - trusted_cert + - list + - error + - agreement + - signed_agreement + - policy + - limitation + - identity_provider + - user_session + - user_invitation + - notification_entry + - branding_color + - branding_image + type: string + - _key: quota + description: Quota of the account limitation. + format: int32 + type: integer + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array + - _key: limits + additionalProperties: + type: string + description: 'DEPRECATED: Replaced by the limitations parameter.' + type: object + x-deprecation: + comment: Replaced by the limitations parameter. + end_of_life_at: '2020-08-27T12:03:58+00:00' + issued_at: '2019-08-27T12:03:58+00:00' + x-nullable: true + - _key: mfa_status + description: The enforcement status of multi-factor authentication, + either `enforced` or `optional`. + enum: + - enforced + - optional + type: string + x-nullable: true + - _key: notification_emails + description: A list of notification email addresses. + items: + pattern: ^(?=.{3,254}$).+\@.+ + type: string + type: array + x-nullable: true + - _key: object + description: 'Entity name: always `account`.' + enum: + - account + type: string + - _key: parent_account + description: Represents parent account contact details in responses. + foreign_key: + entity: parent_account + group: Accounts + properties: + - _key: admin_email + api_fieldname: admin_email + description: The email address of the admin user who is the contact + person of the parent account. + entity_fieldname: admin_email + example: info@arm.com + pattern: ^(?=.{3,254}$).+\@.+ + type: string + - _key: admin_name + api_fieldname: admin_name + description: The name of the admin user who is the contact person + of the parent account. + entity_fieldname: admin_name + example: J. Doe + maxLength: 100 + type: string + - _key: id + api_fieldname: id + description: The ID of the parent account. + entity_fieldname: id + example: 01619571dad80242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + type: object + x-nullable: true + - _key: parent_id + description: The ID of the parent account, if any. + example: 01619571dad80242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + x-nullable: true + - _key: password_policy + description: The password policy for this account. + foreign_key: + entity: password_policy + group: Accounts + properties: + - _key: minimum_length + api_fieldname: minimum_length + description: Minimum length for the password. + entity_fieldname: minimum_length + example: '8' + maximum: 512 + minimum: 8 + type: integer + required: + - minimum_length + type: object + x-nullable: true + - _key: password_recovery_expiration + description: Indicates for how many minutes a password recovery + email is valid. + format: int32 + maximum: 45 + minimum: 1 + type: integer + - _key: phone_number + description: The phone number of a company representative. + example: +44 (1223) 400 400 + maxLength: 100 + type: string + x-nullable: true + - _key: policies + description: List of policies if requested. + items: + description: Represents a feature policy. Either the feature or + the resource must be specified. + foreign_key: + entity: policy + group: Accounts + properties: + - _key: action + api_fieldname: action + description: Comma-separated list of actions, empty string represents + all actions. + entity_fieldname: action + example: GET + type: string + - _key: allow + api_fieldname: allow + description: True or false controlling whether an action is + allowed or not. + entity_fieldname: allow + example: true + type: boolean + - _key: feature + api_fieldname: feature + description: Feature name corresponding to this policy. + entity_fieldname: feature + example: update-campaigns + type: string + - _key: inherited + api_fieldname: inherited + description: Flag indicating whether this feature is inherited + or overwritten specifically. + entity_fieldname: inherited + example: false + readOnly: true + type: boolean + - _key: inherited_from + api_fieldname: inherited_from + description: An ID indicating where this policy is inherited + from. + entity_fieldname: inherited_from + example: 016ada3ec2d46665bf66e32e00000000 + pattern: '[a-f0-9]{32}' + readOnly: true + type: string + - _key: inherited_type + api_fieldname: inherited_type + description: Indicates the type of entity this policy is inherited + from. + entity_fieldname: inherited_type + enum: + - account + - template + - tier_template + example: account + readOnly: true + type: string + - _key: resource + api_fieldname: resource + description: Resource that is protected by this policy. + entity_fieldname: resource + example: /v3/update-campaign + type: string + type: object + type: array + x-nullable: true + - _key: postal_code + description: The postal code part of the postal address. + example: CB1 9NJ + maxLength: 100 + type: string + x-nullable: true + - _key: reason + description: A note with the reason for account status update. + example: Subscription paid. + type: string + x-nullable: true + - _key: reference_note + description: A reference note for updating the status of the account. + example: ARM-INT-0001 + type: string + x-nullable: true + - _key: sales_contact + description: Email address of the sales contact. + example: sales@arm.com + pattern: ^(?=.{3,254}$).+\@.+ + type: string + x-nullable: true + - _key: state + description: The state part of the postal address. + example: ' ' + maxLength: 100 + type: string + x-nullable: true + - _key: status + description: The status of the account. + enum: + - ENROLLING + - ACTIVE + - RESTRICTED + - SUSPENDED + example: ACTIVE + type: string + - _key: sub_accounts + description: List of sub accounts. Not available for developer users. + items: [] + type: array + x-nullable: true + - _key: template_id + description: Account template ID. + example: 01619571e7160242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + x-nullable: true + - _key: tier + description: 'The tier level of the account; `0`: free tier, `1`: + commercial account, `2`: partner tier. Other values are reserved + for the future.' + example: '1' + type: string + - _key: tier_history + description: Tier history for this account. + items: + properties: + - _key: tier + description: 'The tier level of the account; `0`: free tier, + `1`: commercial account, `2`: partner tier. Other values are + reserved for the future.' + example: '1' + type: string + - _key: updatedAt + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + type: object + type: array + - _key: updated_at + description: Last update UTC time RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + - _key: upgraded_at + description: Time when upgraded to commercial account in UTC format + RFC3339. + example: '2018-02-14T15:24:14Z' + format: date-time + type: string + required: + - end_market + - etag + - id + - object + - status + - tier + type: object type: array x-nullable: true - _key: template_id @@ -2485,13 +2923,6 @@ entities: example: '2018-02-14T15:24:14Z' format: date-time type: string - required: - - end_market - - etag - - id - - object - - status - - tier type: object - _key: '400' description: Error in input data, for example, invalid username. @@ -4147,47 +4578,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - description: The full name of the admin user created for this account. - Present only in the response for account creation. - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - description: The admin API key created for this account. Present only - in the response for account creation. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - description: The username of the admin user created for this account. - Present only in the response for account creation. - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - description: The password of the admin user created for this account. - Present only in the response for account creation. - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases description: An array of aliases for the tenant account ID. The aliases must be globally unique. @@ -4613,47 +5003,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - description: The email address of the admin user created for this - account. Present only in the response for account creation. - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - description: The full name of the admin user created for this account. - Present only in the response for account creation. - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - description: The ID of the admin user created for this account. - Present only in the response for the account creation. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - description: The admin API key created for this account. Present - only in the response for account creation. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - description: The username of the admin user created for this account. - Present only in the response for account creation. - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - description: The password of the admin user created for this account. - Present only in the response for account creation. - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases description: An array of aliases for the tenant account ID. The aliases must be globally unique. @@ -5381,12 +5730,6 @@ entities: - customer_number - parent_account - expiration - - admin_id - - admin_name - - admin_email - - admin_key - - admin_password - - admin_full_name - limitations - password_recovery_expiration - business_model @@ -5449,59 +5792,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - api_fieldname: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - entity_fieldname: admin_email - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - api_fieldname: admin_full_name - description: The full name of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_full_name - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - api_fieldname: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - entity_fieldname: admin_id - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - api_fieldname: admin_key - description: The admin API key created for this account. Present only in - the response for account creation. - entity_fieldname: admin_key - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - api_fieldname: admin_name - description: The username of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_name - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - api_fieldname: admin_password - description: The password of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_password - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases api_fieldname: aliases description: An array of aliases for the tenant account ID. The aliases @@ -5999,47 +6289,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - description: The full name of the admin user created for this account. - Present only in the response for account creation. - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - description: The admin API key created for this account. Present only - in the response for account creation. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - description: The username of the admin user created for this account. - Present only in the response for account creation. - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - description: The password of the admin user created for this account. - Present only in the response for account creation. - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases description: An array of aliases for the tenant account ID. The aliases must be globally unique. @@ -6718,12 +6967,6 @@ entities: - customer_number - parent_account - expiration - - admin_id - - admin_name - - admin_email - - admin_key - - admin_password - - admin_full_name - limitations - password_recovery_expiration - business_model @@ -6794,59 +7037,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - api_fieldname: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - entity_fieldname: admin_email - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - api_fieldname: admin_full_name - description: The full name of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_full_name - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - api_fieldname: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - entity_fieldname: admin_id - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - api_fieldname: admin_key - description: The admin API key created for this account. Present only in - the response for account creation. - entity_fieldname: admin_key - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - api_fieldname: admin_name - description: The username of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_name - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - api_fieldname: admin_password - description: The password of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_password - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases api_fieldname: aliases description: An array of aliases for the tenant account ID. The aliases @@ -7344,47 +7534,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - description: The full name of the admin user created for this account. - Present only in the response for account creation. - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - description: The admin API key created for this account. Present only - in the response for account creation. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - description: The username of the admin user created for this account. - Present only in the response for account creation. - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - description: The password of the admin user created for this account. - Present only in the response for account creation. - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases description: An array of aliases for the tenant account ID. The aliases must be globally unique. @@ -8579,12 +8728,6 @@ entities: - reference_note - parent_account - expiration - - admin_id - - admin_name - - admin_email - - admin_key - - admin_password - - admin_full_name - limitations - business_model_history - tier_history @@ -8630,7 +8773,9 @@ entities: default: active_device_business_model description: Business model for this account. Manageable by the root admin only. entity_fieldname: business_model - enum: *id001 + enum: + - active_device_business_model + - api_calls_1_business_model enum_reference: account_business_model_enum example: api_calls_1_business_model in: body @@ -8912,59 +9057,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - api_fieldname: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - entity_fieldname: admin_email - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - api_fieldname: admin_full_name - description: The full name of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_full_name - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - api_fieldname: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - entity_fieldname: admin_id - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - api_fieldname: admin_key - description: The admin API key created for this account. Present only in - the response for account creation. - entity_fieldname: admin_key - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - api_fieldname: admin_name - description: The username of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_name - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - api_fieldname: admin_password - description: The password of the admin user created for this account. Present - only in the response for account creation. - entity_fieldname: admin_password - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases api_fieldname: aliases description: An array of aliases for the tenant account ID. The aliases @@ -9462,47 +9554,6 @@ entities: maxLength: 100 type: string x-nullable: true - - _key: admin_email - description: The email address of the admin user created for this account. - Present only in the response for account creation. - example: admin@arm.com - pattern: ^(?=.{3,254}$).+\@.+ - type: string - x-nullable: true - - _key: admin_full_name - description: The full name of the admin user created for this account. - Present only in the response for account creation. - example: Admin Doe - maxLength: 100 - type: string - x-nullable: true - - _key: admin_id - description: The ID of the admin user created for this account. Present - only in the response for the account creation. - example: 01619571e2e89242ac12000600000000 - pattern: '[a-f0-9]{32}' - type: string - x-nullable: true - - _key: admin_key - description: The admin API key created for this account. Present only - in the response for account creation. - example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT - readOnly: true - type: string - x-nullable: true - - _key: admin_name - description: The username of the admin user created for this account. - Present only in the response for account creation. - example: admin - maxLength: 100 - type: string - x-nullable: true - - _key: admin_password - description: The password of the admin user created for this account. - Present only in the response for account creation. - example: PZf9eEUH43DAPE9ULINFeuj - type: string - x-nullable: true - _key: aliases description: An array of aliases for the tenant account ID. The aliases must be globally unique. @@ -11355,6 +11406,7 @@ entities: primary_key_field: id swagger_models: - AccountCreationReq + - AccountCreationResp - AccountInfo - AccountInfoList - AccountUpdateRootReq @@ -11587,7 +11639,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: &id002 + enum: &id001 - ACTIVE - INACTIVE enum_reference: api_key_status_enum @@ -13435,7 +13487,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: *id002 + enum: *id001 enum_reference: api_key_status_enum example: ACTIVE in: body @@ -19531,7 +19583,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id003 + enum: &id002 - error_color - primary - secondary @@ -20004,7 +20056,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id003 + enum: *id002 enum_reference: dark_theme_color_reference_enum in: path is_primary_key: true @@ -20273,7 +20325,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id003 + enum: *id002 enum_reference: dark_theme_color_reference_enum in: path is_primary_key: true @@ -20657,7 +20709,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id004 + enum: &id003 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -21169,7 +21221,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id004 + enum: *id003 enum_reference: dark_theme_image_reference_enum in: path is_primary_key: true @@ -21447,7 +21499,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id004 + enum: *id003 enum_reference: dark_theme_image_reference_enum in: path is_primary_key: true @@ -35546,7 +35598,7 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: identity_provider_type - enum: &id005 + enum: &id004 - NATIVE - MBED - SAML2 @@ -35692,7 +35744,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: &id006 + enum: &id005 - POST - GET type: string @@ -35755,7 +35807,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id007 + enum: &id006 - ACTIVE - SUSPENDED enum_reference: identity_provider_status_enum @@ -38982,7 +39034,7 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: identity_provider_type - enum: *id005 + enum: *id004 enum_reference: identity_provider_type_enum in: body parameter_fieldname: type @@ -39124,7 +39176,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: *id006 + enum: *id005 type: string - _key: token_response_path description: Path to the standard data in the token response. Levels in the @@ -39185,7 +39237,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id007 + enum: *id006 enum_reference: identity_provider_status_enum in: body parameter_fieldname: status @@ -39789,7 +39841,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id008 + enum: &id007 - error_color - primary - secondary @@ -40262,7 +40314,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id008 + enum: *id007 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -40547,7 +40599,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id008 + enum: *id007 enum_reference: light_theme_color_reference_enum in: path is_primary_key: true @@ -40949,7 +41001,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id009 + enum: &id008 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -41463,7 +41515,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id009 + enum: *id008 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -41744,7 +41796,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id009 + enum: *id008 enum_reference: light_theme_image_reference_enum in: path is_primary_key: true @@ -46296,7 +46348,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: &id010 + enum: &id009 - ACTIVE - INACTIVE enum_reference: subtenant_api_key_status_enum @@ -47660,7 +47712,7 @@ entities: api_fieldname: status description: The status of the API key. entity_fieldname: status - enum: *id010 + enum: *id009 enum_reference: subtenant_api_key_status_enum example: ACTIVE in: body @@ -48099,7 +48151,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id011 + enum: &id010 - error_color - primary - secondary @@ -48327,7 +48379,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id011 + enum: *id010 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -48622,7 +48674,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id011 + enum: *id010 enum_reference: subtenant_dark_theme_color_reference_enum in: path is_primary_key: true @@ -49033,7 +49085,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id012 + enum: &id011 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -49280,7 +49332,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id012 + enum: *id011 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -49572,7 +49624,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id012 + enum: *id011 enum_reference: subtenant_dark_theme_image_reference_enum in: path is_primary_key: true @@ -50325,7 +50377,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: &id013 + enum: &id012 - POST - GET type: string @@ -50388,7 +50440,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: &id014 + enum: &id013 - ACTIVE - SUSPENDED enum_reference: subtenant_identity_provider_status_enum @@ -54013,7 +54065,7 @@ entities: description: One way to obtain the access token. Since the request results in the transmission of clear-text credentials, the client must use the POST mode. - enum: *id013 + enum: *id012 type: string - _key: token_response_path description: Path to the standard data in the token response. Levels in the @@ -54074,7 +54126,7 @@ entities: api_fieldname: status description: Status of the identity provider. entity_fieldname: status - enum: *id014 + enum: *id013 enum_reference: subtenant_identity_provider_status_enum in: body parameter_fieldname: status @@ -54688,7 +54740,7 @@ entities: api_fieldname: reference description: The name of the branding color. entity_fieldname: reference - enum: &id015 + enum: &id014 - error_color - primary - secondary @@ -54915,7 +54967,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id015 + enum: *id014 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -55210,7 +55262,7 @@ entities: api_fieldname: reference description: Color name. entity_fieldname: reference - enum: *id015 + enum: *id014 enum_reference: subtenant_light_theme_color_reference_enum in: path is_primary_key: true @@ -55619,7 +55671,7 @@ entities: api_fieldname: reference description: Name of the branding images (icon or picture). entity_fieldname: reference - enum: &id016 + enum: &id015 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -55866,7 +55918,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id016 + enum: *id015 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -56157,7 +56209,7 @@ entities: api_fieldname: reference description: Name of the image. entity_fieldname: reference - enum: *id016 + enum: *id015 enum_reference: subtenant_light_theme_image_reference_enum in: path is_primary_key: true @@ -59558,7 +59610,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id017 + enum: &id016 - lwm2m - bootstrap enum_reference: subtenant_trusted_certificate_service_enum @@ -59570,7 +59622,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id018 + enum: &id017 - ACTIVE - INACTIVE enum_reference: subtenant_trusted_certificate_status_enum @@ -61175,7 +61227,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id017 + enum: *id016 enum_reference: subtenant_trusted_certificate_service_enum in: body parameter_fieldname: service @@ -61185,7 +61237,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id018 + enum: *id017 enum_reference: subtenant_trusted_certificate_status_enum example: ACTIVE in: body @@ -62125,14 +62177,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: &id019 + enum: &id018 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id020 + required: &id019 - id type: object parameter_fieldname: login_profiles @@ -64256,10 +64308,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: *id019 + enum: *id018 readOnly: true type: string - required: *id020 + required: *id019 type: object parameter_fieldname: login_profiles required: false @@ -66526,7 +66578,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id021 + enum: &id020 - lwm2m - bootstrap enum_reference: trusted_certificate_service_enum @@ -66538,7 +66590,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id022 + enum: &id021 - ACTIVE - INACTIVE enum_reference: trusted_certificate_status_enum @@ -68488,7 +68540,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id021 + enum: *id020 enum_reference: trusted_certificate_service_enum in: body parameter_fieldname: service @@ -68498,7 +68550,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id022 + enum: *id021 enum_reference: trusted_certificate_status_enum example: ACTIVE in: body @@ -71762,14 +71814,14 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: &id023 + enum: &id022 - NATIVE - MBED - SAML2 - OIDC readOnly: true type: string - required: &id024 + required: &id023 - id type: object parameter_fieldname: login_profiles @@ -74278,10 +74330,10 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: *id023 + enum: *id022 readOnly: true type: string - required: *id024 + required: *id023 type: object parameter_fieldname: login_profiles required: false From be8bd9a57aec8655948bfe966636aebb02deda91 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 23 Mar 2020 07:36:33 +0000 Subject: [PATCH 065/111] new SDK config changes via api-contract @ 2020-03-23 07:36 --- api_specifications/public/pelion_dm_public_openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index b05ff3b3e..949fa6f12 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6025,7 +6025,7 @@ definitions: type: string rt: description: 'Application-specific resource type that describes this resource. - It is created by the [client side application](../connecting/resource-setup-in-device-management-client.html). + It is created by the [client side application](../device-management/resource-setup-in-device-management-client.html). Not meant to be a human-readable name for the resource. Multiple resource types may be included, separated by a space.' From e87f4cb247368f0b25b5bb48bf10f8c4877627f0 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 23 Mar 2020 13:44:21 +0000 Subject: [PATCH 066/111] new SDK config changes via api-contract @ 2020-03-23 13:44 --- api_specifications/public/pelion_dm_public_openapi.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 949fa6f12..7440ac640 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6946,7 +6946,8 @@ definitions: maxLength: 100 type: string service: - description: Service name where the certificate must be used. + description: Service name where the certificate must be used. Service cannot + be updated for developer certificates. enum: - lwm2m - bootstrap From ba20b32268753ec931c9aa44f19908d1d2acc8d3 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 27 Mar 2020 10:08:11 +0000 Subject: [PATCH 067/111] new SDK config changes via api-contract @ 2020-03-27 10:08 --- api_specifications/public/pelion_dm_public_openapi.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 7440ac640..bb8b7c8f9 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9928,8 +9928,13 @@ paths: \ sends subscription requests to the device. The pattern may include the endpoint\ \ ID (optionally having an `*` character at the end), endpoint type, a list\ \ of resources, or expressions with an `*` character at the end. Subscriptions\ - \ based on pre-subscriptions are done when device registers or does register\ + \ based on pre-subscriptions are done when device registers or does a register\ \ update. To remove the pre-subscription data, put an empty array as a rule.\n\ + \n**Note:** The subscription is bound to the API key your application is using.\ + \ To get notifications of the resource value changes, you need to create an\ + \ [event notification channel](../integrate-web-app/event-notification.html)\ + \ with the same API Key.\n\nFor more information, see [Subscribing to Resource\ + \ changes from a web application](../device-management/resource-change-webapp.html).\n\ \n**Notification rules**\n\nA web application can place dynamic observation\ \ rules for individual Object Instances and Resources to define when the device\ \ sends observations. More information in [Notification rules](../device-management/resource-change-webapp.html#notification-rules).\n\ From 25c8998ec8f33dc436985859668d08ab20fe12a5 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 1 Apr 2020 16:00:49 +0000 Subject: [PATCH 068/111] new SDK config changes via api-contract @ 2020-04-01 16:00 --- .../public/pelion_dm_public_openapi.yaml | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index bb8b7c8f9..fdf3fac1f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8541,7 +8541,9 @@ paths: **Example**: Read the value of Resource "/3200/0/5501". If the value is not - in cache, the read command will go all the way to the device. + in the cache, the read command will + + go all the way to the device. ``` @@ -8620,6 +8622,9 @@ paths: delivered, the status code generated by the server is *429* or *5xx*. + See also `/v2/device-requests/{device-id}`. + + You can write [Notification Rules](../device-management/resource-change-webapp.html#notification-rules) for a @@ -8683,7 +8688,7 @@ paths: 202 Accepted - Examples of AsyncIDResponse, delivered via the notification channel: + Example AsyncIDResponse, delivered through the notification channel: { "async-responses": [ { "id": "123e4567-e89b-12d3-a456-426655440000", "status": 200, "payload": "dmFsdWUxCg==", "ct": "text/plain", "max-age": 600 } ] } @@ -8691,9 +8696,7 @@ paths: { "async-responses": [ { "id": "123e4567-e89b-12d3-a456-426655440000", "status": 504, "error": "TIMEOUT" } ] } - ``` - - ' + ```' operationId: createAsyncRequest parameters: - description: The device ID generated by Device Management. @@ -8763,9 +8766,9 @@ paths: \ path is correct.
" schema: type: string - summary: Send an async request to device + summary: Send an async request to device. tags: - - DeviceRequests + - Device data - requests x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/device-shared-keys: get: @@ -8978,7 +8981,7 @@ paths: description: Endpoint not found. summary: List the resources on an endpoint. tags: - - Endpoints + - Device data - resources x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/endpoints/{device-id}/{resourcePath}: delete: @@ -9050,7 +9053,7 @@ paths: description: TCP or TLS connection to endpoint cannot be established. summary: (DEPRECATED) Delete a resource path. tags: - - Resources + - Device data - resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. end_of_life_at: '2020-05-17T00:00:00+00:00' @@ -9156,7 +9159,7 @@ paths: description: TCP or TLS connection to endpoint cannot be established. summary: (DEPRECATED) Read from a resource. tags: - - Resources + - Device data - resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. The /v2/device-requests/{device-id} endpoint lets you use your own async-id, @@ -9268,7 +9271,7 @@ paths: summary: (DEPRECATED) Execute a function on a Resource or create new Object instance. tags: - - Resources + - Device data - resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. end_of_life_at: '2020-05-17T00:00:00+00:00' @@ -9389,7 +9392,7 @@ paths: summary: (DEPRECATED) Write to a Resource or use write-attributes (notification rules) for a Resource. tags: - - Resources + - Device data - resources x-deprecation: comment: /v2/endpoints/{device-id}/{resourcePath} is replaced by /v2/device-requests/{device-id}. end_of_life_at: '2020-05-17T00:00:00+00:00' @@ -9887,7 +9890,7 @@ paths: description: 'Forbidden: the authorization token used is not an API key.' summary: Remove pre-subscriptions. tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml get: description: 'Retrieve pre-subscription data. The server returns a JSON structure. @@ -9917,7 +9920,7 @@ paths: description: 'Forbidden: the authorization token used is not an API key.' summary: Get pre-subscriptions. tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml put: consumes: @@ -9978,7 +9981,7 @@ paths: description: 'Forbidden: the authorization token used is not an API key.' summary: Set pre-subscriptions tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/subscriptions/{device-id}: delete: @@ -10008,7 +10011,7 @@ paths: description: Successfully removed. summary: Delete subscriptions from an endpoint. tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml get: description: 'Lists all subscribed resources from a single endpoint. @@ -10046,7 +10049,7 @@ paths: endpoint. summary: Read endpoints subscriptions tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/subscriptions/{device-id}/{resourcePath}: delete: @@ -10081,7 +10084,7 @@ paths: description: Successfully removed subscription. summary: Remove a subscription. tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml get: operationId: checkResourceSubscription @@ -10104,7 +10107,7 @@ paths: description: Resource is not subscribed. summary: Read subscription status tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml put: description: 'The Device Management Connect eventing model consists of observable @@ -10179,7 +10182,7 @@ paths: description: 'Subscription failed: endpoint not connected.' summary: Subscribe to a resource path. tags: - - Subscriptions + - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml /v3/accounts: get: From 8b4a38f01e957d1b0cf5f0f5bc39fb112ec169c9 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 1 Apr 2020 16:04:17 +0000 Subject: [PATCH 069/111] new SDK config changes via api-contract @ 2020-04-01 16:04 --- api_specifications/public/pelion_dm_public_openapi.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index fdf3fac1f..d646e8bf2 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9957,9 +9957,10 @@ paths: \ their resources prefixed with `/sen/`.\n- Subscribe to all observable resources\ \ of endpoint names prefixed with `node`.\n- Subscribe to all observable resources\ \ of `Sensor` type endpoints.\n- Subscribe to `/dev/temp` and `/dev/hum` resources\ - \ of all endpoints.\n\n**Note**: For efficiency, you should use resource path\ - \ patterns in the pre-subscription data. This prevents notification flow from\ - \ unwanted resources." + \ of all endpoints.\n\n**Note**:\nTo save bandwidth and avoid unnecessary\ + \ traffic, use resource path patterns to limit the matching resources in the\ + \ presubscription data.\nThis prevents the notification flow from unwanted\ + \ resources to your web application. See [Subscribe only to what you need](../device-management/resource-change-webapp.html#subscribe-only-to-what-you-need)." operationId: updatePreSubscriptions parameters: - description: Array of pre-subscriptions. From d8c638a669cd6548a8c121fbfc177d947c9b0bca Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 2 Apr 2020 12:20:00 +0000 Subject: [PATCH 070/111] new SDK config changes via api-contract @ 2020-04-02 12:20 --- .../public/pelion_dm_public_openapi.yaml | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index d646e8bf2..a274be9fa 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6448,6 +6448,86 @@ definitions: required: - object - previous + StatisticsReportListResponse: + properties: + after: + description: An offset token for the current page. + example: '01631667477600000000000100100374' + type: string + data: + description: List of manufacturing statistics. + items: + $ref: '#/definitions/StatisticsReportResponse' + type: array + end: + example: '2020-03-30T07:30:00.000' + format: date-time + type: string + has_more: + description: Indicates if more results are available. + example: false + type: boolean + limit: + description: The number of results to return (2-1000). Values outside of this + range are set to the closest limit. + example: 50 + maximum: 1000 + minimum: 2 + type: integer + object: + description: The API object type. The object type of this API is "list". + example: list + type: string + order: + description: The records order based on the records identifier. + example: DESC + type: string + start: + example: '2020-03-29T07:30:00.000' + format: date-time + type: string + total_count: + example: 100 + format: integer + type: integer + type: object + StatisticsReportResponse: + properties: + avg_provisioning_time_sec: + description: Average provisioning time in seconds. + example: '2.5' + type: number + device_count: + description: Number of manufactured devices. + example: '103' + type: integer + factory_id: + description: Factory ID. + example: '164' + type: integer + factory_name: + description: Factory Name. + example: factory 1 + type: string + id: + description: Unique row identifier. + example: 01612df56f3b0a580a010fc700000000 + format: uuid + pattern: '[a-fA-F0-9]{32}' + type: string + max_provisioning_time_sec: + description: Maximum provisioning time in seconds. + example: '3.1' + type: number + min_provisioning_time_sec: + description: Minimum provisioning time in seconds. + example: '2.2' + type: number + workstation: + description: Workstation. + example: ws_1 + type: string + type: object StatisticsSeriesRecord: description: Statistics view record. properties: @@ -25747,6 +25827,63 @@ paths: tags: - Account - entitlement limitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/manufacturing/statistics/report: + get: + description: 'Get manufacturing statistics report. + + **Example:** + + ``` + + curl \ + + -H ''authorization: '' \ + + https://api.us-east-1.mbedcloud.com/v3/manufacturing/statistics-report?startDate=2019-10-20&endDate=2019-10-22 + + ``` + + ' + operationId: ManufacturingStatisticsReport + parameters: + - description: The start date of the period on which the report is produced. + format: date-time + in: query + name: start + required: true + type: string + - description: The end date of the period on which the report is produced. Default + is the current date-time. + format: date-time + in: query + name: end + required: false + type: string + produces: + - application/json + responses: + 200: + description: OK. + schema: + $ref: '#/definitions/StatisticsReportListResponse' + 204: + description: No content. + 400: + description: Validation error. + schema: + $ref: '#/definitions/ErrorResponse' + 401: + description: Unauthorized. + schema: + $ref: '#/definitions/ErrorResponse' + 403: + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Fetch statistics for provisioning devices in your factories. + tags: + - Manufacturing - factory statistics + x-origin: /home/circleci/project/manufacturing-statistics/public/swagger.yml /v3/metrics: get: description: This REST API is used to get account-specific statistics. From 7904c1227d48ffea8b5f20ee16c8bbf5cfaf6659 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 3 Apr 2020 14:07:52 +0000 Subject: [PATCH 071/111] new SDK config changes via api-contract @ 2020-04-03 14:07 --- api_specifications/public/pelion_dm_public_openapi.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index a274be9fa..c4145bf63 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -5999,6 +5999,10 @@ definitions: required: - uri type: object + ResourceArray: + items: + $ref: '#/definitions/Resource' + type: array ResourcePath: description: A resource URI. example: /sen/light @@ -9054,9 +9058,7 @@ paths: 200: description: Successful response with an array of resources. schema: - items: - $ref: '#/definitions/Resource' - type: array + $ref: '#/definitions/ResourceArray' 404: description: Endpoint not found. summary: List the resources on an endpoint. From b5e88012d715162dc691bd975c7d52518d38cb83 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 8 Apr 2020 06:13:29 +0000 Subject: [PATCH 072/111] new SDK config changes via api-contract @ 2020-04-08 06:13 --- .../public/pelion_dm_public_openapi.yaml | 10 ++ .../public/sdk_foundation_definition.json | 108 ++++++++++++++++++ .../public/sdk_foundation_definition.yaml | 108 ++++++++++++++++++ 3 files changed, 226 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index c4145bf63..4b04cb624 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -874,6 +874,12 @@ definitions: example: 01619571e2e90242ac12000600000000 readOnly: true type: string + login_profiles: + description: A list of login profiles for the user in the account. + items: + $ref: '#/definitions/LoginProfile' + type: array + x-nullable: true parent_id: description: The UUID of the parent account, if it has any. example: 01619571f3c00242ac12000600000000 @@ -5226,13 +5232,16 @@ definitions: properties: foreign_id: description: The ID of the user in the identity provider's service. + example: fed/user_007 readOnly: true type: string id: description: ID of the identity provider. + example: 01619571f3c00242ac12000600000000 type: string name: description: Name of the identity provider. + example: Pelion readOnly: true type: string type: @@ -5242,6 +5251,7 @@ definitions: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index c2faec6f2..0be5753e4 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -13858,6 +13858,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -13866,6 +13867,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -13875,6 +13877,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -13885,6 +13888,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -14640,6 +14644,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -14648,6 +14653,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -14657,6 +14663,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -14667,6 +14674,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -55496,6 +55504,7 @@ "fields": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -55504,6 +55513,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -55514,6 +55524,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -55528,6 +55539,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -58987,6 +58999,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -58995,6 +59008,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -59004,6 +59018,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -59014,6 +59029,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -78029,6 +78045,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -78037,6 +78054,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -78046,6 +78064,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -78056,6 +78075,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -81472,6 +81492,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -81480,6 +81501,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -81489,6 +81511,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -81499,6 +81522,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -81892,6 +81916,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -81900,6 +81925,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -81909,6 +81935,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -81919,6 +81946,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -83693,6 +83721,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -83701,6 +83730,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -83710,6 +83740,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -83720,6 +83751,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -84228,6 +84260,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -84236,6 +84269,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -84245,6 +84279,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -84255,6 +84290,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -84636,6 +84672,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -84644,6 +84681,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -84653,6 +84691,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -84663,6 +84702,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -85795,6 +85835,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -85803,6 +85844,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -85812,6 +85854,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -85822,6 +85865,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -86004,6 +86048,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -86012,6 +86057,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -86021,6 +86067,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -86031,6 +86078,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -86174,6 +86222,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -86182,6 +86231,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -86191,6 +86241,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -86201,6 +86252,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -86925,6 +86977,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -86933,6 +86986,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -86942,6 +86996,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -86952,6 +87007,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -87348,6 +87404,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -87356,6 +87413,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -87365,6 +87423,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -87375,6 +87434,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -93438,6 +93498,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -93446,6 +93507,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -93455,6 +93517,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -93465,6 +93528,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -93834,6 +93898,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -93842,6 +93907,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -93851,6 +93917,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -93861,6 +93928,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -95008,6 +95076,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -95016,6 +95085,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -95025,6 +95095,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -95035,6 +95106,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -96206,6 +96278,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -96214,6 +96287,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -96223,6 +96297,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -96233,6 +96308,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -96715,6 +96791,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -96723,6 +96800,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -96732,6 +96810,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -96742,6 +96821,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -97099,6 +97179,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -97107,6 +97188,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -97116,6 +97198,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -97126,6 +97209,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -97946,6 +98030,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -97954,6 +98039,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -97963,6 +98049,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -97973,6 +98060,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -98134,6 +98222,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -98142,6 +98231,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -98151,6 +98241,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -98161,6 +98252,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -98295,6 +98387,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -98303,6 +98396,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -98312,6 +98406,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -98322,6 +98417,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -99054,6 +99150,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -99062,6 +99159,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -99071,6 +99169,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -99081,6 +99180,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -99484,6 +99584,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -99492,6 +99593,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -99501,6 +99603,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -99511,6 +99614,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", @@ -99899,6 +100003,7 @@ "properties": [ { "type": "string", + "example": "fed/user_007", "description": "The ID of the user in the identity provider's service.", "readOnly": true, "api_fieldname": "foreign_id", @@ -99907,6 +100012,7 @@ }, { "type": "string", + "example": "01619571f3c00242ac12000600000000", "description": "ID of the identity provider.", "readOnly": false, "_override": true, @@ -99916,6 +100022,7 @@ }, { "type": "string", + "example": "Pelion", "readOnly": false, "description": "Name of the identity provider.", "_override": true, @@ -99926,6 +100033,7 @@ { "type": "string", "description": "Identity provider type.", + "example": "NATIVE", "readOnly": true, "enum": [ "NATIVE", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 63f44c8d3..4dda88cd7 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -10489,6 +10489,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -10496,6 +10497,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -10503,6 +10505,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -10514,6 +10517,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -11091,6 +11095,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -11098,6 +11103,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -11105,6 +11111,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -11116,6 +11123,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -42153,6 +42161,7 @@ entities: - _key: foreign_id api_fieldname: foreign_id description: The ID of the user in the identity provider's service. + example: fed/user_007 readOnly: true required: false type: string @@ -42160,6 +42169,7 @@ entities: _override: true api_fieldname: id description: ID of the identity provider. + example: 01619571f3c00242ac12000600000000 readOnly: false required: false type: string @@ -42172,6 +42182,7 @@ entities: - SAML2 - OIDC enum_reference: login_profile_type_enum + example: NATIVE readOnly: true required: false type: string @@ -42179,6 +42190,7 @@ entities: _override: true api_fieldname: name description: Name of the identity provider. + example: Pelion readOnly: false required: false type: string @@ -44880,6 +44892,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -44887,6 +44900,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -44894,6 +44908,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -44905,6 +44920,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -59025,6 +59041,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -59032,6 +59049,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -59039,6 +59057,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -59050,6 +59069,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -61903,6 +61923,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -61910,6 +61931,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -61917,6 +61939,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -61928,6 +61951,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -62157,6 +62181,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -62164,6 +62189,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -62171,6 +62197,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -62182,6 +62209,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: &id019 @@ -62501,6 +62529,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -62508,6 +62537,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -62515,6 +62545,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -62526,6 +62557,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -63874,6 +63906,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -63881,6 +63914,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -63888,6 +63922,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -63899,6 +63934,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -64288,6 +64324,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -64295,6 +64332,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -64302,6 +64340,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -64309,6 +64348,7 @@ entities: description: Identity provider type. entity_fieldname: login_profile_type enum: *id018 + example: NATIVE readOnly: true type: string required: *id019 @@ -64616,6 +64656,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -64623,6 +64664,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -64630,6 +64672,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -64641,6 +64684,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -65276,6 +65320,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -65283,6 +65328,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -65290,6 +65336,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -65301,6 +65348,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -65407,6 +65455,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -65414,6 +65463,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -65421,6 +65471,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -65432,6 +65483,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -65548,6 +65600,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -65555,6 +65608,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -65562,6 +65616,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -65573,6 +65628,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -66114,6 +66170,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -66121,6 +66178,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -66128,6 +66186,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -66139,6 +66198,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -71559,6 +71619,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -71566,6 +71627,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -71573,6 +71635,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -71584,6 +71647,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -71794,6 +71858,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -71801,6 +71866,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -71808,6 +71874,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -71819,6 +71886,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: &id023 @@ -72113,6 +72181,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -72120,6 +72189,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -72127,6 +72197,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -72138,6 +72209,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -72988,6 +73060,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -72995,6 +73068,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -73002,6 +73076,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -73013,6 +73088,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -73920,6 +73996,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -73927,6 +74004,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -73934,6 +74012,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -73945,6 +74024,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -74310,6 +74390,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -74317,6 +74398,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -74324,6 +74406,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -74331,6 +74414,7 @@ entities: description: Identity provider type. entity_fieldname: login_profile_type enum: *id022 + example: NATIVE readOnly: true type: string required: *id023 @@ -74613,6 +74697,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -74620,6 +74705,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -74627,6 +74713,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -74638,6 +74725,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -75045,6 +75133,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -75052,6 +75141,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -75059,6 +75149,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -75070,6 +75161,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -75165,6 +75257,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -75172,6 +75265,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -75179,6 +75273,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -75190,6 +75285,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -75296,6 +75392,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -75303,6 +75400,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -75310,6 +75408,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -75321,6 +75420,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -75861,6 +75961,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -75868,6 +75969,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -75875,6 +75977,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -75886,6 +75989,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: @@ -76189,6 +76293,7 @@ entities: api_fieldname: foreign_id description: The ID of the user in the identity provider's service. entity_fieldname: foreign_id + example: fed/user_007 readOnly: true type: string - _key: id @@ -76196,6 +76301,7 @@ entities: api_fieldname: id description: ID of the identity provider. entity_fieldname: id + example: 01619571f3c00242ac12000600000000 readOnly: false type: string - _key: name @@ -76203,6 +76309,7 @@ entities: api_fieldname: name description: Name of the identity provider. entity_fieldname: name + example: Pelion readOnly: false type: string - _key: type @@ -76214,6 +76321,7 @@ entities: - MBED - SAML2 - OIDC + example: NATIVE readOnly: true type: string required: From 19c8d4c01e4accef7e34c54159f6138a43ecbcb4 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 9 Apr 2020 07:36:46 +0000 Subject: [PATCH 073/111] new SDK config changes via api-contract @ 2020-04-09 07:36 --- .../public/pelion_dm_public_openapi.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 4b04cb624..01769f21f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9633,7 +9633,7 @@ paths: get: description: "Get channel delivery mechanism.\n\n**Example:**\n\n curl -X\ \ GET https://api.us-east-1.mbedcloud.com/v2/notification/channel \\\n \ - \ -H 'Authorization: Bearer ' \\\n" + \ -H 'Authorization: Bearer '\n" operationId: getChannelMetadata responses: 200: @@ -9847,8 +9847,8 @@ paths: \n**Configuration options:**\n\nThe event notification channel provides configurations\ \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ - \ \\\n-H 'Authorization: Bearer '\n-d '{\n \"serialization\": {\"\ - type\": \"v2\", \"max_chunk_size\": \"100\",\n \"cfg\": {\"deregistrations_as_object\"\ + \ \\\n-H 'Authorization: Bearer ' \\\n-d '{\n \"serialization\"\ + : {\"type\": \"v2\", \"max_chunk_size\": \"100\",\n \"cfg\": {\"deregistrations_as_object\"\ : \"true\", \"include_uid\": \"true\", \"include_timestamp\": \"true\", \"\ include_original_ep\": \"true\"\n }\n }\n}\n```" operationId: registerWebsocket @@ -9900,11 +9900,14 @@ paths: \ 1006 or 1012, the client should try to reconnect to maintain the notification\ \ flow. The client might disconnect several times in a relatively short period,\ \ for example, during service updates. This is normal. The desired client\ - \ behavior is to reconnect after each disconnect.\n\n**Example:**\n```\ncurl\ - \ -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ + \ behavior is to reconnect after each disconnect.\n\n**Example:**\n\nThe curl\ + \ examples provided are meant only for testing. For production devices, use\ + \ a websocket client library.\nAs the curl example doesn't know how to responsd\ + \ to websocket ping, it will stop working shortly after receiving first ping.\n\ + ```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ \ \\\n-H \"Authorization:Bearer {apikey}\" \\\n-H \"Connection:upgrade\" \\\ \n-H \"Upgrade:websocket\" \\\n-H \"Sec-WebSocket-Version: 13\" \\\n-H \"\ - Sec-WebSocket-Key: {base64nonce}\" \\\n-N -I\n```" + Sec-WebSocket-Key: {base64nonce}\" \\\n--no-buffer \\\n--head\n```" operationId: connectWebsocket parameters: - default: Upgrade From 6b7776af0bf06c74e4932a5beb3afd2565ee5114 Mon Sep 17 00:00:00 2001 From: monty bot Date: Sun, 12 Apr 2020 11:48:12 +0000 Subject: [PATCH 074/111] new SDK config changes via api-contract @ 2020-04-12 11:48 --- .../public/pelion_dm_public_openapi.yaml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 01769f21f..22f121d8e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6478,7 +6478,7 @@ definitions: format: date-time type: string has_more: - description: Indicates if more results are available. + description: Indicates whether additional results are available. example: false type: boolean limit: @@ -6493,7 +6493,7 @@ definitions: example: list type: string order: - description: The records order based on the records identifier. + description: Record order based on record identifier. example: DESC type: string start: @@ -6520,7 +6520,7 @@ definitions: example: '164' type: integer factory_name: - description: Factory Name. + description: Factory name. example: factory 1 type: string id: @@ -25850,12 +25850,11 @@ paths: ``` - curl \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/manufacturing/statistics-report?startDate=2019-10-20&endDate=2019-10-22 + \ -H ''authorization: '' \ - https://api.us-east-1.mbedcloud.com/v3/manufacturing/statistics-report?startDate=2019-10-20&endDate=2019-10-22 - ``` ' @@ -25895,9 +25894,9 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Fetch statistics for provisioning devices in your factories. + summary: Retrieve provisioning statistics for devices in your factories. tags: - - Manufacturing - factory statistics + - Factory manufacturing statistics x-origin: /home/circleci/project/manufacturing-statistics/public/swagger.yml /v3/metrics: get: From 970cd9b0e144ad8bde01829e77f93dcc8a2c2502 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 21 Apr 2020 12:01:58 +0000 Subject: [PATCH 075/111] new SDK config changes via api-contract @ 2020-04-21 12:01 --- .../public/pelion_dm_public_openapi.yaml | 177 ++++++++++++++++++ 1 file changed, 177 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 22f121d8e..0bbd2ae06 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1550,6 +1550,41 @@ definitions: - INACTIVE type: string type: object + ArchiveInfoResponse: + description: This object represents the response for the archive info request. + properties: + download_size_bytes: + description: The size of the archive file in bytes. + example: 2402668 + type: integer + download_url: + description: URL to download the Factory Configurator Utility archive. + example: https://api.us-east-1.mbedcloud.com/downloads/fcu/factory_configurator_utility.zip + type: string + license_type: + description: The license agreement type required for downloading Factory Configurator + Utility. + example: fcu + type: string + license_version: + description: The license agreement version required for downloading Factory + Configurator Utility. + example: '1.0' + type: string + release_notes_url: + description: URL to the Factory Configurator Utility release notes. + example: https://api.us-east-1.mbedcloud.com/downloads/fcu/release_notes + type: string + version: + description: The Factory Configurator Utility version. + example: 1.2.9.500 + type: string + required: + - download_size_bytes + - version + - download_url + - release_notes_url + type: object AsyncID: properties: async-response-id: @@ -8605,6 +8640,148 @@ paths: tags: - Security and identity - secure device access x-origin: /home/circleci/project/sda-service/public/sda.yaml + /downloads/fcu/factory_configurator_utility.zip: + get: + description: 'Downloads the Factory Configurator Utility (FCU) archive .zip + file for the account ID associated with the access token. + +
+ + **Example:** + +
+ + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/factory_configurator_utility.zip + \ + + -H ''Authorization: Bearer '' + + ``` + + ' + operationId: downloadFactoryTool + produces: + - application/zip + responses: + '200': + description: The archive file was downloaded successfully. + '400': + description: Validation error or bad request. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Access denied. + schema: + $ref: '#/definitions/ErrorResponse' + '500': + description: Internal server error. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Download the Factory Configurator Utility archive. + tags: + - Manufacturing - Factory Configurator Utility (FCU) + x-origin: /home/circleci/project/factory-tool-download/public/swagger.yaml + /downloads/fcu/info: + get: + description: 'Returns information about the Factory Configurator Utility (FCU) + archive. + +
+ + **Example:** + +
+ + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/inf \ + + -H ''Authorization: Bearer '' o + + ``` + + ' + operationId: getFactoryToolInfo + produces: + - application/json + responses: + '200': + description: Successful response of the archive information. + schema: + $ref: '#/definitions/ArchiveInfoResponse' + '400': + description: Validation error or bad request. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Access denied. + schema: + $ref: '#/definitions/ErrorResponse' + '500': + description: Internal server error. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Download information about the Factory Configurator Utility archive. + tags: + - Manufacturing - Factory Configurator Utility (FCU) + x-origin: /home/circleci/project/factory-tool-download/public/swagger.yaml + /downloads/fcu/release_notes: + get: + description: 'Downloads the Factory Configurator Utility (FCU) release notes. + +
+ + **Example:** + +
+ + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/release_notes + \ + + -H ''Authorization: Bearer '' + + ``` + + ' + operationId: getFactoryToolReleaseNotes + produces: + - text/markdown ; charset=UTF-8 + - application/json + responses: + '200': + description: The release notes were downloaded successfully. + '400': + description: Validation error or bad request. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Access denied. + schema: + $ref: '#/definitions/ErrorResponse' + '500': + description: Internal server error. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Download Factory Configurator Utility release notes. + tags: + - Manufacturing - Factory Configurator Utility (FCU) + x-origin: /home/circleci/project/factory-tool-download/public/swagger.yaml /v2/device-requests/{device-id}: post: consumes: From 5289e82eb3ca3e919bbfd7f8ae2eadebe745377b Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 21 Apr 2020 17:24:42 +0000 Subject: [PATCH 076/111] new SDK config changes via api-contract @ 2020-04-21 17:24 --- .../public/pelion_dm_public_openapi.yaml | 128 +++++++++--------- 1 file changed, 67 insertions(+), 61 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 0bbd2ae06..1e5547b7f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1881,7 +1881,7 @@ definitions: type: string reference: description: Name of the image. - enum: &id025 + enum: &id026 - brand_logo_portrait - brand_logo_square - brand_logo_landscape @@ -2689,6 +2689,10 @@ definitions: example: 01612df56f3b0a580a010fc700000000 pattern: '[A-Fa-f0-9]{32}' type: string + object: &id020 + description: The API resource entity + example: trust-anchor + type: string public_key: description: The generated trust anchor public key in PEM format. format: byte @@ -2697,7 +2701,7 @@ definitions: description: The generated trust anchor public key in Base64-encoded DER format. format: byte type: string - updated_at: &id020 + updated_at: &id021 description: Update UTC time. example: '2017-01-01T00:00:00Z' format: date-time @@ -3493,7 +3497,7 @@ definitions: example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - custom_attributes: &id027 + custom_attributes: &id028 additionalProperties: maxLength: 128 pattern: ^[A-Za-z].* @@ -3505,7 +3509,7 @@ definitions: key: value maxProperties: 10 type: object - description: &id028 + description: &id029 description: The description of the group. example: Devices on the factory floor. maxLength: 1024 @@ -3522,7 +3526,7 @@ definitions: description: The group ID. example: 015c3029f6f7000000000001001000c3 type: string - name: &id029 + name: &id030 description: Name of the group. example: My devices maxLength: 128 @@ -6847,6 +6851,7 @@ definitions: format: byte type: string id: *id019 + object: *id020 public_key: description: The trust anchor public key in PEM format. format: byte @@ -6855,7 +6860,7 @@ definitions: description: The generated trust anchor public key in Base64-encoded DER format. format: byte type: string - updated_at: *id020 + updated_at: *id021 type: object TrustedCertificateReq: description: Represents a trusted certificate in upload requests. @@ -7154,7 +7159,7 @@ definitions: example: '85.00' format: double type: number - campaign_strategy: &id021 + campaign_strategy: &id022 default: one-shot description: How the campaign adds devices. A `one-shot` campaign does not add new devices after it has started. A `continuous` campaign means that @@ -7412,7 +7417,7 @@ definitions: autostop_success_percent: default: 100.0 type: number - campaign_strategy: *id021 + campaign_strategy: *id022 description: description: An optional description of the campaign. example: a description @@ -7493,6 +7498,7 @@ definitions: format: byte type: string id: *id019 + object: *id020 public_key: description: The trust anchor public key in PEM format. format: byte @@ -7501,7 +7507,7 @@ definitions: description: The generated trust anchor public key in Base64-encoded DER format. format: byte type: string - updated_at: *id020 + updated_at: *id021 type: object UploadChunkInfo: properties: @@ -7564,7 +7570,7 @@ definitions: example: false type: boolean created_at: *id014 - description: &id032 + description: &id033 description: Human-readable description. example: New Linux update for my devices maxLength: 2000 @@ -7578,7 +7584,7 @@ definitions: description: The upload job ID. example: 016e652be671000000000001001001e5 type: string - name: &id033 + name: &id034 description: Human-readable name. example: New Linux update maxLength: 128 @@ -9690,11 +9696,11 @@ paths: ```' operationId: deregisterWebhook responses: - 204: &id024 + 204: &id025 description: Successfully deleted. - 401: &id022 + 401: &id023 description: Unauthorized. - 403: &id023 + 403: &id024 description: Forbidden. The authorization token used is not an API key. 404: description: Callback URL does not exist. @@ -9723,8 +9729,8 @@ paths: description: URL found. schema: $ref: '#/definitions/Webhook' - 401: *id022 - 403: *id023 + 401: *id023 + 403: *id024 404: description: The callback URL does not exist. summary: Check callback URL. @@ -9798,8 +9804,8 @@ paths: 400: description: Given URL is not accessible, or other type of channel already exists. - 401: *id022 - 403: *id023 + 401: *id023 + 403: *id024 415: description: Unsupported Media Type. summary: Register a callback URL. @@ -9849,7 +9855,7 @@ paths: description: Success. The body can contain "REMOVED" if it was deleted with this call or "ALREADY_DELETED" if it was deleted before and not purged yet. - 401: *id022 + 401: *id023 summary: Delete notification Long Poll channel. tags: - Device data - notifications @@ -9912,7 +9918,7 @@ paths: description: No new notifications. 400: description: Other type of channel already exists. - 401: *id022 + 401: *id023 409: description: Conflict. Long poll request exists already. 410: @@ -9957,9 +9963,9 @@ paths: ```' operationId: deleteWebsocket responses: - 204: *id024 - 401: *id022 - 403: *id023 + 204: *id025 + 401: *id023 + 403: *id024 404: description: Websocket channel doesn't exist. summary: Delete websocket channel. @@ -9990,8 +9996,8 @@ paths: description: Websocket found. schema: $ref: '#/definitions/WebsocketChannel' - 401: *id022 - 403: *id023 + 401: *id023 + 403: *id024 404: description: No channel has been registered. summary: Get websocket channel information. @@ -10042,8 +10048,8 @@ paths: $ref: '#/definitions/WebsocketChannel' 400: description: Other type of channel already exists. - 401: *id022 - 403: *id023 + 401: *id023 + 403: *id024 summary: Register a websocket channel. tags: - Device data - notifications @@ -10128,7 +10134,7 @@ paths: description: Switching protocols. 400: description: Required header(s) missing. - 401: *id022 + 401: *id023 426: description: Upgrade required. Connect and/or Upgrade headers missing. 429: @@ -12499,7 +12505,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -12552,7 +12558,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -12609,7 +12615,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -12670,7 +12676,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -12824,7 +12830,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -12875,7 +12881,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -12932,7 +12938,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -12993,7 +12999,7 @@ paths: required: true type: string - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18440,7 +18446,7 @@ paths: operationId: getDarkImageData parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18488,7 +18494,7 @@ paths: operationId: clearDarkImage parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18540,7 +18546,7 @@ paths: operationId: uploadDarkImage parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18596,7 +18602,7 @@ paths: operationId: uploadDarkImageMultipart parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18726,7 +18732,7 @@ paths: operationId: getLightImageData parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18774,7 +18780,7 @@ paths: operationId: clearLightImage parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18826,7 +18832,7 @@ paths: operationId: uploadLightImage parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -18882,7 +18888,7 @@ paths: operationId: uploadLightImageMultipart parameters: - description: Name of the branding images (icon or picture). - enum: *id025 + enum: *id026 in: path name: reference required: true @@ -19344,7 +19350,7 @@ paths: You can only delete custom certificate configurations.' operationId: deleteCertificateIssuerConfigByID parameters: - - &id026 + - &id027 description: Certificate issuer ID configuration. in: path name: certificate-issuer-configuration-id @@ -19377,7 +19383,7 @@ paths: description: Provides the configured certificate issuer. operationId: getCertificateIssuerConfigByID parameters: - - *id026 + - *id027 responses: '200': description: OK. @@ -19413,7 +19419,7 @@ paths: required: true schema: $ref: '#/definitions/CertificateIssuerConfigRequest' - - *id026 + - *id027 responses: '200': description: OK. @@ -21534,9 +21540,9 @@ paths: required: true schema: properties: - custom_attributes: *id027 - description: *id028 - name: *id029 + custom_attributes: *id028 + description: *id029 + name: *id030 type: object responses: '201': @@ -21631,9 +21637,9 @@ paths: required: true schema: properties: - custom_attributes: *id027 - description: *id028 - name: *id029 + custom_attributes: *id028 + description: *id029 + name: *id030 type: object responses: '200': @@ -22259,7 +22265,7 @@ paths: summary: Get a page of devices. tags: - Device directory - groups - x-filter: &id030 + x-filter: &id031 account_id: - eq - neq @@ -23631,7 +23637,7 @@ paths: summary: List all devices. tags: - Device directory - devices - x-filter: *id030 + x-filter: *id031 x-origin: /home/circleci/project/device-directory/public/swagger.yml post: description: Create a new device in Device Management. Usually you do not need @@ -23893,7 +23899,7 @@ paths: in: body name: Block required: true - schema: &id031 + schema: &id032 properties: category: description: The reference of the block category. @@ -23949,7 +23955,7 @@ paths: in: body name: Block required: true - schema: *id031 + schema: *id032 responses: '204': description: Ok - Device suspended. @@ -24555,8 +24561,8 @@ paths: required: true schema: properties: - description: *id032 - name: *id033 + description: *id033 + name: *id034 type: object responses: 201: @@ -24693,8 +24699,8 @@ paths: required: true schema: properties: - description: *id032 - name: *id033 + description: *id033 + name: *id034 type: object responses: 200: From f0fd2a56e2301d03db1ae9ef01a459bfc40fd327 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 21 Apr 2020 17:56:26 +0000 Subject: [PATCH 077/111] new SDK config changes via api-contract @ 2020-04-21 17:56 --- .../public/pelion_dm_public_openapi.yaml | 51 +++++++++++++++++++ .../public/sdk_foundation_definition.json | 34 +++++++++++-- .../public/sdk_foundation_definition.yaml | 28 ++++++++-- 3 files changed, 105 insertions(+), 8 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 1e5547b7f..df660b430 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7438,6 +7438,23 @@ definitions: maxLength: 32 minLength: 32 type: string + state: + description: 'DEPRECATED: The state of the campaign (use phase instead)' + enum: + - draft + - scheduled + type: string + x-deprecation: + comment: Use phase instead + end_of_life_at: '2020-03-18T14:55:20+00:00' + issued_at: '2019-03-18T14:55:20+00:00' + links: [] + when: + description: The scheduled start time for the update campaign. Not in use. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + x-nullable: true required: - device_filter UpdateCampaignPutRequest: @@ -7470,6 +7487,40 @@ definitions: example: 016e83dce36a00000000000100100201 maxLength: 32 type: string + state: + description: 'DEPRECATED: The state of the campaign (use phase instead).' + enum: + - draft + - scheduled + - allocatingquota + - allocatedquota + - quotaallocationfailed + - checkingmanifest + - checkedmanifest + - devicefetch + - devicecopy + - devicecheck + - publishing + - deploying + - deployed + - manifestremoved + - expired + - stopping + - autostopped + - userstopped + - conflict + type: string + x-deprecation: + comment: Use phase instead + end_of_life_at: '2020-03-18T14:55:20+00:00' + issued_at: '2019-03-18T14:55:20+00:00' + links: [] + when: + description: The scheduled start time for the update campaign. Not in use. + example: '2017-05-22T12:37:55.576563Z' + format: date-time + type: string + x-nullable: true UpdateTrustAnchorRequest: properties: description: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 0be5753e4..97dae0e63 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -90961,6 +90961,19 @@ "in": "body", "required": false, "_key": "root_manifest_id" + }, + { + "description": "The scheduled start time for the campaign. The campaign will start within 1 minute when then start time has elapsed.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "x-nullable": true, + "api_fieldname": "when", + "entity_fieldname": "when", + "parameter_fieldname": "when", + "in": "body", + "required": false, + "_key": "when" } ], "method": "post", @@ -91245,8 +91258,7 @@ "started_at", "stopping_at", "stopped_at", - "phase", - "when" + "phase" ], "group_id": "Device_Update", "parameter_map": { @@ -92831,6 +92843,19 @@ "in": "body", "required": false, "_key": "root_manifest_id" + }, + { + "description": "The scheduled start time for the campaign. The campaign will start within 1 minute when then start time has elapsed.", + "type": "string", + "format": "date-time", + "example": "2017-05-22T12:37:55.576563Z", + "x-nullable": true, + "api_fieldname": "when", + "entity_fieldname": "when", + "parameter_fieldname": "when", + "in": "body", + "required": false, + "_key": "when" } ], "method": "put", @@ -93123,8 +93148,7 @@ "started_at", "stopping_at", "stopped_at", - "phase", - "when" + "phase" ], "group_id": "Device_Update", "parameter_map": { @@ -93375,7 +93399,7 @@ "example": "2017-05-22T12:37:55.576563Z", "x-nullable": true, "api_fieldname": "when", - "readOnly": true, + "readOnly": false, "required": false, "_key": "when" } diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 4dda88cd7..28c1a788d 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -69243,7 +69243,7 @@ entities: within 1 minute when then start time has elapsed. example: '2017-05-22T12:37:55.576563Z' format: date-time - readOnly: true + readOnly: false required: false type: string x-nullable: true @@ -69354,7 +69354,6 @@ entities: - stopping_at - stopped_at - phase - - when field_renames: [] fields: - _key: approval_required @@ -69453,6 +69452,18 @@ entities: parameter_fieldname: root_manifest_id required: false type: string + - _key: when + api_fieldname: when + description: The scheduled start time for the campaign. The campaign will start + within 1 minute when then start time has elapsed. + entity_fieldname: when + example: '2017-05-22T12:37:55.576563Z' + format: date-time + in: body + parameter_fieldname: when + required: false + type: string + x-nullable: true group_id: Device_Update method: post mode: create @@ -71028,7 +71039,6 @@ entities: - stopping_at - stopped_at - phase - - when field_renames: [] fields: - _key: approval_required @@ -71121,6 +71131,18 @@ entities: parameter_fieldname: root_manifest_id required: false type: string + - _key: when + api_fieldname: when + description: The scheduled start time for the campaign. The campaign will start + within 1 minute when then start time has elapsed. + entity_fieldname: when + example: '2017-05-22T12:37:55.576563Z' + format: date-time + in: body + parameter_fieldname: when + required: false + type: string + x-nullable: true group_id: Device_Update method: put mode: update From f6ea940d634cb77ef2b3bda6062a7d7b8edb788c Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 22 Apr 2020 22:05:48 +0000 Subject: [PATCH 078/111] new SDK config changes via api-contract @ 2020-04-22 22:05 --- .../public/pelion_dm_public_openapi.yaml | 4 + .../public/sdk_foundation_definition.json | 73 +++++++++++++++++++ .../public/sdk_foundation_definition.yaml | 48 ++++++++++++ 3 files changed, 125 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index df660b430..3aa27e408 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -20577,6 +20577,10 @@ paths: description: Query Success. Responding with List of Devices. schema: $ref: '#/definitions/DenialAttemptsResponse' + 400: + description: Bad request. Invalid trusted certificate ID. + schema: + $ref: '#/definitions/ErrorResponse' 401: description: JWT validation failed. schema: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 97dae0e63..a819740d2 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -39266,6 +39266,79 @@ }, "_key": "200" }, + { + "description": "Bad request. Invalid trusted certificate ID.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, { "description": "JWT validation failed.", "schema": { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 28c1a788d..dc41350d8 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -29965,6 +29965,54 @@ entities: - object - data type: object + - _key: '400' + description: Bad request. Invalid trusted certificate ID. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: JWT validation failed. schema: From 9e32c62a287a2cc5acfcdddfa27c8e5feebabc37 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 7 May 2020 11:34:09 +0000 Subject: [PATCH 079/111] new SDK config changes via api-contract @ 2020-05-07 11:34 --- .../public/pelion_dm_public_openapi.yaml | 29 ++++--------------- .../public/sdk_foundation_definition.json | 2 +- .../public/sdk_foundation_definition.yaml | 29 ++++--------------- 3 files changed, 13 insertions(+), 47 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 3aa27e408..ba06a204f 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -24300,29 +24300,12 @@ paths: post: consumes: - multipart/form-data - description: 'Create a firmware image. - -
- - **Usage example:** - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ - - -H ''Authorization: '' \ - - -H ''Content-Type: multipart/form-data'' \ - - -F ''datafile=@myimage.bin;type=application/octet-stream'' - - -F ''description=bla bla'' \ - - -F ''name=My Linux Image'' - - ``` - - ' + description: "Create a firmware image. \n
**Note:** Only use this\ + \ API for images smaller than 100 MB. For larger images, [upload in chunks](../updating-firmware/uploading-a-large-firmware-image.html).\ + \ \n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images\ + \ \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data'\ + \ \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla\ + \ bla' \\\n-F 'name=My Linux Image'\n```\n" operationId: Firmware_Image_create parameters: - description: The firmware image file to upload. File name must not exceed diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index a819740d2..f2fa5864c 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -44017,7 +44017,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a firmware image.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla bla' \\\n-F 'name=My Linux Image'\n```\n", + "description": "Create a firmware image. \n
**Note:** Only use this API for images smaller than 100 MB. For larger images, [upload in chunks](../updating-firmware/uploading-a-large-firmware-image.html). \n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla bla' \\\n-F 'name=My Linux Image'\n```\n", "field_renames": [ { "api_fieldname": "datafile", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index dc41350d8..82852f371 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33573,29 +33573,12 @@ entities: group_id: Device_Update methods: - _key: create - description: 'Create a firmware image. - -
- - **Usage example:** - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ - - -H ''Authorization: '' \ - - -H ''Content-Type: multipart/form-data'' \ - - -F ''datafile=@myimage.bin;type=application/octet-stream'' - - -F ''description=bla bla'' \ - - -F ''name=My Linux Image'' - - ``` - - ' + description: "Create a firmware image. \n
**Note:** Only use this\ + \ API for images smaller than 100 MB. For larger images, [upload in chunks](../updating-firmware/uploading-a-large-firmware-image.html).\ + \ \n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images\ + \ \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data'\ + \ \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla\ + \ bla' \\\n-F 'name=My Linux Image'\n```\n" drop_fields: - object - etag From e24f4587b119b7b602e80492829d1d702b6ac8d0 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 28 May 2020 12:00:22 +0000 Subject: [PATCH 080/111] new SDK config changes via api-contract @ 2020-05-28 12:00 --- .../public/pelion_dm_public_openapi.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index ba06a204f..d5da645eb 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -3748,11 +3748,11 @@ definitions: type: string id: description: The ID of the query. - example: '00000000000000000000000000000000' + example: 015c30671894000000000001001001e9 type: string name: description: The name of the query. - example: '00000000000000000000000000000000' + example: example-stored-device-query type: string object: description: The API resource entity. @@ -3760,7 +3760,7 @@ definitions: type: string query: description: The device query. - example: id=00000000000000000000000000000000 + example: id=0158d38771f70000000000010010038c type: string updated_at: description: The time the object was updated. @@ -3880,7 +3880,10 @@ definitions: maxLength: 200 type: string query: - description: The device query. + description: The device query to store. A query is made of key/value pairs + separated by ampersands (`&`). The key defines the field name to filter + by when applying the query. Refer to the endpoint documentation before applying + a filter, as supported fields vary between endpoints. maxLength: 1000 type: string required: From f534a151eb2d30ae0c6d58c461de6d0108afebba Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 17 Jun 2020 11:25:49 +0000 Subject: [PATCH 081/111] new SDK config changes via api-contract @ 2020-06-17 11:25 --- .../public/pelion_dm_public_openapi.yaml | 201 ++++++++++++++++-- 1 file changed, 179 insertions(+), 22 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index d5da645eb..903f4bae4 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1644,10 +1644,10 @@ definitions: \ The last retry failed to establish TCP or TLS connection to the device.\n\ \ \n \n 503\n The request to\ \ the device failed and the retry count was exceeded.\n The last retry\ - \ failed, because the device is currently unavailable (NOT_CONNECTED).\n\ + \ failed because the device is currently unavailable (NOT_CONNECTED).\n\ \ \n \n 504\n The request to\ \ the device failed and the retry count was exceeded.\n The last retry\ - \ failed, because the device did not respond in time according to the protocol-specific\n\ + \ failed because the device did not respond in time according to the protocol-specific\n\ \ retransmission logic (TIMEOUT).\n \n \n\n" example: 200 type: integer @@ -3948,6 +3948,121 @@ definitions: - proxy_responses - bootstrap_requests type: object + EchoDevice: + description: The Device Echo object representing the device. + properties: + created_at: + description: Response creation UTC time. + example: 2020-10-20 10:30:55.123000 + format: date-time + type: string + device_id: + description: The device ID. + example: 015f3850a657000000000001001002ab + type: string + endpoint_name: + description: The endpoint name. + example: Sensor3222454 + type: string + last_desired_at: + description: The last time a write command was initiated on a resource. + example: 2019-10-20 10:30:55.123000 + format: date-time + type: string + last_reported_at: + description: The last time any resource's reported value was updated. + example: 2019-10-20 10:30:55.123000 + format: date-time + type: string + object: + description: API Resource name + example: device-echo + type: string + resources: + description: The list of device resources stored in Device Echo. + items: + $ref: '#/definitions/EchoResource' + type: array + updated_at: + description: The time of last registration event of a Device Echo object. + example: 2019-10-20 10:30:55.123000 + format: date-time + type: string + required: + - id + type: object + EchoResource: + description: The representation of a single resource of the device stored in Device + Echo. + properties: + desired: + description: Resource value written, or queued to be written to the device. + items: + $ref: '#/definitions/EchoResourceDesired' + type: object + reported: + description: Reported resource data from the device. + items: + $ref: '#/definitions/EchoResourceReported' + type: object + resource_path: + description: The path of the resource. + example: /3/0/1 + type: string + subscribed: + description: System-level subscription status of the resource. If any of the + applications has placed a subscription, the status is true. Overlapping + subscriptions from multiple applications do not increase the load on the + device as the server handles the multiplexing. + type: boolean + type: object + EchoResourceDesired: + description: Resource value written, or queued to be written to the device. + properties: + desired_at: + description: The time of the latest value write was initiated. + example: 2019-10-20 10:30:55.123000 + format: date-time + type: string + status: + description: The status of the desired value. 0 = 'pending write', 1 = 'success', + 2 = 'failed'. + format: integer + type: number + status_updated_at: + description: The time of the last status update. + example: 2019-10-20 10:30:55.123000 + format: date-time + type: string + value: + description: The desired value in base64 encoded format. + example: RGVzaXJlZCB2YWx1ZS4= + format: byte + type: string + type: object + EchoResourceReported: + description: Reported single resource data received from the device. + properties: + content_type: + description: Content type of the reported resource value. + example: text/plain + type: string + expires_at: + description: The time after which the reported value is not valid, calculated + based on the max-age of the resource value the device reported. + example: 2019-10-20 10:30:55.123000 + format: date-time + type: string + reported_at: + description: The time the last value was reported. + format: date-time + type: string + value: + description: The reported value in base64 encoded format. + example: UmVwb3J0ZWQgdmFsdWUu + format: byte + type: string + type: object EndpointData: properties: ep: @@ -5726,7 +5841,7 @@ definitions: Presubscription: properties: endpoint-name: - description: The device ID. + description: Device Management device ID. example: 015f3850a657000000000001001002ab type: string endpoint-type: @@ -8895,7 +9010,7 @@ paths: is limited to 20 requests. - The queueing behaviour is affected by the `retry` and the `expiry-seconds` + The queueing behavior is affected by the `retry` and the `expiry-seconds` parameters. If the device is not reached, or the device fails to respond when the request is made, the @@ -9047,8 +9162,9 @@ paths: - description: The number of attempts to deliver the request to the device after the first delivery attempt. For example, two retries sums up to the total of three delivery attempts. If retries are exhausted, the request is discarded - and an error is delivered in the AsyncIDResponse. The default value of retries - for a non-queue mode device is 0 and 2 for for a queue-mode device. + and an error is delivered in the AsyncIDResponse. The default number of + retries for a non-queue mode device is `0`. The default number of retries + for a queue-mode device is `2`. in: query maximum: 10 minimum: 0 @@ -9057,9 +9173,9 @@ paths: type: integer - description: The time period during which the delivery is attempted, in seconds. If the device is not reachable within this period, the request is discarded - and an error is delivered in the AsyncIDResponse. The default value of expiry - seconds for a non-queue mode device is two hours and three days for a queue-mode - device. + and an error is delivered in the AsyncIDResponse. The default time period + during which the delivery is attempted is two hours for a non-queue mode + device and three days for a queue-mode device. in: query maximum: 2592000 minimum: 60 @@ -9354,7 +9470,7 @@ paths: are not guaranteed to arrive at the device, and do not return an async-response-id. - If calls with this parameter enabled succeed, they return with the status + When calls with this parameter enabled succeed, they return with the status code `204 No Content`. If the underlying protocol does not support non-confirmable requests, or if the endpoint is registered in queue mode, the response is status code `409 Conflict`.' @@ -9398,8 +9514,8 @@ paths: way to the device. When the response is available, an `AsyncIDResponse` JSON object is received in the notification channel. - The resource values can be also in cache based on `max_age` defined by the - device side. The value found from the cache is returned + The resource values can also be in cache based on `max_age` defined by the + device. The value found from the cache is returned immediately in the response. @@ -9416,8 +9532,8 @@ paths: works. - Please refer to [Lightweight Machine to Machine Technical specification](http://www.openmobilealliance.org/release/LightweightM2M/V1_0-20170208-A/OMA-TS-LightweightM2M-V1_0-20170208-A.pdf) - for more inforamtion. + Please see the [Lightweight Machine to Machine Technical specification](http://www.openmobilealliance.org/release/LightweightM2M/V1_0-20170208-A/OMA-TS-LightweightM2M-V1_0-20170208-A.pdf) + for more information. **Example:** @@ -9446,7 +9562,7 @@ paths: - description: 'If true, the response comes only from the cache. Default: false. Device Management Connect caches the received resource values for the time of [max_age](../device-management/working-with-the-resources.html) defined - in the client side.' + in the client.' in: query name: cacheOnly required: false @@ -9472,7 +9588,7 @@ paths: schema: $ref: '#/definitions/AsyncID' 205: - description: No cache available for resource. + description: No cache available for the resource. 400: description: Bad request. 404: @@ -9558,8 +9674,8 @@ paths: required: true type: string - description: This value is not needed. Most of the time, resources do not - accept a function but they have their own functions predefined. You can - use this to trigger them. If a function is included, the body of this request + accept a function; they have their own functions predefined. You can use + this to trigger them. If a function is included, the body of this request is passed as a char* to the function in Device Management Client. in: body name: resourceFunction @@ -9571,7 +9687,7 @@ paths: are not guaranteed to arrive in the device, and you do not get back an async-response-id. - If calls with this parameter enabled succeed, they return with the status + When calls with this parameter enabled succeed, they return with the status code `204 No Content`. If the underlying protocol does not support non-confirmable requests, or if the endpoint is registered in queue mode, the response is status code `409 Conflict`.' @@ -9694,8 +9810,8 @@ paths: are not guaranteed to arrive to the device, and do not return an `async_response_id`. - If a call with this parameter enabled succeeds, it return status code `204 - No Content`. If the underlying protocol does not support non-confirmable + When a call with this parameter enabled succeeds, it return status code + `204 No Content`. If the underlying protocol does not support non-confirmable requests, or if the endpoint is registered in queue mode, the response is status code `409 Conflict`.' in: query @@ -10297,7 +10413,7 @@ paths: parameters: - description: Array of pre-subscriptions. in: body - name: presubsription + name: presubscription required: true schema: $ref: '#/definitions/PresubscriptionArray' @@ -23796,6 +23912,47 @@ paths: tags: - Device security - device certificate renewals x-origin: /home/circleci/project/certificate-enrollment/public/swagger.yaml + /v3/devices/{device-id}/echo: + get: + description: 'Read the Device Echo object. It represents the last known state + of the device. The state contains the resources and their reported values + with the desired state of the device. + + Auto-observable and subscribed resources are stored as the reported state + of the device. To change the desired state, issue write commands with `/v2/device-requests/{device-id}`. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/devices/{device-id}/echo + -H ''Authorization: Bearer '' + + ```' + operationId: getDeviceEchoObject + parameters: + - description: The device ID generated by Device Management. + format: UUID, 32 hexadecimal characters + in: path + name: device-id + required: true + type: string + produces: + - application/json + responses: + 200: + description: Device found and returned. + schema: + $ref: '#/definitions/EchoDevice' + 401: + description: Authentication failure. + 404: + description: Device not found from Device Echo. + summary: Get the Device Echo object. + tags: + - Device Echo + x-origin: /home/circleci/project/device-server/public/swagger.yaml /v3/devices/{id}/: delete: description: Delete device. Only available for devices with a developer certificate. From 8991a84e53d53fecd852c8e0f651ae88672fc8dc Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 22 Jun 2020 11:33:54 +0000 Subject: [PATCH 082/111] new SDK config changes via api-contract @ 2020-06-22 11:33 --- api_specifications/public/pelion_dm_public_openapi.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 903f4bae4..270506a2a 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -25152,7 +25152,9 @@ paths: consumes: - application/octet-stream description: "Append a chunk to an upload job. To finish a job, upload a zero-length\ - \ chunk.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks\ + \ chunk.\n
**Note:** Chunk size must be between 5MB and 100MB, the last\ + \ chunk can be less than 5MB; the maximum number of chunks is limited to 10,000.\n\ +
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks\ \ \\\n-H 'Authorization: ' \\\n-H 'Content-MD5: Q2h1Y2sgSW51ZwDIAXR5IQ=='\ \ \\\n-H 'Content-Type: binary/octet-stream' \\\n-H 'Content-Length: 999'\ \ \\\n-d '{\n \"IGh0dHBzOi8vYXBpLnVzLWVhc3QtMS5tYmVkY2xvdWQuY29tLy92My9maXJtd2FyZS1pbWFnZXMvdXBsb2FkLWpvYnMve3VwbG9hZF9qb2JfaWR9W5rcw==\"\ From 817e66b52839e1352befae65057639ff7027045d Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 2 Jul 2020 15:45:49 +0000 Subject: [PATCH 083/111] new SDK config changes via api-contract @ 2020-07-02 15:45 --- .../public/pelion_dm_public_openapi.yaml | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 270506a2a..5ab4aadb9 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -26225,7 +26225,7 @@ paths: tags: - Account - entitlement limitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/manufacturing/statistics/report: + /v3/manufacturing/statistics: get: description: 'Get manufacturing statistics report. @@ -26233,24 +26233,22 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/manufacturing/statistics-report?startDate=2019-10-20&endDate=2019-10-22 - \ - - -H ''authorization: '' \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/manufacturing/statistics?start=2020-06-23T21:00:00.000Z&end=2020-07-01T20:59:59.999Z + --header ''Authorization: Bearer '' ``` ' operationId: ManufacturingStatisticsReport parameters: - - description: The start date of the period on which the report is produced. + - description: The start date and time for the report. format: date-time in: query name: start required: true type: string - - description: The end date of the period on which the report is produced. Default - is the current date-time. + - description: The end date and time for the report. The default value is the + current date-time. format: date-time in: query name: end @@ -26263,18 +26261,16 @@ paths: description: OK. schema: $ref: '#/definitions/StatisticsReportListResponse' - 204: - description: No content. - 400: - description: Validation error. + '400': + description: Validation error or bad request. schema: $ref: '#/definitions/ErrorResponse' - 401: - description: Unauthorized. + '401': + description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' - 403: - description: Forbidden. + '403': + description: Access denied. schema: $ref: '#/definitions/ErrorResponse' summary: Retrieve provisioning statistics for devices in your factories. From 9cdc66847841c289bd4148f158003cc94225477c Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 2 Jul 2020 22:36:34 +0000 Subject: [PATCH 084/111] new SDK config changes via api-contract @ 2020-07-02 22:36 --- .../public/pelion_dm_public_openapi.yaml | 209 +++++++++++------- .../public/sdk_foundation_definition.json | 32 +-- .../public/sdk_foundation_definition.yaml | 97 +++++--- 3 files changed, 207 insertions(+), 131 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 5ab4aadb9..cd37d36b4 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1626,7 +1626,7 @@ definitions: \ from the device.\n \n \n 400\n\ \ The device rejected the request, possibly because it does not\ \ support the request method.\n See how the supported methods are\n\ - \ [configured for the device resources](../connecting/collecting-resources.html#setting-the-operation-mode).\n\ + \ [configured for the device resources](https://www.pelion.com/docs/device-management/current/resources/index.html).\n\ \ \n \n 404\n The device replied\ \ that it does not have the requested resource.\n \n \n\ \ 412\n Precondition failed and the operation\ @@ -2761,13 +2761,13 @@ definitions: properties: description: description: Description for the developer certificate. Maximum 500 characters. - Please see [TrustedCertificateReq](../service-api-references/account-management.html#trustedcertificatereq). + Please see [TrustedCertificateReq](https://www.pelion.com/docs/device-management-api/account-management/). maxLength: 500 type: string x-nullable: true name: description: Name of the developer certificate. Must be unique. Maximum 100 - characters. Please see [TrustedCertificateReq](../service-api-references/account-management.html#trustedcertificatereq). + characters. Please see [TrustedCertificateReq](https://www.pelion.com/docs/device-management-api/account-management/). maxLength: 100 type: string required: @@ -3094,8 +3094,8 @@ definitions: to Device Management. * Registered: The device has registered with Pelion Device Management. [Device - commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + commands](https://www.pelion.com/docs/device-management-api/connect/) can + be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -6147,7 +6147,7 @@ definitions: type: boolean rt: description: Application-specific resource type that describes this resource. - It is created by the [client side application](../device-management/resource-setup-in-device-management-client.html). + It is created by the [client side application](https://www.pelion.com/docs/device-management/current/resources/resource-setup-in-device-management-client.html). Not meant to be a human-readable name for the resource. Multiple resource types may be included, separated by a space. example: light_sensor @@ -6196,7 +6196,7 @@ definitions: type: string rt: description: 'Application-specific resource type that describes this resource. - It is created by the [client side application](../device-management/resource-setup-in-device-management-client.html). + It is created by the [client side application](https://www.pelion.com/docs/device-management/current/resources/resource-setup-in-device-management-client.html). Not meant to be a human-readable name for the resource. Multiple resource types may be included, separated by a space.' @@ -6304,7 +6304,7 @@ definitions: applications may cause lag in notification delivery, as a new chunk is sent only after the previous one has been acknowledged. Using a high value is recommended and safe, as chunks are sent quickly after notifications are - received from devices. See [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic) + received from devices. See [notification sending logic](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html#notification-sending-logic) for more details. example: '500' maximum: 10000 @@ -8382,14 +8382,24 @@ definitions: consider the response from the device, it includes only the responses to the HTTP requests used to manage the device. This metric includes only messages handled by the Connect service, it does not include any HTTP errors returned - by firewall as result of malformed messages. + by firewall as result of malformed messages. The number of failed [Connect + API](https://www.pelion.com/docs/device-management-api/connect/) requests + that have been performed using the account. This metric does not consider + the response from the device, it includes only the responses to the HTTP + requests used to manage the device. This metric includes only messages handled + by the Connect service, not any HTTP errors returned by the firewall as + a result of incorrect messages. format: int64 type: integer connect_rest_api_success: description: The number of successful [Connect API](/docs/current/service-api-references/device-management-connect.html) requests that have been performed using the account. This metric does not consider the response from the device, it includes only the responses to - the HTTP requests used to manage the device. + the HTTP requests used to manage the device. The number of successful [Connect + API](https://www.pelion.com/docs/device-management-api/connect/) requests + that have been performed using the account. This metric does not consider + the response from the device, only the responses to the HTTP requests used + to manage the device. format: int64 type: integer deleted_registrations: @@ -8404,7 +8414,7 @@ definitions: description: '**(Beta)** The number of notifications received by the Device Management Connect service from the devices linked to the account. The device pushes notifications to Device Management Connect when you have successfully - subscribed to the device resources using [Connect API](/docs/current/service-api-references/device-management-connect.html) + subscribed to the device resources using [Connect API](https://www.pelion.com/docs/device-management-api/connect/) endpoints. ' @@ -8414,7 +8424,7 @@ definitions: description: '**(Beta)** The number of failed proxy requests from the Device Management Connect service to devices linked to the account. Device Management Connect makes proxy requests to devices when you try to read or write values - to device resources using [Connect API](/docs/current/service-api-references/device-management-connect.html) + to device resources using [Connect API](https://www.pelion.com/docs/device-management-api/connect/) endpoints. ' @@ -8424,7 +8434,7 @@ definitions: description: '**(Beta)** The number of successful proxy requests from the Device Management Connect service to devices linked to the account. Device Management Connect makes proxy requests to devices when you try to read - or write values to device resources using [Connect API](/docs/current/service-api-references/device-management-connect.html) + or write values to device resources using [Connect API](https://www.pelion.com/docs/device-management-api/connect/) endpoints. ' @@ -8434,7 +8444,7 @@ definitions: description: '**(Beta)** The number of failed subscription requests from the Device Management Connect service to devices linked to the account. Device Management Connect makes subscription requests to devices when you try to - subscribe to a resource path using [Connect API](/docs/current/service-api-references/device-management-connect.html) + subscribe to a resource path using [Connect API](https://www.pelion.com/docs/device-management-api/connect/) endpoints. ' @@ -8444,7 +8454,7 @@ definitions: description: '**(Beta)** The number of successful subscription requests from the Device Management Connect service to devices linked to the account. Device Management Connect makes subscription requests to devices when you - try to subscribe to a resource path using [Connect API](/docs/current/service-api-references/device-management-connect.html) + try to subscribe to a resource path using [Connect API](https://www.pelion.com/docs/device-management-api/connect/) endpoints. ' @@ -8974,12 +8984,12 @@ paths: along with the device ID and the resource. This also prevents any race conditions with - [the notification channel](../integrate-web-app/event-notification.html). + [the notification channel](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html). All responses are sent through the currently configured notification channel as an - [AsyncIDResponse](../service-api-references/device-management-connect.html#AsyncIDResponse). + [AsyncIDResponse](https://www.pelion.com/docs/device-management-api/connect/). For `GET` methods, values may be fetched from an internal cache, instead of @@ -9047,7 +9057,7 @@ paths: If retries are exhausted or the expiry time has passed, then the server discards the request and sends an error - in [AsyncIDResponse](../service-api-references/device-management-connect.html#AsyncIDResponse). + in [AsyncIDResponse](https://www.pelion.com/docs/device-management-api/connect/). The retries could be exhausted, for example, if the device periodically contacts @@ -9071,7 +9081,7 @@ paths: See also `/v2/device-requests/{device-id}`. - You can write [Notification Rules](../device-management/resource-change-webapp.html#notification-rules) + You can write [Notification Rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html) for a resource with PUT command. Please see example of the payload below. @@ -9504,7 +9514,7 @@ paths: end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest + - https://www.pelion.com/docs/device-management-api/connect/ x-origin: /home/circleci/project/device-server/public/swagger.yaml get: deprecated: true @@ -9528,7 +9538,7 @@ paths: is on and connected to Device Management. - See also how [resource caching](../connecting/device-guidelines.html#resource-cache) + See also how [resource caching](https://www.pelion.com/docs/device-management/current/connecting/device-guidelines.html#resource-cache) works. @@ -9561,8 +9571,8 @@ paths: type: string - description: 'If true, the response comes only from the cache. Default: false. Device Management Connect caches the received resource values for the time - of [max_age](../device-management/working-with-the-resources.html) defined - in the client.' + of [max_age](https://www.pelion.com/docs/device-management/current/resources/working-with-the-resources.html) + defined in the client.' in: query name: cacheOnly required: false @@ -9613,7 +9623,7 @@ paths: end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest + - https://www.pelion.com/docs/device-management-api/connect/ x-origin: /home/circleci/project/device-server/public/swagger.yaml post: consumes: @@ -9630,7 +9640,7 @@ paths: - application/vnd.oma.lwm2m+tlv - application/vnd.oma.lwm2m+json deprecated: true - description: '(DEPRECATED) [Execute a function](../device-management/handle-resource-webapp.html#the-execute-operation) + description: '(DEPRECATED) [Execute a function](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html#the-execute-operation) on an existing resource and create a new Object instance on the device. The resource path does not have to exist; you can set it with the call. The maximum length of the resource path is 255 characters. @@ -9722,7 +9732,7 @@ paths: end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest + - https://www.pelion.com/docs/device-management-api/connect/ x-origin: /home/circleci/project/device-server/public/swagger.yaml put: consumes: @@ -9740,8 +9750,8 @@ paths: - application/vnd.oma.lwm2m+json deprecated: true description: '(DEPRECATED) With this API, you can [write a new value to existing - Resources](../device-management/handle-resource-webapp.html) or use the **write** - attribute to set [notification rules](../device-management/resource-change-webapp.html) + Resources](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) + or use the **write** attribute to set [notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html) for the Resources. The notification rules only work on the device client side and may not be supported by all clients. @@ -9843,7 +9853,7 @@ paths: end_of_life_at: '2020-05-17T00:00:00+00:00' issued_at: '2019-05-17T15:23:00+00:00' links: - - https://www.pelion.com/docs/device-management/current/service-api-references/device-management-connect.html#createAsyncRequest + - https://www.pelion.com/docs/device-management-api/connect/ x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/notification/callback: delete: @@ -9913,11 +9923,11 @@ paths: description: "Register a URL to which the server delivers notifications of changes\ \ to the subscribed resource. To push notifications, you must first place\ \ subscriptions. The maximum length of the URL, header keys, and values, all\ - \ combined, is 400 characters. \n\nNotifications are delivered as PUT requests\ + \ combined, is 400 characters.\n\nNotifications are delivered as PUT requests\ \ to the HTTP server, which the client defines with a subscription server\ \ message. The given URL must be accessible, and respond to the PUT request\ - \ with a response code of 200 or 204. \n\nDevice Management Connect tests\ - \ the callback URL with an empty JSON payload `{}` when the URL is registered.\ + \ with a response code of 200 or 204.\n\nDevice Management Connect tests the\ + \ callback URL with an empty JSON payload `{}` when the URL is registered.\ \ Callback implementation does not support URL redirection. For more information\ \ on notification messages, see [NotificationMessage](#NotificationMessage).\n\ \n**Optional headers in a callback message:**\n\nYou can set optional headers\ @@ -9940,7 +9950,7 @@ paths: \ 20 seconds; in the case of timeout, the first retry happens 20 + 1 seconds\ \ after the first delivery attempt, then 20 + 2 seconds, and so on. The callback\ \ URL is removed if all retries fail within 24 hours. More about [notification\ - \ sending logic](../integrate-web-app/event-notification.html#notification-sending-logic)\ + \ sending logic](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html#notification-sending-logic)\ \ in the Device Management documentation.\n\n**Supported callback URL protocols:**\n\ \nCurrently, only HTTP and HTTPS protocols are supported.\n\n**HTTPS callback\ \ URLs:**\n\nWhen delivering a notification to an HTTPS-based callback URL,\ @@ -10188,15 +10198,15 @@ paths: \ be active at a time. If you register a new websocket channel while another\ \ one is active, it replaces the previously active one. If another type of\ \ channel is already present, you need to delete it before registering a websocket\ - \ channel. \n\n**Expiration of a websocket:**\n\nA websocket channel is\ - \ expired if the channel does not have an opened websocket connection for\ - \ a 24-hour period. Channel expiration means the channel is deleted and any\ - \ undelivered notifications stored in its internal queue is removed. As long\ - \ as the channel has an opened websocket connection or time between successive\ - \ websocket connections is less than 24 hours,\nthe channel is considered\ - \ active, notifications are stored in its internal queue and delivered when\ - \ a websocket connection is active. A channel can be also deleted explicitly\ - \ with a DELETE call.\n\nMore about [notification sending logic](../integrate-web-app/event-notification.html#notification-sending-logic).\n\ + \ channel.\n\n**Expiration of a websocket:**\n\nA websocket channel is expired\ + \ if the channel does not have an opened websocket connection for a 24-hour\ + \ period. Channel expiration means the channel is deleted and any undelivered\ + \ notifications stored in its internal queue is removed. As long as the channel\ + \ has an opened websocket connection or time between successive websocket\ + \ connections is less than 24 hours,\nthe channel is considered active, notifications\ + \ are stored in its internal queue and delivered when a websocket connection\ + \ is active. A channel can be also deleted explicitly with a DELETE call.\n\ + \nMore about [notification sending logic](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html#notification-sending-logic).\n\ \n**Configuration options:**\n\nThe event notification channel provides configurations\ \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ @@ -10383,12 +10393,12 @@ paths: \ update. To remove the pre-subscription data, put an empty array as a rule.\n\ \n**Note:** The subscription is bound to the API key your application is using.\ \ To get notifications of the resource value changes, you need to create an\ - \ [event notification channel](../integrate-web-app/event-notification.html)\ + \ [event notification channel](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html)\ \ with the same API Key.\n\nFor more information, see [Subscribing to Resource\ - \ changes from a web application](../device-management/resource-change-webapp.html).\n\ + \ changes from a web application](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html).\n\ \n**Notification rules**\n\nA web application can place dynamic observation\ \ rules for individual Object Instances and Resources to define when the device\ - \ sends observations. More information in [Notification rules](../device-management/resource-change-webapp.html#notification-rules).\n\ + \ sends observations. More information in [Notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html).\n\ \n**Limits**:\n\n- The maximum length of the endpoint name and endpoint type\ \ is 64 characters.\n- The maximum length of the resource path is 128 characters.\n\ - You can listen to 256 separate resource paths.\n- The maximum number of\ @@ -10408,7 +10418,7 @@ paths: \ of all endpoints.\n\n**Note**:\nTo save bandwidth and avoid unnecessary\ \ traffic, use resource path patterns to limit the matching resources in the\ \ presubscription data.\nThis prevents the notification flow from unwanted\ - \ resources to your web application. See [Subscribe only to what you need](../device-management/resource-change-webapp.html#subscribe-only-to-what-you-need)." + \ resources to your web application. See [Subscribe only to what you need](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)." operationId: updatePreSubscriptions parameters: - description: Array of pre-subscriptions. @@ -10580,7 +10590,7 @@ paths: A web application can place dynamic observation rules for individual Object Instances and Resources to define when the device sends observations. More - information in [Notification rules](../device-management/resource-change-webapp.html#notification-rules). + information in [Notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html). All manual subscriptions are removed during a full device registration, at @@ -19931,7 +19941,7 @@ paths: **Note:** The number of developer certificates allowed per account is limited. - Please see [Setting up a Certificate Authority](../provisioning-process/integrating-with-a-third-party-ca.html#setting-up-a-ca). + Please see [Setting up a Certificate Authority](https://www.pelion.com/docs/device-management/current/provisioning-process/integrating-with-a-third-party-ca.html). **Example:** @@ -21178,7 +21188,7 @@ paths: description: 'To free a device from your account, delete the enrollment claim. To bypass the device ownership, you need to delete the enrollment and factory reset the device. For more information, see [Transferring ownership using - First-to-Claim](../connecting/device-ownership-first-to-claim-by-enrollment-list.html). + First-to-Claim](https://www.pelion.com/docs/device-management/current/connecting/device-ownership-first-to-claim-by-enrollment-list.html).
@@ -21260,7 +21270,7 @@ paths: description: "List all or a filtered list of device events for the account.\ \ Device events are events significant to operation or lifetime, such as creation,\ \ firmware update, and suspension.\n\nTo see statistics for device connectivity\ - \ and usage, use the [Statistics API](../service-api-references/connect-statistics.html).\n\ + \ and usage, use the [Statistics API](https://www.pelion.com/docs/device-management-api/connect-statistics/).\n\ \n **Example:**\n Following example gets device-events limiting returned results\ \ to max 5 events\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5\ \ \\\n -H 'Authorization: Bearer '\n ```\n or to get events for certain\ @@ -21766,7 +21776,7 @@ paths: - Device directory - groups x-origin: /home/circleci/project/device-directory/public/swagger.yml get: - description: Returns [DeviceGroup](../service-api-references/device-directory.html#DeviceGroup) + description: Returns [DeviceGroup](https://www.pelion.com/docs/device-management-api/device-directory/) info what contains info of the group, for example, name and updated date. To list the devices in the group, use '/v3/device-groups/{device-group-id}/devices/'. operationId: Group_retrieve @@ -23960,8 +23970,8 @@ paths: response. operationId: Device_destroy parameters: - - description: The [Device ID](../connecting/device-identity.html) created by - Device Management. + - description: The [Device ID](https://www.pelion.com/docs/device-management/current/connecting/device-identity.html) + created by Device Management. in: path name: id required: true @@ -23981,9 +23991,9 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml get: description: 'Retrieve information about a specific device. This API returns - [DeviceData](../service-api-references/device-directory.html#devicedata). + [DeviceData](https://www.pelion.com/docs/device-management-api/device-directory/). If you want to see the structure of resources in the device or the actual - resource values, use the [Connect API](../service-api-references/device-management-connect.html). + resource values, use the [Connect API](https://www.pelion.com/docs/device-management-api/connect/). **Example:** @@ -24000,8 +24010,8 @@ paths: ```' operationId: Device_retrieve parameters: - - description: The [Device ID](../connecting/device-identity.html) created by - Device Management. + - description: The [Device ID](https://www.pelion.com/docs/device-management/current/connecting/device-identity.html) + created by Device Management. in: path name: id required: true @@ -24043,8 +24053,8 @@ paths: ```' operationId: Device_update parameters: - - description: The [Device ID](../connecting/device-identity.html) created by - Device Management. + - description: The [Device ID](https://www.pelion.com/docs/device-management/current/connecting/device-identity.html) + created by Device Management. in: path name: id required: true @@ -24072,11 +24082,11 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/devices/{id}/resume: post: - description: '[Returning a device to service](../device-management/device-suspension.html#suspending-and-resuming-connection-to-devices-with-the-apis) + description: '[Returning a device to service](https://www.pelion.com/docs/device-management/current/device-management/managing-devices-in-your-account.html#using-the-api-suspending-and-resuming-devices) allows the device to connect to Device Management again. The connection is established according to the device''s reconnection logic. The device reports - a [registration event](../service-api-references/device-management-connect.html#notificationmessage) - through a [notification channel](../integrate-web-app/event-notification.html). + a [registration event](https://www.pelion.com/docs/device-management-api/connect/) + through a [notification channel](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html). The default reconnection logic is a progressive back-off for 2, 4, 8, or 16 @@ -24143,11 +24153,11 @@ paths: x-origin: /home/circleci/project/device-directory/public/swagger.yml /v3/devices/{id}/suspend: post: - description: "[Suspending a device](../device-management/device-suspension.html)\ + description: "[Suspending a device](https://www.pelion.com/docs/device-management/current/device-management/managing-devices-in-your-account.html#suspending-and-resuming-devices)\ \ prevents it from connecting to Device Management. If a device is currently\ \ connected, it disconnects and shows as deregistered.\n\nYou can also receive\ - \ [deregistration events](../service-api-references/device-management-connect.html#notificationmessage)\ - \ in [notification channels](../integrate-web-app/event-notification.html).\n\ + \ [deregistration events](https://www.pelion.com/docs/device-management-api/connect/)\ + \ in [notification channels](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html).\n\ \nAPI operations needing device transactions fail while a device is suspended.\n\ \nExample use case to use suspending is that device is reported lost or stolen.\ \ You can block the device to connect and this way prevent device to cause\ @@ -24160,8 +24170,8 @@ paths: \ time of the theft was not know. Device last used in May/2019\"}'\n ```" operationId: Device_suspend parameters: - - description: The [Device ID](../connecting/device-identity.html) created by - Device Management. + - description: The [Device ID](https://www.pelion.com/docs/device-management/current/connecting/device-identity.html) + created by Device Management. in: path name: id required: true @@ -24460,12 +24470,32 @@ paths: post: consumes: - multipart/form-data - description: "Create a firmware image. \n
**Note:** Only use this\ - \ API for images smaller than 100 MB. For larger images, [upload in chunks](../updating-firmware/uploading-a-large-firmware-image.html).\ - \ \n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images\ - \ \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data'\ - \ \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla\ - \ bla' \\\n-F 'name=My Linux Image'\n```\n" + description: 'Create a firmware image. + +
**Note:** Only use this API for images smaller than 100 MB. For larger + images, [upload in chunks](https://www.pelion.com/docs/device-management/current/updating-firmware/uploading-a-large-firmware-image.html). + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ + + -H ''Authorization: '' \ + + -H ''Content-Type: multipart/form-data'' \ + + -F ''datafile=@myimage.bin;type=application/octet-stream'' + + -F ''description=bla bla'' \ + + -F ''name=My Linux Image'' + + ``` + + ' operationId: Firmware_Image_create parameters: - description: The firmware image file to upload. File name must not exceed @@ -26290,12 +26320,12 @@ paths: - `bootstraps_pending`\n- `handshakes_successful`\n- `connect_rest_api_success`\n\ - `connect_rest_api_error`\n- `device_proxy_request_success`\n- `device_proxy_request_error`\n\ - `device_subscription_request_success`\n- `device_subscription_request_error`\n\ - - `device_observations`\n- `total_count`\n\n**Note:**\n\nThe metrics device_proxy_request_success,\ - \ device_proxy_request_error, device_subscription_request_success, device_subscription_request_error\ - \ and device_observations monitor only the response from the device to Device\ - \ Management Connect and they do not confirm that the response is delivered\ - \ to client callback URLs used when you try to access device resources using\ - \ [Connect API](/docs/current/service-api-references/device-management-connect.html)\ + - `device_observations`\n- `total_count`\n\n**Note:**\n\nThe metrics `device_proxy_request_success`,\ + \ `device_proxy_request_error`, `device_subscription_request_success`, `device_subscription_request_error`\ + \ and `device_observations` monitor only the response from the device to\ + \ Device Management Connect. They do not confirm that the response is delivered\ + \ to the client callback URLs used when you try to access device resources\ + \ using [Connect API](https://www.pelion.com/docs/device-management-api/connect/)\ \ endpoints. New metrics will be added to monitor the response delivery\ \ to client callback URLs later.\n\n**Example usage:**\n\n```\ncurl -X\ \ GET \\\n -H \"Authorization : Bearer \"\n \ @@ -29035,9 +29065,22 @@ paths: x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}: get: - description: "Get the count of successfully updated, skipped, and failed devices.\ - \ \n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012\ - \ \\\n-H 'Authorization: '\n```\n" + description: 'Get the count of successfully updated, skipped, and failed devices. + +
+ + **Usage example:** + + ``` + + curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' operationId: Update_Campaign_statistics_retrieve parameters: - description: The campaign ID. @@ -29177,7 +29220,7 @@ paths: /v3/update-campaigns/{campaign_id}/stop: post: description: 'Stop a campaign. Stopping is a process that requires the campaign - go through several [phases](../updating-firmware/running-update-campaigns.html#stopping). + go through several [phases](https://www.pelion.com/docs/device-management/current/updating-firmware/device-management-update-using-the-apis.html).
diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index f2fa5864c..5f9c7a83f 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -20106,7 +20106,7 @@ "_key": "list" }, { - "description": "Get the count of successfully updated, skipped, and failed devices. \n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get the count of successfully updated, skipped, and failed devices.\n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -29977,7 +29977,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a developer certificate (a certificate that can be flashed to multiple devices to connect to the bootstrap server).\n\n**Note:** The number of developer certificates allowed per account is limited. Please see [Setting up a Certificate Authority](../provisioning-process/integrating-with-a-third-party-ca.html#setting-up-a-ca).\n\n**Example:**\n```\ncurl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n-d { \"name\": \"\", \"description\": \"\" }\n```", + "description": "Create a developer certificate (a certificate that can be flashed to multiple devices to connect to the bootstrap server).\n\n**Note:** The number of developer certificates allowed per account is limited. Please see [Setting up a Certificate Authority](https://www.pelion.com/docs/device-management/current/provisioning-process/integrating-with-a-third-party-ca.html).\n\n**Example:**\n```\ncurl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n-d { \"name\": \"\", \"description\": \"\" }\n```", "field_renames": [ { "api_fieldname": "developer_certificate", @@ -32286,7 +32286,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](https://www.pelion.com/docs/device-management-api/connect/) can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state", "parameter_fieldname": "state", @@ -32639,7 +32639,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](https://www.pelion.com/docs/device-management-api/connect/) can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state" }, @@ -32735,7 +32735,7 @@ "field_renames": [], "fields": [ { - "description": "The [Device ID](../connecting/device-identity.html) created by Device Management.", + "description": "The [Device ID](https://www.pelion.com/docs/device-management/current/connecting/device-identity.html) created by Device Management.", "in": "path", "name": "id", "required": true, @@ -33115,7 +33115,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired." + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](https://www.pelion.com/docs/device-management-api/connect/) can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired." }, "updated_at": { "format": "date-time", @@ -33577,7 +33577,7 @@ "_key": "list" }, { - "description": "Retrieve information about a specific device. This API returns [DeviceData](../service-api-references/device-directory.html#devicedata). If you want to see the structure of resources in the device or the actual resource values, use the [Connect API](../service-api-references/device-management-connect.html).\n\n**Example:**\nFollowing example must be updated with the device's ID to the URL. The id is from of \"01667c6e992c00000000000100100370\"\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/devices/ \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve information about a specific device. This API returns [DeviceData](https://www.pelion.com/docs/device-management-api/device-directory/). If you want to see the structure of resources in the device or the actual resource values, use the [Connect API](https://www.pelion.com/docs/device-management-api/connect/).\n\n**Example:**\nFollowing example must be updated with the device's ID to the URL. The id is from of \"01667c6e992c00000000000100100370\"\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/devices/ \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -33924,7 +33924,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](https://www.pelion.com/docs/device-management-api/connect/) can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state" }, @@ -35339,7 +35339,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](https://www.pelion.com/docs/device-management-api/connect/) can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "entity_fieldname": "state" }, @@ -35820,7 +35820,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](https://www.pelion.com/docs/device-management-api/connect/) can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired.", "api_fieldname": "state", "readOnly": false, "required": false, @@ -36243,7 +36243,7 @@ "_key": "create" }, { - "description": "To free a device from your account, delete the enrollment claim. To bypass the device ownership, you need to delete the enrollment and factory reset the device. For more information, see [Transferring ownership using First-to-Claim](../connecting/device-ownership-first-to-claim-by-enrollment-list.html).\n
\n**Example:**\n```\ncurl -X DELETE \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id}\n```", + "description": "To free a device from your account, delete the enrollment claim. To bypass the device ownership, you need to delete the enrollment and factory reset the device. For more information, see [Transferring ownership using First-to-Claim](https://www.pelion.com/docs/device-management/current/connecting/device-ownership-first-to-claim-by-enrollment-list.html).\n
\n**Example:**\n```\ncurl -X DELETE \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id}\n```", "field_renames": [], "fields": [ { @@ -39861,7 +39861,7 @@ "primary_key_field": "id", "methods": [ { - "description": "List all or a filtered list of device events for the account. Device events are events significant to operation or lifetime, such as creation, firmware update, and suspension.\n\nTo see statistics for device connectivity and usage, use the [Statistics API](../service-api-references/connect-statistics.html).\n\n **Example:**\n Following example gets device-events limiting returned results to max 5 events\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5 \\\n -H 'Authorization: Bearer '\n ```\n or to get events for certain device filter based on device_id:\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id= \\\n -H 'Authorization: Bearer '\n ```", + "description": "List all or a filtered list of device events for the account. Device events are events significant to operation or lifetime, such as creation, firmware update, and suspension.\n\nTo see statistics for device connectivity and usage, use the [Statistics API](https://www.pelion.com/docs/device-management-api/connect-statistics/).\n\n **Example:**\n Following example gets device-events limiting returned results to max 5 events\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5 \\\n -H 'Authorization: Bearer '\n ```\n or to get events for certain device filter based on device_id:\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?device_id= \\\n -H 'Authorization: Bearer '\n ```", "field_renames": [], "fields": [ { @@ -41734,7 +41734,7 @@ "deregistered" ], "type": "string", - "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired." + "description": "The current state of the device.\n* Unenrolled: The device has been created, but has not yet bootstrapped or connected to Device Management.\n* Cloud_enrolling: The device is bootstrapping for the first time. This state is set only while bootstrapping is in progress. For example, an external CA gives an error, and the device tries to bootstrap again after few seconds.\n* Bootstrapped: The device has bootstrapped, and has credentials to connect to Device Management.\n* Registered: The device has registered with Pelion Device Management. [Device commands](https://www.pelion.com/docs/device-management-api/connect/) can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources.\n* Deregistered: The device has requested deregistration, or its registration has expired." }, "updated_at": { "format": "date-time", @@ -42857,7 +42857,7 @@ "_key": "list" }, { - "description": "Returns [DeviceGroup](../service-api-references/device-directory.html#DeviceGroup) info what contains info of the group, for example, name and updated date. To list the devices in the group, use '/v3/device-groups/{device-group-id}/devices/'.", + "description": "Returns [DeviceGroup](https://www.pelion.com/docs/device-management-api/device-directory/) info what contains info of the group, for example, name and updated date. To list the devices in the group, use '/v3/device-groups/{device-group-id}/devices/'.", "field_renames": [], "fields": [ { @@ -44017,7 +44017,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a firmware image. \n
**Note:** Only use this API for images smaller than 100 MB. For larger images, [upload in chunks](../updating-firmware/uploading-a-large-firmware-image.html). \n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla bla' \\\n-F 'name=My Linux Image'\n```\n", + "description": "Create a firmware image.\n
**Note:** Only use this API for images smaller than 100 MB. For larger images, [upload in chunks](https://www.pelion.com/docs/device-management/current/updating-firmware/uploading-a-large-firmware-image.html).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla bla' \\\n-F 'name=My Linux Image'\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -92729,7 +92729,7 @@ "_key": "start" }, { - "description": "Stop a campaign. Stopping is a process that requires the campaign go through several [phases](../updating-firmware/running-update-campaigns.html#stopping).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \\\n-H 'Authorization: '\n```\n", + "description": "Stop a campaign. Stopping is a process that requires the campaign go through several [phases](https://www.pelion.com/docs/device-management/current/updating-firmware/device-management-update-using-the-apis.html).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 82852f371..06b3d4109 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -14650,9 +14650,22 @@ entities: x_deprecation: null x_filter: {} - _key: read - description: "Get the count of successfully updated, skipped, and failed devices.\ - \ \n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012\ - \ \\\n-H 'Authorization: '\n```\n" + description: 'Get the count of successfully updated, skipped, and failed devices. + +
+ + **Usage example:** + + ``` + + curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 + \ + + -H ''Authorization: '' + + ``` + + ' drop_fields: - object - etag @@ -21879,7 +21892,7 @@ entities: **Note:** The number of developer certificates allowed per account is limited. - Please see [Setting up a Certificate Authority](../provisioning-process/integrating-with-a-third-party-ca.html#setting-up-a-ca). + Please see [Setting up a Certificate Authority](https://www.pelion.com/docs/device-management/current/provisioning-process/integrating-with-a-third-party-ca.html). **Example:** @@ -23828,8 +23841,8 @@ entities: to Device Management. * Registered: The device has registered with Pelion Device Management. [Device - commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + commands](https://www.pelion.com/docs/device-management-api/connect/) can be + queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -24320,8 +24333,8 @@ entities: to Device Management. * Registered: The device has registered with Pelion Device Management. [Device - commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + commands](https://www.pelion.com/docs/device-management-api/connect/) can + be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -24677,8 +24690,8 @@ entities: to Device Management. * Registered: The device has registered with Pelion Device Management. - [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + [Device commands](https://www.pelion.com/docs/device-management-api/connect/) + can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -24737,8 +24750,8 @@ entities: fields: - _key: id api_fieldname: id - description: The [Device ID](../connecting/device-identity.html) created by - Device Management. + description: The [Device ID](https://www.pelion.com/docs/device-management/current/connecting/device-identity.html) + created by Device Management. entity_fieldname: id external_param: false in: path @@ -25253,8 +25266,8 @@ entities: connect to Device Management. * Registered: The device has registered with Pelion Device Management. - [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + [Device commands](https://www.pelion.com/docs/device-management-api/connect/) + can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -25498,9 +25511,9 @@ entities: - in - nin - _key: read - description: 'Retrieve information about a specific device. This API returns [DeviceData](../service-api-references/device-directory.html#devicedata). + description: 'Retrieve information about a specific device. This API returns [DeviceData](https://www.pelion.com/docs/device-management-api/device-directory/). If you want to see the structure of resources in the device or the actual resource - values, use the [Connect API](../service-api-references/device-management-connect.html). + values, use the [Connect API](https://www.pelion.com/docs/device-management-api/connect/). **Example:** @@ -25901,8 +25914,8 @@ entities: to Device Management. * Registered: The device has registered with Pelion Device Management. - [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + [Device commands](https://www.pelion.com/docs/device-management-api/connect/) + can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -27041,8 +27054,8 @@ entities: to Device Management. * Registered: The device has registered with Pelion Device Management. - [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + [Device commands](https://www.pelion.com/docs/device-management-api/connect/) + can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -27446,7 +27459,7 @@ entities: - _key: delete description: 'To free a device from your account, delete the enrollment claim. To bypass the device ownership, you need to delete the enrollment and factory - reset the device. For more information, see [Transferring ownership using First-to-Claim](../connecting/device-ownership-first-to-claim-by-enrollment-list.html). + reset the device. For more information, see [Transferring ownership using First-to-Claim](https://www.pelion.com/docs/device-management/current/connecting/device-ownership-first-to-claim-by-enrollment-list.html).
@@ -30424,7 +30437,7 @@ entities: description: "List all or a filtered list of device events for the account. Device\ \ events are events significant to operation or lifetime, such as creation,\ \ firmware update, and suspension.\n\nTo see statistics for device connectivity\ - \ and usage, use the [Statistics API](../service-api-references/connect-statistics.html).\n\ + \ and usage, use the [Statistics API](https://www.pelion.com/docs/device-management-api/connect-statistics/).\n\ \n **Example:**\n Following example gets device-events limiting returned results\ \ to max 5 events\n ```\n curl -X GET https://api.us-east-1.mbedcloud.com/v3/device-events?limit=5\ \ \\\n -H 'Authorization: Bearer '\n ```\n or to get events for certain\ @@ -32014,8 +32027,8 @@ entities: connect to Device Management. * Registered: The device has registered with Pelion Device Management. - [Device commands](../service-api-references/device-management-connect.html#createAsyncRequest) - can be queued. The device sends events for [subscribed](../connecting/resource-change-webapp.html) + [Device commands](https://www.pelion.com/docs/device-management-api/connect/) + can be queued. The device sends events for [subscribed](https://www.pelion.com/docs/device-management/current/resources/handle-resource-webapp.html) resources. * Deregistered: The device has requested deregistration, or its registration @@ -32738,7 +32751,7 @@ entities: - lte - gte - _key: read - description: Returns [DeviceGroup](../service-api-references/device-directory.html#DeviceGroup) + description: Returns [DeviceGroup](https://www.pelion.com/docs/device-management-api/device-directory/) info what contains info of the group, for example, name and updated date. To list the devices in the group, use '/v3/device-groups/{device-group-id}/devices/'. drop_fields: @@ -33573,12 +33586,32 @@ entities: group_id: Device_Update methods: - _key: create - description: "Create a firmware image. \n
**Note:** Only use this\ - \ API for images smaller than 100 MB. For larger images, [upload in chunks](../updating-firmware/uploading-a-large-firmware-image.html).\ - \ \n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images\ - \ \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data'\ - \ \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla\ - \ bla' \\\n-F 'name=My Linux Image'\n```\n" + description: 'Create a firmware image. + +
**Note:** Only use this API for images smaller than 100 MB. For larger + images, [upload in chunks](https://www.pelion.com/docs/device-management/current/updating-firmware/uploading-a-large-firmware-image.html). + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ + + -H ''Authorization: '' \ + + -H ''Content-Type: multipart/form-data'' \ + + -F ''datafile=@myimage.bin;type=application/octet-stream'' + + -F ''description=bla bla'' \ + + -F ''name=My Linux Image'' + + ``` + + ' drop_fields: - object - etag @@ -70967,7 +71000,7 @@ entities: x_filter: {} - _key: stop description: 'Stop a campaign. Stopping is a process that requires the campaign - go through several [phases](../updating-firmware/running-update-campaigns.html#stopping). + go through several [phases](https://www.pelion.com/docs/device-management/current/updating-firmware/device-management-update-using-the-apis.html).
From e5defab2a1bee002e1564a928e2000c28d1e1fb4 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 8 Jul 2020 15:06:24 +0000 Subject: [PATCH 085/111] new SDK config changes via api-contract @ 2020-07-08 15:06 --- .../public/pelion_dm_public_openapi.yaml | 110 +++++++++--------- .../public/sdk_foundation_definition.json | 72 ++++++++---- .../public/sdk_foundation_definition.yaml | 72 ++++++++---- 3 files changed, 162 insertions(+), 92 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index cd37d36b4..e06f676df 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -2113,6 +2113,7 @@ definitions: id: description: The metadata record ID. example: 015c3029f6f7000000000001001000c3 + pattern: '[A-Fa-f0-9]{32}' type: string mechanism: description: How the firmware is delivered (connector or direct). @@ -4508,15 +4509,18 @@ definitions: description: description: The description of the object. example: a description + format: free text maxLength: 2000 type: string etag: *id015 id: description: The firmware image ID. example: 016e652be671000000000001001001e5 + pattern: '[A-Fa-f0-9]{32}' type: string name: description: The firmware image name. + format: free text maxLength: 128 type: string object: @@ -4542,6 +4546,7 @@ definitions: format: date-time type: string id: + pattern: '[A-Fa-f0-9]{32}' type: string name: type: string @@ -4582,6 +4587,7 @@ definitions: format: date-time type: string id: + pattern: '[A-Fa-f0-9]{32}' type: string name: type: string @@ -4653,6 +4659,7 @@ definitions: description: description: The description of the firmware manifest. example: '' + format: free text maxLength: 2000 type: string device_class: @@ -4669,6 +4676,7 @@ definitions: id: description: The firmware manifest ID. example: '12345678901234567890123456789012' + pattern: '[A-Fa-f0-9]{32}' type: string key_table: description: The key table of pre-shared keys for devices. @@ -4684,6 +4692,7 @@ definitions: name: description: The name of the manifest. example: manifest_name + format: free text maxLength: 128 type: string object: @@ -4732,8 +4741,11 @@ definitions: format: date-time type: string id: + pattern: '[A-Fa-f0-9]{32}' type: string name: + format: free text + maxLength: 128 type: string timestamp: example: '2017-05-22T12:37:55.576563Z' @@ -4780,8 +4792,11 @@ definitions: format: date-time type: string id: + pattern: '[A-Fa-f0-9]{32}' type: string name: + format: free text + maxLength: 128 type: string timestamp: example: '2017-05-22T12:37:55.576563Z' @@ -7307,6 +7322,7 @@ definitions: id: description: The campaign ID. example: 016e83ddc648000000000001001000f5 + pattern: '[A-Fa-f0-9]{32}' type: string name: description: The campaign name. @@ -7414,10 +7430,12 @@ definitions: format: date-time type: string id: + pattern: '[A-Fa-f0-9]{32}' type: string name: type: string root_manifest_id: + pattern: '[A-Fa-f0-9]{32}' type: string started_at: example: '2017-05-22T12:37:55.576563Z' @@ -7479,10 +7497,12 @@ definitions: format: date-time type: string id: + pattern: '[A-Fa-f0-9]{32}' type: string name: type: string root_manifest_id: + pattern: '[A-Fa-f0-9]{32}' type: string started_at: example: '2017-05-22T12:37:55.576563Z' @@ -7553,8 +7573,7 @@ definitions: type: string root_manifest_id: example: 016e83b46477000000000001001001f3 - maxLength: 32 - minLength: 32 + pattern: '[A-Fa-f0-9]{32}' type: string state: description: 'DEPRECATED: The state of the campaign (use phase instead)' @@ -7588,7 +7607,8 @@ definitions: type: number description: description: An optional description of the campaign. - example: '' + example: description + format: free text maxLength: 2000 type: string device_filter: @@ -7599,11 +7619,12 @@ definitions: name: description: The campaign's name. example: campaign + format: free text maxLength: 128 type: string root_manifest_id: example: 016e83dce36a00000000000100100201 - maxLength: 32 + pattern: '[A-Fa-f0-9]{32}' type: string state: description: 'DEPRECATED: The state of the campaign (use phase instead).' @@ -7748,10 +7769,12 @@ definitions: firmware_image_id: description: ID of the firmware image - empty until the upload job is complete. example: 016e652be671000000000001001001a8 + pattern: '[A-Fa-f0-9]{32}' type: string id: description: The upload job ID. example: 016e652be671000000000001001001e5 + pattern: '[A-Fa-f0-9]{32}' type: string name: &id034 description: Human-readable name. @@ -24506,11 +24529,14 @@ paths: required: true type: file - description: The description of the firmware image. + format: free text in: formData + maxLength: 2000 name: description required: false type: string - description: The name of the firmware image. + format: free text in: formData maxLength: 128 name: name @@ -24839,9 +24865,8 @@ paths: parameters: - description: The upload job ID. in: path - maxLength: 32 - minLength: 32 name: upload_job_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -24884,9 +24909,8 @@ paths: parameters: - description: The upload job ID. in: path - maxLength: 32 - minLength: 32 name: upload_job_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -24916,9 +24940,8 @@ paths: parameters: - description: The upload job ID. in: path - maxLength: 32 - minLength: 32 name: upload_job_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: Upload job. @@ -24973,9 +24996,8 @@ paths: parameters: - description: The upload job ID. in: path - maxLength: 32 - minLength: 32 name: upload_job_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: How many objects to retrieve in the page. The minimum limit is @@ -25203,9 +25225,8 @@ paths: type: integer - description: The upload job ID. in: path - maxLength: 32 - minLength: 32 name: upload_job_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: Chunk. @@ -25265,9 +25286,8 @@ paths: parameters: - description: The upload job ID. in: path - maxLength: 32 - minLength: 32 name: upload_job_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: Chunk. @@ -25316,9 +25336,8 @@ paths: parameters: - description: The firmware image ID. in: path - maxLength: 32 - minLength: 32 name: image_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -25355,9 +25374,8 @@ paths: parameters: - description: The firmware image ID in: path - maxLength: 32 - minLength: 32 name: image_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -25710,7 +25728,9 @@ paths: required: true type: file - description: The description of the firmware manifest. + format: free text in: formData + maxLength: 2000 name: description required: false type: string @@ -25721,9 +25741,11 @@ paths: required: false type: file - description: The name of the firmware manifest. + format: free text in: formData maxLength: 128 name: name + required: true type: string responses: '201': @@ -25765,9 +25787,8 @@ paths: parameters: - description: The firmware manifest ID. in: path - maxLength: 32 - minLength: 32 name: manifest_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -25804,9 +25825,8 @@ paths: parameters: - description: The firmware manifest ID. in: path - maxLength: 32 - minLength: 32 name: manifest_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -28667,9 +28687,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -28714,9 +28733,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -28748,9 +28766,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: Update campaign. @@ -28802,9 +28819,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -28844,9 +28860,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: How many objects to retrieve in the page. The minimum limit is @@ -28903,16 +28918,14 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: The campaign device metadata ID. in: path - maxLength: 32 - minLength: 32 name: campaign_device_metadata_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -28953,9 +28966,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -28998,9 +29010,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -29041,9 +29052,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -29085,9 +29095,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: The summary status. For example, fail. @@ -29134,9 +29143,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: The summary status. For example, fail. @@ -29184,9 +29192,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - description: The summary status. For example, fail. @@ -29240,9 +29247,8 @@ paths: parameters: - description: The campaign ID. in: path - maxLength: 32 - minLength: 32 name: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 5f9c7a83f..7e4160e99 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -19131,6 +19131,7 @@ { "type": "string", "description": "The metadata record ID.", + "pattern": "[A-Fa-f0-9]{32}", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "entity_fieldname": "id", @@ -19208,6 +19209,7 @@ { "type": "string", "description": "The metadata record ID.", + "pattern": "[A-Fa-f0-9]{32}", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "entity_fieldname": "id", @@ -19364,6 +19366,7 @@ { "type": "string", "description": "The metadata record ID.", + "pattern": "[A-Fa-f0-9]{32}", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "readOnly": false, @@ -19438,8 +19441,7 @@ "name": "campaign_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "campaign_id", "api_fieldname": "campaign_id", "external_param": false, @@ -19783,8 +19785,7 @@ "name": "campaign_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "campaign_id", "api_fieldname": "campaign_id", "external_param": false, @@ -44028,6 +44029,7 @@ { "description": "The description of the object.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "a description", "api_fieldname": "description", @@ -44053,6 +44055,7 @@ { "description": "The firmware image name.", "type": "string", + "format": "free text", "maxLength": 128, "api_fieldname": "name", "entity_fieldname": "name", @@ -44127,6 +44130,7 @@ "description": { "description": "The description of the object.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "a description", "api_fieldname": "description", @@ -44135,6 +44139,7 @@ "id": { "description": "The firmware image ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "entity_fieldname": "id" @@ -44142,6 +44147,7 @@ "name": { "description": "The firmware image name.", "type": "string", + "format": "free text", "maxLength": 128, "api_fieldname": "name", "entity_fieldname": "name" @@ -44218,8 +44224,7 @@ "name": "image_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "id", "api_fieldname": "image_id", "external_param": false, @@ -44409,17 +44414,20 @@ "description": { "description": "The description of the object.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "a description" }, "id": { "description": "The firmware image ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e652be671000000000001001001e5" }, "name": { "description": "The firmware image name.", "type": "string", + "format": "free text", "maxLength": 128 }, "_key": "properties" @@ -44617,6 +44625,7 @@ { "description": "The firmware image ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "entity_fieldname": "id", @@ -44691,6 +44700,7 @@ "description": { "description": "The description of the object.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "a description", "api_fieldname": "description", @@ -44699,6 +44709,7 @@ "id": { "description": "The firmware image ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "entity_fieldname": "id" @@ -44706,6 +44717,7 @@ "name": { "description": "The firmware image name.", "type": "string", + "format": "free text", "maxLength": 128, "api_fieldname": "name", "entity_fieldname": "name" @@ -44803,6 +44815,7 @@ { "description": "The description of the object.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "a description", "api_fieldname": "description", @@ -44813,6 +44826,7 @@ { "description": "The firmware image ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e652be671000000000001001001e5", "api_fieldname": "id", "readOnly": false, @@ -44822,6 +44836,7 @@ { "description": "The firmware image name.", "type": "string", + "format": "free text", "maxLength": 128, "api_fieldname": "name", "readOnly": false, @@ -44874,6 +44889,7 @@ { "description": "The description of the firmware manifest.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "", "api_fieldname": "description", @@ -44910,13 +44926,14 @@ { "description": "The name of the manifest.", "type": "string", + "format": "free text", "maxLength": 128, "example": "manifest_name", "api_fieldname": "name", "entity_fieldname": "name", "parameter_fieldname": "name", "in": "stream", - "required": false, + "required": true, "_key": "name" } ], @@ -45029,6 +45046,7 @@ "description": { "description": "The description of the firmware manifest.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "", "api_fieldname": "description", @@ -45068,6 +45086,7 @@ "id": { "description": "The firmware manifest ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "12345678901234567890123456789012", "api_fieldname": "id", "entity_fieldname": "id" @@ -45075,6 +45094,7 @@ "name": { "description": "The name of the manifest.", "type": "string", + "format": "free text", "maxLength": 128, "example": "manifest_name", "api_fieldname": "name", @@ -45178,8 +45198,7 @@ "name": "manifest_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "id", "api_fieldname": "manifest_id", "external_param": false, @@ -45407,6 +45426,7 @@ "description": { "description": "The description of the firmware manifest.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "" }, @@ -45436,11 +45456,13 @@ "id": { "description": "The firmware manifest ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "12345678901234567890123456789012" }, "name": { "description": "The name of the manifest.", "type": "string", + "format": "free text", "maxLength": 128, "example": "manifest_name" }, @@ -45663,6 +45685,7 @@ { "description": "The firmware manifest ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "12345678901234567890123456789012", "api_fieldname": "id", "entity_fieldname": "id", @@ -45781,6 +45804,7 @@ "description": { "description": "The description of the firmware manifest.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "", "api_fieldname": "description", @@ -45820,6 +45844,7 @@ "id": { "description": "The firmware manifest ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "12345678901234567890123456789012", "api_fieldname": "id", "entity_fieldname": "id" @@ -45827,6 +45852,7 @@ "name": { "description": "The name of the manifest.", "type": "string", + "format": "free text", "maxLength": 128, "example": "manifest_name", "api_fieldname": "name", @@ -45984,6 +46010,7 @@ { "description": "The description of the firmware manifest.", "type": "string", + "format": "free text", "maxLength": 2000, "example": "", "api_fieldname": "description", @@ -46014,6 +46041,7 @@ { "description": "The firmware manifest ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "12345678901234567890123456789012", "api_fieldname": "id", "readOnly": false, @@ -46046,11 +46074,12 @@ { "description": "The name of the manifest.", "type": "string", + "format": "free text", "maxLength": 128, "example": "manifest_name", "api_fieldname": "name", "readOnly": false, - "required": false, + "required": true, "_key": "name" }, { @@ -90863,8 +90892,7 @@ "name": "campaign_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -91172,6 +91200,7 @@ "id": { "description": "The campaign ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id" @@ -91365,8 +91394,7 @@ "name": "campaign_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -91529,8 +91557,7 @@ "name": "campaign_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -91668,6 +91695,7 @@ { "type": "string", "description": "The metadata record ID.", + "pattern": "[A-Fa-f0-9]{32}", "example": "015c3029f6f7000000000001001000c3", "api_fieldname": "id", "entity_fieldname": "id", @@ -92005,6 +92033,7 @@ "id": { "description": "The campaign ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e83ddc648000000000001001000f5" }, "name": { @@ -92331,6 +92360,7 @@ { "description": "The campaign ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id", @@ -92463,6 +92493,7 @@ "id": { "description": "The campaign ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id" @@ -92668,8 +92699,7 @@ "name": "campaign_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -92750,8 +92780,7 @@ "name": "campaign_id", "required": true, "type": "string", - "minLength": 32, - "maxLength": 32, + "pattern": "[A-Fa-f0-9]{32}", "entity_fieldname": "id", "api_fieldname": "campaign_id", "external_param": false, @@ -92886,6 +92915,7 @@ { "description": "The campaign ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id", @@ -93054,6 +93084,7 @@ "id": { "description": "The campaign ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "entity_fieldname": "id" @@ -93361,6 +93392,7 @@ { "description": "The campaign ID.", "type": "string", + "pattern": "[A-Fa-f0-9]{32}", "example": "016e83ddc648000000000001001000f5", "api_fieldname": "id", "readOnly": false, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 06b3d4109..4c7798eb5 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -13882,6 +13882,7 @@ entities: api_fieldname: id description: The metadata record ID. example: 015c3029f6f7000000000001001000c3 + pattern: '[A-Fa-f0-9]{32}' readOnly: false required: true type: string @@ -13966,6 +13967,7 @@ entities: example: 015c3029f6f7000000000001001000c3 in: path parameter_fieldname: campaign_device_metadata_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -14035,6 +14037,7 @@ entities: description: The metadata record ID. entity_fieldname: id example: 015c3029f6f7000000000001001000c3 + pattern: '[A-Fa-f0-9]{32}' type: string - _key: mechanism api_fieldname: mechanism @@ -14171,10 +14174,9 @@ entities: entity_fieldname: campaign_id external_param: false in: path - maxLength: 32 - minLength: 32 name: campaign_id parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - _key: id @@ -14432,10 +14434,9 @@ entities: entity_fieldname: campaign_id external_param: false in: path - maxLength: 32 - minLength: 32 name: campaign_id parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string foreign_key: @@ -33557,6 +33558,7 @@ entities: api_fieldname: description description: The description of the object. example: a description + format: free text maxLength: 2000 readOnly: false required: false @@ -33565,12 +33567,14 @@ entities: api_fieldname: id description: The firmware image ID. example: 016e652be671000000000001001001e5 + pattern: '[A-Fa-f0-9]{32}' readOnly: false required: true type: string - _key: name api_fieldname: name description: The firmware image name. + format: free text maxLength: 128 readOnly: false required: false @@ -33632,6 +33636,7 @@ entities: description: The description of the object. entity_fieldname: description example: a description + format: free text in: stream maxLength: 2000 parameter_fieldname: description @@ -33653,6 +33658,7 @@ entities: api_fieldname: name description: The firmware image name. entity_fieldname: name + format: free text in: stream maxLength: 128 parameter_fieldname: name @@ -33710,6 +33716,7 @@ entities: description: The description of the object. entity_fieldname: description example: a description + format: free text maxLength: 2000 type: string etag: @@ -33723,11 +33730,13 @@ entities: description: The firmware image ID. entity_fieldname: id example: 016e652be671000000000001001001e5 + pattern: '[A-Fa-f0-9]{32}' type: string name: api_fieldname: name description: The firmware image name. entity_fieldname: name + format: free text maxLength: 128 type: string object: @@ -33791,10 +33800,9 @@ entities: entity_fieldname: id external_param: false in: path - maxLength: 32 - minLength: 32 name: image_id parameter_fieldname: image_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -33994,6 +34002,7 @@ entities: description: description: The description of the object. example: a description + format: free text maxLength: 2000 type: string etag: @@ -34005,9 +34014,11 @@ entities: id: description: The firmware image ID. example: 016e652be671000000000001001001e5 + pattern: '[A-Fa-f0-9]{32}' type: string name: description: The firmware image name. + format: free text maxLength: 128 type: string object: @@ -34144,6 +34155,7 @@ entities: example: 016e652be671000000000001001001e5 in: path parameter_fieldname: image_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -34194,6 +34206,7 @@ entities: description: The description of the object. entity_fieldname: description example: a description + format: free text maxLength: 2000 type: string etag: @@ -34207,11 +34220,13 @@ entities: description: The firmware image ID. entity_fieldname: id example: 016e652be671000000000001001001e5 + pattern: '[A-Fa-f0-9]{32}' type: string name: api_fieldname: name description: The firmware image name. entity_fieldname: name + format: free text maxLength: 128 type: string object: @@ -34313,6 +34328,7 @@ entities: api_fieldname: description description: The description of the firmware manifest. example: '' + format: free text maxLength: 2000 readOnly: false required: false @@ -34337,6 +34353,7 @@ entities: api_fieldname: id description: The firmware manifest ID. example: '12345678901234567890123456789012' + pattern: '[A-Fa-f0-9]{32}' readOnly: false required: true type: string @@ -34362,9 +34379,10 @@ entities: api_fieldname: name description: The name of the manifest. example: manifest_name + format: free text maxLength: 128 readOnly: false - required: false + required: true type: string - _key: parsed_raw_manifest api_fieldname: parsed_raw_manifest @@ -34471,6 +34489,7 @@ entities: description: The description of the firmware manifest. entity_fieldname: description example: '' + format: free text in: stream maxLength: 2000 parameter_fieldname: description @@ -34503,10 +34522,11 @@ entities: description: The name of the manifest. entity_fieldname: name example: manifest_name + format: free text in: stream maxLength: 128 parameter_fieldname: name - required: false + required: true type: string group_id: Device_Update method: post @@ -34585,6 +34605,7 @@ entities: description: The description of the firmware manifest. entity_fieldname: description example: '' + format: free text maxLength: 2000 type: string device_class: @@ -34612,6 +34633,7 @@ entities: description: The firmware manifest ID. entity_fieldname: id example: '12345678901234567890123456789012' + pattern: '[A-Fa-f0-9]{32}' type: string key_table: api_fieldname: key_table @@ -34633,6 +34655,7 @@ entities: description: The name of the manifest. entity_fieldname: name example: manifest_name + format: free text maxLength: 128 type: string object: @@ -34731,10 +34754,9 @@ entities: entity_fieldname: id external_param: false in: path - maxLength: 32 - minLength: 32 name: manifest_id parameter_fieldname: manifest_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -34959,6 +34981,7 @@ entities: description: description: The description of the firmware manifest. example: '' + format: free text maxLength: 2000 type: string device_class: @@ -34980,6 +35003,7 @@ entities: id: description: The firmware manifest ID. example: '12345678901234567890123456789012' + pattern: '[A-Fa-f0-9]{32}' type: string key_table: description: The key table of pre-shared keys for devices. @@ -34995,6 +35019,7 @@ entities: name: description: The name of the manifest. example: manifest_name + format: free text maxLength: 128 type: string object: @@ -35174,6 +35199,7 @@ entities: example: '12345678901234567890123456789012' in: path parameter_fieldname: manifest_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -35249,6 +35275,7 @@ entities: description: The description of the firmware manifest. entity_fieldname: description example: '' + format: free text maxLength: 2000 type: string device_class: @@ -35276,6 +35303,7 @@ entities: description: The firmware manifest ID. entity_fieldname: id example: '12345678901234567890123456789012' + pattern: '[A-Fa-f0-9]{32}' type: string key_table: api_fieldname: key_table @@ -35297,6 +35325,7 @@ entities: description: The name of the manifest. entity_fieldname: name example: manifest_name + format: free text maxLength: 128 type: string object: @@ -69217,6 +69246,7 @@ entities: api_fieldname: id description: The campaign ID. example: 016e83ddc648000000000001001000f5 + pattern: '[A-Fa-f0-9]{32}' readOnly: false required: true type: string @@ -69356,10 +69386,9 @@ entities: entity_fieldname: id external_param: false in: path - maxLength: 32 - minLength: 32 name: campaign_id parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -69638,6 +69667,7 @@ entities: description: The campaign ID. entity_fieldname: id example: 016e83ddc648000000000001001000f5 + pattern: '[A-Fa-f0-9]{32}' type: string name: api_fieldname: name @@ -69812,10 +69842,9 @@ entities: entity_fieldname: id external_param: false in: path - maxLength: 32 - minLength: 32 name: campaign_id parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -69953,10 +69982,9 @@ entities: entity_fieldname: id external_param: false in: path - maxLength: 32 - minLength: 32 name: campaign_id parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - _key: include @@ -70091,6 +70119,7 @@ entities: example: 015c3029f6f7000000000001001000c3 in: path parameter_fieldname: campaign_device_metadata_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - _key: mechanism @@ -70416,6 +70445,7 @@ entities: id: description: The campaign ID. example: 016e83ddc648000000000001001000f5 + pattern: '[A-Fa-f0-9]{32}' type: string name: description: The campaign name. @@ -70675,6 +70705,7 @@ entities: example: 016e83ddc648000000000001001000f5 in: path parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -70787,6 +70818,7 @@ entities: description: The campaign ID. entity_fieldname: id example: 016e83ddc648000000000001001000f5 + pattern: '[A-Fa-f0-9]{32}' type: string name: api_fieldname: name @@ -70963,10 +70995,9 @@ entities: entity_fieldname: id external_param: false in: path - maxLength: 32 - minLength: 32 name: campaign_id parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -71042,10 +71073,9 @@ entities: entity_fieldname: id external_param: false in: path - maxLength: 32 - minLength: 32 name: campaign_id parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string group_id: Device_Update @@ -71173,6 +71203,7 @@ entities: example: 016e83ddc648000000000001001000f5 in: path parameter_fieldname: campaign_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string - _key: name @@ -71317,6 +71348,7 @@ entities: description: The campaign ID. entity_fieldname: id example: 016e83ddc648000000000001001000f5 + pattern: '[A-Fa-f0-9]{32}' type: string name: api_fieldname: name From 4e97598df73e956ba560493532004c519cd7a409 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 8 Jul 2020 15:10:09 +0000 Subject: [PATCH 086/111] new SDK config changes via api-contract @ 2020-07-08 15:10 --- .../public/pelion_dm_public_openapi.yaml | 59 ++++++++++++------- .../public/sdk_foundation_definition.json | 57 ++++++++++++------ .../public/sdk_foundation_definition.yaml | 51 +++++++++++----- 3 files changed, 114 insertions(+), 53 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index e06f676df..cceff7e65 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -2129,6 +2129,7 @@ definitions: type: string object: description: 'The entity name: always ''update-campaign-device-metadata''.' + example: update-campaign-device-metadata type: string updated_at: &id016 description: The time the entity was updated. @@ -2161,6 +2162,7 @@ definitions: type: integer object: description: 'The entity name: always ''list''.' + example: list type: string order: description: 'The order of the records to return. Acceptable values: ASC, @@ -2190,6 +2192,7 @@ definitions: type: integer object: description: 'Entity name: always ''update-campaign-metrics''.' + example: update-campaign-metrics type: string pending_count: description: Running total of devices that have yet to receive an update or @@ -4311,6 +4314,7 @@ definitions: type: string object: description: 'Entity name: always ''event-type''.' + example: event-type type: string summary_status: example: FAIL @@ -4380,6 +4384,7 @@ definitions: type: string object: description: 'Entity name: always ''summary_status''.' + example: summary_status type: string summary_status: description: The event type description. @@ -4412,6 +4417,7 @@ definitions: type: integer object: description: 'The entity name: always ''list''.' + example: list type: string order: description: 'The order of the records to return. Acceptable values: ASC, @@ -4525,6 +4531,7 @@ definitions: type: string object: description: 'Entity name: always ''firmware-image''.' + example: firmware-image type: string updated_at: *id016 FirmwareImageEqNeqFilter: @@ -4546,6 +4553,7 @@ definitions: format: date-time type: string id: + example: 015c3029f6f7000000000001001000c3 pattern: '[A-Fa-f0-9]{32}' type: string name: @@ -4587,6 +4595,7 @@ definitions: format: date-time type: string id: + example: 015c3029f6f7000000000001001000c3 pattern: '[A-Fa-f0-9]{32}' type: string name: @@ -4611,6 +4620,7 @@ definitions: type: integer object: description: 'Entity name: always ''list''.' + example: list type: string order: description: The order of the records based on creation time, `ASC` or `DESC`; @@ -4697,6 +4707,7 @@ definitions: type: string object: description: 'Entity name: always ''firmware-manifest''.' + example: firmware-manifest type: string parsed_raw_manifest: description: 'Raw manifest in JSON format, parsed from ASN.1 DER encoding. @@ -4741,6 +4752,7 @@ definitions: format: date-time type: string id: + example: 015c3029f6f7000000000001001000c3 pattern: '[A-Fa-f0-9]{32}' type: string name: @@ -4792,6 +4804,7 @@ definitions: format: date-time type: string id: + example: 015c3029f6f7000000000001001000c3 pattern: '[A-Fa-f0-9]{32}' type: string name: @@ -4822,6 +4835,7 @@ definitions: type: integer object: description: 'Entity name: always ''list''.' + example: list type: string order: description: 'The order of the records to return. Acceptable values: ASC, @@ -7331,6 +7345,7 @@ definitions: type: string object: description: 'Entity name: always ''update-campaign''.' + example: update-campaign type: string phase: description: The phase of the campaign. @@ -7497,11 +7512,13 @@ definitions: format: date-time type: string id: + example: 015c3029f6f7000000000001001000c3 pattern: '[A-Fa-f0-9]{32}' type: string name: type: string root_manifest_id: + example: 015c6029f6f9000000000001001000f4 pattern: '[A-Fa-f0-9]{32}' type: string started_at: @@ -7533,6 +7550,7 @@ definitions: type: integer object: description: 'Entity name: always ''list''.' + example: list type: string order: description: 'The order of the records to return. Acceptable values: ASC, @@ -7741,6 +7759,7 @@ definitions: type: integer object: description: 'Entity name: always ''list''.' + example: list type: string order: description: 'The order of the records to return. Acceptable values: ASC, @@ -7807,6 +7826,7 @@ definitions: type: integer object: description: 'Entity name: always ''list''.' + example: list type: string order: description: 'The order of the records to return. Acceptable values: ASC, @@ -25292,9 +25312,8 @@ paths: type: string - description: Chunk. in: path - maxLength: 32 - minLength: 32 name: chunk_id + pattern: '[A-Fa-f0-9]{32}' required: true type: string responses: @@ -25324,7 +25343,7 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/11234567f9012ab56790120000789012 \ -H ''Authorization: '' @@ -25362,7 +25381,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/1123456f9012ab567890120000789012 \ -H ''Authorization: '' @@ -25775,7 +25794,7 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/11234567f9012ab56780120000789012 \ -H ''Authorization: '' @@ -25813,7 +25832,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/1123467f9012ab567890120000789012 \ -H ''Authorization: '' @@ -28639,8 +28658,8 @@ paths: \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"\ Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\"\ - : \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ - ,\n}'\n```\n" + : \"campaign\",\n \"root_manifest_id\": \"56780000000000a5b70000000000bd98\"\ + \n}'\n```\n" operationId: Update_Campaign_create parameters: - description: Update campaign. @@ -28675,7 +28694,7 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123457f9012ab567890120000789012 \ -H ''Authorization: '' @@ -28721,7 +28740,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56890120000789012 \ -H ''Authorization: '' @@ -28757,7 +28776,7 @@ paths: x-origin: /home/circleci/project/update-service/public/swagger.yml put: description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ - \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123007f9012ab567890120000789012\ \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\"\ : \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\"\ ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ @@ -28848,7 +28867,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56790120000789012/campaign-device-metadata \ -H ''Authorization: '' @@ -28906,7 +28925,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a89900000655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \ -H ''Authorization: '' @@ -28954,7 +28973,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/metrics + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123467f9012ab567890120000789012/metrics \ -H ''Authorization: '' @@ -28983,7 +29002,7 @@ paths: tags: - Device update - campaigns x-deprecation: - comment: Use the statistics endpoint instead. + comment: Use GET /v3/update-campaigns/{campaign_id}/statistics instead. end_of_life_at: '2020-04-10T13:41:00+00:00' issued_at: '2019-04-10T13:41:00+00:00' links: [] @@ -28998,7 +29017,7 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/start + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8900002e655cd94fa8/start \ -H ''Authorization: '' @@ -29040,7 +29059,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56780120000789012/statistics \ -H ''Authorization: '' @@ -29083,7 +29102,7 @@ paths: ``` - curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 + curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11230007f9012ab56789012000079012/statistics/11234567f012ab567890120000789012 \ -H ''Authorization: '' @@ -29131,7 +29150,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1120007f9012ab567890120000789012/statistics/1234567f9012ab567890120000789012/event_types \ -H ''Authorization: '' @@ -29180,7 +29199,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9000005678012000078901/statistics/11000067f9012ab56789010000789012/event_types/11234567f9012ab567890120000789012 \ -H ''Authorization: '' diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 7e4160e99..be2dcceb4 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -19109,7 +19109,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get update campaign metadata for a specific device.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \\\n-H 'Authorization: '\n```\n", + "description": "Get update campaign metadata for a specific device.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a89900000655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "campaign", @@ -19242,6 +19242,7 @@ { "type": "string", "description": "The entity name: always 'update-campaign-device-metadata'.", + "example": "update-campaign-device-metadata", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -19432,7 +19433,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get a list of events grouped by summary.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types \\\n-H 'Authorization: '\n```\n", + "description": "Get a list of events grouped by summary.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1120007f9012ab567890120000789012/statistics/1234567f9012ab567890120000789012/event_types \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -19517,6 +19518,7 @@ { "type": "string", "description": "Entity name: always 'event-type'.", + "example": "event-type", "_key": "object" }, { @@ -19776,7 +19778,7 @@ "_key": "events" }, { - "description": "Get a list of statistics for a campaign, including the number of devices reporting specific event codes.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics \\\n-H 'Authorization: '\n```\n", + "description": "Get a list of statistics for a campaign, including the number of devices reporting specific event codes.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56780120000789012/statistics \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -19846,6 +19848,7 @@ { "type": "string", "description": "Entity name: always 'summary_status'.", + "example": "summary_status", "_key": "object" }, { @@ -19889,6 +19892,7 @@ { "type": "string", "description": "The entity name: always 'list'.", + "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -20107,7 +20111,7 @@ "_key": "list" }, { - "description": "Get the count of successfully updated, skipped, and failed devices.\n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get the count of successfully updated, skipped, and failed devices.\n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11230007f9012ab56789012000079012/statistics/11234567f012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -20188,6 +20192,7 @@ { "type": "string", "description": "Entity name: always 'summary_status'.", + "example": "summary_status", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -20465,7 +20470,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9000005678012000078901/statistics/11000067f9012ab56789010000789012/event_types/11234567f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -20555,6 +20560,7 @@ { "type": "string", "description": "Entity name: always 'event-type'.", + "example": "event-type", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -44103,6 +44109,7 @@ "object": { "description": "Entity name: always 'firmware-image'.", "type": "string", + "example": "firmware-image", "api_fieldname": "object", "entity_fieldname": "object" }, @@ -44210,7 +44217,7 @@ "_key": "create" }, { - "description": "Delete a firmware image.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Delete a firmware image.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/11234567f9012ab56790120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44394,7 +44401,8 @@ }, "object": { "description": "Entity name: always 'firmware-image'.", - "type": "string" + "type": "string", + "example": "firmware-image" }, "datafile": { "description": "The firmware image file URL.", @@ -44453,6 +44461,7 @@ { "description": "Entity name: always 'list'.", "type": "string", + "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -44614,7 +44623,7 @@ "_key": "list" }, { - "description": "Retrieve a firmware image.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Retrieve a firmware image.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/1123456f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44673,6 +44682,7 @@ "object": { "description": "Entity name: always 'firmware-image'.", "type": "string", + "example": "firmware-image", "api_fieldname": "object", "entity_fieldname": "object" }, @@ -44975,6 +44985,7 @@ "object": { "description": "Entity name: always 'firmware-manifest'.", "type": "string", + "example": "firmware-manifest", "api_fieldname": "object", "entity_fieldname": "object" }, @@ -45180,7 +45191,7 @@ "_key": "create" }, { - "description": "Delete a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Delete a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/11234567f9012ab56780120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -45372,7 +45383,8 @@ }, "object": { "description": "Entity name: always 'firmware-manifest'.", - "type": "string" + "type": "string", + "example": "firmware-manifest" }, "manifest_schema_version": { "description": "Version of the manifest schema (1 or 3).", @@ -45499,6 +45511,7 @@ { "description": "Entity name: always 'list'.", "type": "string", + "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -45670,7 +45683,7 @@ "_key": "list" }, { - "description": "Retrieve a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Retrieve a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/1123467f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -45733,6 +45746,7 @@ "object": { "description": "Entity name: always 'firmware-manifest'.", "type": "string", + "example": "firmware-manifest", "api_fieldname": "object", "entity_fieldname": "object" }, @@ -90952,7 +90966,7 @@ "_key": "archive" }, { - "description": "Create an update campaign.\n\nTo include a filter for targeted devices, refer to the filter using `` in the message body.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", + "description": "Create an update campaign.\n\nTo include a filter for targeted devices, refer to the filter using `` in the message body.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"56780000000000a5b70000000000bd98\"\n}'\n```\n", "field_renames": [], "fields": [ { @@ -91126,6 +91140,7 @@ "object": { "description": "Entity name: always 'update-campaign'.", "type": "string", + "example": "update-campaign", "api_fieldname": "object", "entity_fieldname": "object" }, @@ -91373,7 +91388,7 @@ "_key": "create" }, { - "description": "Delete an update campaign.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Delete an update campaign.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123457f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -91523,7 +91538,7 @@ "_key": "delete" }, { - "description": "Get metadata for all devices in a campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata \\\n-H 'Authorization: '\n```\n", + "description": "Get metadata for all devices in a campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56790120000789012/campaign-device-metadata \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -91731,6 +91746,7 @@ { "type": "string", "description": "The entity name: always 'update-campaign-device-metadata'.", + "example": "update-campaign-device-metadata", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -91775,6 +91791,7 @@ { "type": "string", "description": "The entity name: always 'list'.", + "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -91978,7 +91995,8 @@ }, "object": { "description": "Entity name: always 'update-campaign'.", - "type": "string" + "type": "string", + "example": "update-campaign" }, "active_at": { "description": "The time the campaign entered the active state.", @@ -92151,6 +92169,7 @@ { "description": "Entity name: always 'list'.", "type": "string", + "example": "list", "api_fieldname": "object", "entity_fieldname": "object", "_key": "object" @@ -92342,7 +92361,7 @@ "_key": "list" }, { - "description": "Get an update campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get an update campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56890120000789012 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -92419,6 +92438,7 @@ "object": { "description": "Entity name: always 'update-campaign'.", "type": "string", + "example": "update-campaign", "api_fieldname": "object", "entity_fieldname": "object" }, @@ -92678,7 +92698,7 @@ "_key": "read" }, { - "description": "Start a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/start \\\n-H 'Authorization: '\n```\n", + "description": "Start a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8900002e655cd94fa8/start \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -92840,7 +92860,7 @@ "_key": "stop" }, { - "description": "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 \\\n-H 'Authorization: ' \\\nd '{\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", + "description": "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123007f9012ab567890120000789012 \\\n-H 'Authorization: ' \\\nd '{\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", "field_renames": [], "fields": [ { @@ -93010,6 +93030,7 @@ "object": { "description": "Entity name: always 'update-campaign'.", "type": "string", + "example": "update-campaign", "api_fieldname": "object", "entity_fieldname": "object" }, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 4c7798eb5..3b336a882 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -13926,7 +13926,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a89900000655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \ -H ''Authorization: '' @@ -14061,6 +14061,7 @@ entities: api_fieldname: object description: 'The entity name: always ''update-campaign-device-metadata''.' entity_fieldname: object + example: update-campaign-device-metadata type: string - _key: updated_at api_fieldname: updated_at @@ -14147,7 +14148,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1120007f9012ab567890120000789012/statistics/1234567f9012ab567890120000789012/event_types \ -H ''Authorization: '' @@ -14247,6 +14248,7 @@ entities: type: string - _key: object description: 'Entity name: always ''event-type''.' + example: event-type type: string - _key: summary_status example: FAIL @@ -14407,7 +14409,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56780120000789012/statistics \ -H ''Authorization: '' @@ -14498,6 +14500,7 @@ entities: type: string - _key: object description: 'Entity name: always ''summary_status''.' + example: summary_status type: string - _key: summary_status description: The event type description. @@ -14527,6 +14530,7 @@ entities: api_fieldname: object description: 'The entity name: always ''list''.' entity_fieldname: object + example: list type: string - _key: order api_fieldname: order @@ -14659,7 +14663,7 @@ entities: ``` - curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012 + curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11230007f9012ab56789012000079012/statistics/11234567f012ab567890120000789012 \ -H ''Authorization: '' @@ -14751,6 +14755,7 @@ entities: api_fieldname: object description: 'Entity name: always ''summary_status''.' entity_fieldname: object + example: summary_status type: string - _key: summary_status api_fieldname: summary_status @@ -14940,7 +14945,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/12345678901234567890123456789012/event_types/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9000005678012000078901/statistics/11000067f9012ab56789010000789012/event_types/11234567f9012ab567890120000789012 \ -H ''Authorization: '' @@ -15039,6 +15044,7 @@ entities: api_fieldname: object description: 'Entity name: always ''event-type''.' entity_fieldname: object + example: event-type type: string - _key: summary_status api_fieldname: summary_status @@ -33743,6 +33749,7 @@ entities: api_fieldname: object description: 'Entity name: always ''firmware-image''.' entity_fieldname: object + example: firmware-image type: string updated_at: api_fieldname: updated_at @@ -33777,7 +33784,7 @@ entities: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/11234567f9012ab56790120000789012 \ -H ''Authorization: '' @@ -34023,6 +34030,7 @@ entities: type: string object: description: 'Entity name: always ''firmware-image''.' + example: firmware-image type: string updated_at: api_fieldname: updated_at @@ -34045,6 +34053,7 @@ entities: api_fieldname: object description: 'Entity name: always ''list''.' entity_fieldname: object + example: list type: string - _key: order api_fieldname: order @@ -34124,7 +34133,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/1123456f9012ab567890120000789012 \ -H ''Authorization: '' @@ -34233,6 +34242,7 @@ entities: api_fieldname: object description: 'Entity name: always ''firmware-image''.' entity_fieldname: object + example: firmware-image type: string updated_at: api_fieldname: updated_at @@ -34662,6 +34672,7 @@ entities: api_fieldname: object description: 'Entity name: always ''firmware-manifest''.' entity_fieldname: object + example: firmware-manifest type: string parsed_raw_manifest: api_fieldname: parsed_raw_manifest @@ -34729,7 +34740,7 @@ entities: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/11234567f9012ab56780120000789012 \ -H ''Authorization: '' @@ -35024,6 +35035,7 @@ entities: type: string object: description: 'Entity name: always ''firmware-manifest''.' + example: firmware-manifest type: string parsed_raw_manifest: description: 'Raw manifest in JSON format, parsed from ASN.1 DER encoding. @@ -35071,6 +35083,7 @@ entities: api_fieldname: object description: 'Entity name: always ''list''.' entity_fieldname: object + example: list type: string - _key: order api_fieldname: order @@ -35155,7 +35168,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/1123467f9012ab567890120000789012 \ -H ''Authorization: '' @@ -35332,6 +35345,7 @@ entities: api_fieldname: object description: 'Entity name: always ''firmware-manifest''.' entity_fieldname: object + example: firmware-manifest type: string parsed_raw_manifest: api_fieldname: parsed_raw_manifest @@ -69427,7 +69441,7 @@ entities: \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign\ \ is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\"\ - ,\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n" + ,\n \"root_manifest_id\": \"56780000000000a5b70000000000bd98\"\n}'\n```\n" drop_fields: - object - etag @@ -69680,6 +69694,7 @@ entities: api_fieldname: object description: 'Entity name: always ''update-campaign''.' entity_fieldname: object + example: update-campaign type: string phase: api_fieldname: phase @@ -69808,7 +69823,7 @@ entities: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123457f9012ab567890120000789012 \ -H ''Authorization: '' @@ -69934,7 +69949,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/campaign-device-metadata + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56790120000789012/campaign-device-metadata \ -H ''Authorization: '' @@ -70144,6 +70159,7 @@ entities: api_fieldname: object description: 'The entity name: always ''update-campaign-device-metadata''.' entity_fieldname: object + example: update-campaign-device-metadata type: string - _key: updated_at api_fieldname: updated_at @@ -70174,6 +70190,7 @@ entities: api_fieldname: object description: 'The entity name: always ''list''.' entity_fieldname: object + example: list type: string - _key: order api_fieldname: order @@ -70454,6 +70471,7 @@ entities: type: string object: description: 'Entity name: always ''update-campaign''.' + example: update-campaign type: string phase: description: The phase of the campaign. @@ -70553,6 +70571,7 @@ entities: api_fieldname: object description: 'Entity name: always ''list''.' entity_fieldname: object + example: list type: string - _key: order api_fieldname: order @@ -70649,7 +70668,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56890120000789012 \ -H ''Authorization: '' @@ -70831,6 +70850,7 @@ entities: api_fieldname: object description: 'Entity name: always ''update-campaign''.' entity_fieldname: object + example: update-campaign type: string phase: api_fieldname: phase @@ -70961,7 +70981,7 @@ entities: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8997642e655cd94fa8/start + curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8900002e655cd94fa8/start \ -H ''Authorization: '' @@ -71109,7 +71129,7 @@ entities: x_filter: {} - _key: update description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ - \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123007f9012ab567890120000789012\ \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\":\ \ \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\"\ ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ @@ -71361,6 +71381,7 @@ entities: api_fieldname: object description: 'Entity name: always ''update-campaign''.' entity_fieldname: object + example: update-campaign type: string phase: api_fieldname: phase From 2d84fb8b1f3436e64882a1b28d14171db464e4f9 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 8 Jul 2020 15:12:57 +0000 Subject: [PATCH 087/111] new SDK config changes via api-contract @ 2020-07-08 15:12 --- .../public/pelion_dm_public_openapi.yaml | 50 +++++++++++++++++-- .../public/sdk_foundation_definition.json | 13 +++-- .../public/sdk_foundation_definition.yaml | 12 +++-- 3 files changed, 64 insertions(+), 11 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index cceff7e65..c97a0e2a2 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -29102,7 +29102,7 @@ paths: ``` - curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11230007f9012ab56789012000079012/statistics/11234567f012ab567890120000789012 + curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/fail \ -H ''Authorization: '' @@ -29119,6 +29119,11 @@ paths: required: true type: string - description: The summary status. For example, fail. + enum: &id035 + - fail + - success + - info + - skipped in: path name: summary_status_id required: true @@ -29150,7 +29155,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1120007f9012ab567890120000789012/statistics/1234567f9012ab567890120000789012/event_types + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/skipped/event_types \ -H ''Authorization: '' @@ -29167,6 +29172,7 @@ paths: required: true type: string - description: The summary status. For example, fail. + enum: *id035 in: path name: summary_status_id required: true @@ -29199,7 +29205,7 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9000005678012000078901/statistics/11000067f9012ab56789010000789012/event_types/11234567f9012ab567890120000789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \ -H ''Authorization: '' @@ -29216,14 +29222,48 @@ paths: required: true type: string - description: The summary status. For example, fail. + enum: *id035 in: path name: summary_status_id required: true type: string - - description: The event type parameter. For example, UPD4_FAIL_101. + - description: 'The event type parameter. Event types are grouped into the four + values of the summary_status, i.e. fail, success, info and skipped. + + success: SYS_112, UPD4_OK_M1, UPD1_OK_1, UPD4_OK_100, UPD2_OK_19, UPD2_OK_1, + UPD2_OK_18 + + fail: UPD4_FAIL_508, UPD4_FAIL_217, UPD4_FAIL_305, UPD4_FAIL_405, UPD4_FAIL_511, + UPD4_FAIL_220, UPD1_FAIL_6, UPD4_FAIL_302, UPD2_FAIL_11, UPD4_FAIL_219, + SYS_103, UPD4_FAIL_407, UPD4_FAIL_224, SYS_111, UPD4_FAIL_210, UPD4_FAIL_306, + UPD2_FAIL_14, UPD4_FAIL_221, UPD4_FAIL_315, UPD4_FAIL_403, UPD2_FAIL_12, + UPD4_FAIL_207, UPD4_FAIL_215, UPD4_FAIL_504, UPD2_FAIL_3, UPD4_FAIL_103, + UPD2_FAIL_16, UPD2_FAIL_6, UPD4_FAIL_101, UPD4_FAIL_202, UPD4_FAIL_313, + UPD4_FAIL_209, UPD4_FAIL_301, UPD2_FAIL_4, SYS_123, UPD4_FAIL_314, UPD4_FAIL_205, + UPD4_FAIL_212, UPD4_FAIL_311, UPD4_FAIL_304, UPD4_FAIL_223, UPD4_FAIL_226, + UPD1_FAIL_2, UPD4_FAIL_203, UPD4_FAIL_507, UPD4_FAIL_402, UPD4_FAIL_204, + UPD4_FAIL_510, UPD1_FAIL_7, UPD4_FAIL_218, UPD1_FAIL_8, UPD2_FAIL_5, UPD4_FAIL_201, + UPD4_FAIL_213, UPD4_FAIL_400, UPD2_FAIL_17, UPD4_FAIL_310, UPD4_FAIL_206, + UPD4_FAIL_102, UPD2_FAIL_7, UPD1_FAIL_9, UPD4_FAIL_22, UPD4_FAIL_502, UPD4_FAIL_211, + UPD1_FAIL_4, UPD1_FAIL_3, UPD4_FAIL_409, UPD4_FAIL_408, UPD4_FAIL_200, SYS_104, + UPD2_FAIL_10, UPD2_FAIL_15, UPD4_FAIL_216, UPD4_FAIL_214, UPD4_FAIL_308, + UPD4_FAIL_401, UPD1_FAIL_5, UPD2_FAIL_13, UPD4_FAIL_208, UPD2_FAIL_2, UPD4_FAIL_312, + UPD4_FAIL_509, UPD4_FAIL_303, UPD4_FAIL_512, UPD2_FAIL_9, UPD4_FAIL_316, + UPD4_FAIL_506, SYS_101, UPD4_FAIL_309, UPD4_FAIL_307, UPD4_FAIL_404, UPD4_FAIL_503, + UPD4_FAIL_225, UPD4_FAIL_300, UPD4_FAIL_500, UPD4_FAIL_505, UPD4_FAIL_406, + UPD4_FAIL_222, UPD4_FAIL_501, UPD2_FAIL_8, SYS_124 + + info: UPD1_STATE_0, UPD2_REPORT_HASH, UPD1_REPORT_HASH, UPD2_STATE_5, UPD2_STATE_0, + UPD2_STATE_4, UPD2_STATE_3, SYS_107, SYS_105, SYS_106, UPD1_REPORT_VERSION, + UPD1_STATE_2, SYS_116, SYS_108, SYS_100, UPD2_STATE_8, UPD2_STATE_7, SYS_120, + UPD2_STATE_1, SYS_113, UPD2_STATE_6, UPD2_REPORT_VERSION, SYS_115, UPD2_STATE_2, + SYS_114, UPD1_STATE_3, UPD1_STATE_1, SYS_125 + + skipped: SYS_121, SYS_118, SYS_122, SYS_110, SYS_117 + + ' in: path name: event_type_id - pattern: ^\w{1,16}$ required: true type: string responses: diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index be2dcceb4..3591a8254 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -19433,7 +19433,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get a list of events grouped by summary.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1120007f9012ab567890120000789012/statistics/1234567f9012ab567890120000789012/event_types \\\n-H 'Authorization: '\n```\n", + "description": "Get a list of events grouped by summary.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/skipped/event_types \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -19455,10 +19455,17 @@ "name": "summary_status_id", "required": true, "type": "string", + "enum": [ + "fail", + "success", + "info", + "skipped" + ], "entity_fieldname": "id", "api_fieldname": "summary_status_id", "external_param": false, "parameter_fieldname": "summary_status_id", + "enum_reference": "campaign_statistics_id_enum", "_key": "id" } ], @@ -20111,7 +20118,7 @@ "_key": "list" }, { - "description": "Get the count of successfully updated, skipped, and failed devices.\n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11230007f9012ab56789012000079012/statistics/11234567f012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get the count of successfully updated, skipped, and failed devices.\n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/fail \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { @@ -20470,7 +20477,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9000005678012000078901/statistics/11000067f9012ab56789010000789012/event_types/11234567f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \\\n-H 'Authorization: '\n```\n", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 3b336a882..c29f4bda1 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -14148,7 +14148,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1120007f9012ab567890120000789012/statistics/1234567f9012ab567890120000789012/event_types + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/skipped/event_types \ -H ''Authorization: '' @@ -14184,6 +14184,12 @@ entities: api_fieldname: summary_status_id description: The summary status. For example, fail. entity_fieldname: id + enum: + - fail + - success + - info + - skipped + enum_reference: campaign_statistics_id_enum external_param: false in: path name: summary_status_id @@ -14663,7 +14669,7 @@ entities: ``` - curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11230007f9012ab56789012000079012/statistics/11234567f012ab567890120000789012 + curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/fail \ -H ''Authorization: '' @@ -14945,7 +14951,7 @@ entities: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9000005678012000078901/statistics/11000067f9012ab56789010000789012/event_types/11234567f9012ab567890120000789012 + curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \ -H ''Authorization: '' From 0baae8a88100ccddcc9ddb321a963c16844dc032 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 9 Jul 2020 07:58:16 +0000 Subject: [PATCH 088/111] new SDK config changes via api-contract @ 2020-07-09 07:58 --- .../public/pelion_dm_public_openapi.yaml | 126 ++++++---- .../public/sdk_foundation_definition.json | 200 +++++++++++++++ .../public/sdk_foundation_definition.yaml | 232 ++++++++++++++++++ 3 files changed, 517 insertions(+), 41 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index c97a0e2a2..24723f48e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -2887,6 +2887,17 @@ definitions: example: '00000000000000000000000000000000' maxLength: 500 type: string + component_attributes: + additionalProperties: + maxLength: 128 + type: string + description: Up to ten custom key-value attributes. Note that keys cannot + begin with a number. Both keys and values are limited to 128 characters. + Updating this field replaces existing contents. + example: + key: value + maxProperties: 10 + type: object connector_expiration_date: description: The expiration date of the certificate used to connect to LwM2M server. @@ -3304,6 +3315,10 @@ definitions: type: string ca_id: type: string + component_attributes: + additionalProperties: + type: string + type: object connector_expiration_date: example: '2017-05-22' format: date @@ -3496,12 +3511,31 @@ definitions: type: integer DeviceGroup: properties: + component_attributes: &id028 + additionalProperties: + maxLength: 128 + type: string + description: 'Up to ten component key-value attributes. The key represents + the component name, while its value represents the corresponding component + version. + + Keys cannot begin with a number. Both key and value are limited to 128 characters. + Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits per + sub number, therefore max version number will be 999.999.999' + example: + key: value + maxProperties: 10 + type: object created_at: description: The time the group was created. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - custom_attributes: &id028 + custom_attributes: &id029 additionalProperties: maxLength: 128 pattern: ^[A-Za-z].* @@ -3513,7 +3547,7 @@ definitions: key: value maxProperties: 10 type: object - description: &id029 + description: &id030 description: The description of the group. example: Devices on the factory floor. maxLength: 1024 @@ -3530,7 +3564,7 @@ definitions: description: The group ID. example: 015c3029f6f7000000000001001000c3 type: string - name: &id030 + name: &id031 description: Name of the group. example: My devices maxLength: 128 @@ -3638,6 +3672,10 @@ definitions: type: string ca_id: type: string + component_attributes: + additionalProperties: + type: string + type: object connector_expiration_date: example: '2017-05-22' format: date @@ -7779,7 +7817,7 @@ definitions: example: false type: boolean created_at: *id014 - description: &id033 + description: &id034 description: Human-readable description. example: New Linux update for my devices maxLength: 2000 @@ -7795,7 +7833,7 @@ definitions: example: 016e652be671000000000001001001e5 pattern: '[A-Fa-f0-9]{32}' type: string - name: &id034 + name: &id035 description: Human-readable name. example: New Linux update maxLength: 128 @@ -21592,26 +21630,30 @@ paths: \ \u2713\n \n \n name\n \ \ \u2713\n \u2713\n  \n \n\ \ \n custom_attributes\n \u2713\n \ - \  \n  \n \n \n created_at\n\ - \ \u2713\n \u2713\n \u2713\n \ - \ \n \n updated_at\n \u2713\n\ + \  \n  \n \n \n component_attributes\n\ + \ \u2713\n  \n  \n \ + \ \n \n created_at\n \u2713\n\ \ \u2713\n \u2713\n \n \n \ - \ etag\n \u2713\n \u2713\n \u2713\ - \n \n \n\n \n\nThe examples below show\ - \ the queries in *unencoded* form.\n\n###### By device group properties:\n\ - \n`name__eq=mygroup`\n\n###### On date-time fields:\n\nDate-time fields\ - \ should be specified in UTC RFC3339 format `YYYY-MM-DDThh:mm:ss.msZ`. There\ - \ are three permitted\nvariations:\n\n* UTC RFC3339 with milliseconds, for\ - \ example, 2016-11-30T16:25:12.1234Z.\n* UTC RFC3339 without milliseconds,\ - \ for example, 2016-11-30T16:25:12Z.\n* UTC RFC3339 shortened - without\ - \ milliseconds and punctuation, for example, 20161130T162512Z.\n\nDate-time\ - \ filtering supports three operators:\n\n* Equality.\n* Greater than or\ - \ equal to – field name suffixed with `__gte`.\n* Less than or equal\ - \ to – field name suffixed with `__lte`.\n\nLower and upper limits\ - \ to a date-time range may be specified by including both the `__gte` and\ - \ `__lte` forms in\nthe filter:\n\n`{field name}[|__lte|__gte]={UTC RFC3339\ - \ date-time}`\n\n###### By device group custom attributes:\n\n`custom_attributes__{param}={value}`\n\ - \n`custom_attributes__tag=TAG1`\n\n##### Multi-field example\n\n`name__eq=mygroup&created_at__gte=2016-11-30T16:25:12.1234Z&created_at__lte=2016-12-30T00:00:00Z`\n\ + \ updated_at\n \u2713\n \u2713\n\ + \ \u2713\n \n \n etag\n \ + \ \u2713\n \u2713\n \u2713\n \n\ + \ \n\n \n\nThe examples below show the queries in\ + \ *unencoded* form.\n\n###### By device group properties:\n\n`name__eq=mygroup`\n\ + \n###### On date-time fields:\n\nDate-time fields should be specified in\ + \ UTC RFC3339 format `YYYY-MM-DDThh:mm:ss.msZ`. There are three permitted\n\ + variations:\n\n* UTC RFC3339 with milliseconds, for example, 2016-11-30T16:25:12.1234Z.\n\ + * UTC RFC3339 without milliseconds, for example, 2016-11-30T16:25:12Z.\n\ + * UTC RFC3339 shortened - without milliseconds and punctuation, for example,\ + \ 20161130T162512Z.\n\nDate-time filtering supports three operators:\n\n\ + * Equality.\n* Greater than or equal to – field name suffixed with\ + \ `__gte`.\n* Less than or equal to – field name suffixed with `__lte`.\n\ + \nLower and upper limits to a date-time range may be specified by including\ + \ both the `__gte` and `__lte` forms in\nthe filter:\n\n`{field name}[|__lte|__gte]={UTC\ + \ RFC3339 date-time}`\n\n###### By device group custom attributes:\n\n`custom_attributes__{param}={value}`\n\ + \n`custom_attributes__tag=TAG1`\n\n###### By device group component attributes:\n\ + \n`component_attributes__{name}={version}`\n`component_attributes__{name}__{operator}={version}`\n\ + \n`component_attributes__ble=1.2.3`\n`component_attributes__main__gt=1.2.3`\n\ + \n##### Multi-field example\n\n`name__eq=mygroup&created_at__gte=2016-11-30T16:25:12.1234Z&created_at__lte=2016-12-30T00:00:00Z`\n\ \nEncoded:\n\n`?filter=name__eq%3Dmygroup%26created_at__gte%3D2016-11-30T16%3A25%3A12.1234Z%26created_at__lte%3D2016-12-30T00%3A00%3A00Z`\n\ \n##### Filtering with filter operators\n\nString field filtering supports\ \ the following operators:\n\n* Equality: `__eq`.\n* Non-equality: `__neq`.\n\ @@ -21767,9 +21809,10 @@ paths: required: true schema: properties: - custom_attributes: *id028 - description: *id029 - name: *id030 + component_attributes: *id028 + custom_attributes: *id029 + description: *id030 + name: *id031 type: object responses: '201': @@ -21864,9 +21907,10 @@ paths: required: true schema: properties: - custom_attributes: *id028 - description: *id029 - name: *id030 + component_attributes: *id028 + custom_attributes: *id029 + description: *id030 + name: *id031 type: object responses: '200': @@ -22492,7 +22536,7 @@ paths: summary: Get a page of devices. tags: - Device directory - groups - x-filter: &id031 + x-filter: &id032 account_id: - eq - neq @@ -23864,7 +23908,7 @@ paths: summary: List all devices. tags: - Device directory - devices - x-filter: *id031 + x-filter: *id032 x-origin: /home/circleci/project/device-directory/public/swagger.yml post: description: Create a new device in Device Management. Usually you do not need @@ -24167,7 +24211,7 @@ paths: in: body name: Block required: true - schema: &id032 + schema: &id033 properties: category: description: The reference of the block category. @@ -24223,7 +24267,7 @@ paths: in: body name: Block required: true - schema: *id032 + schema: *id033 responses: '204': description: Ok - Device suspended. @@ -24835,8 +24879,8 @@ paths: required: true schema: properties: - description: *id033 - name: *id034 + description: *id034 + name: *id035 type: object responses: 201: @@ -24970,8 +25014,8 @@ paths: required: true schema: properties: - description: *id033 - name: *id034 + description: *id034 + name: *id035 type: object responses: 200: @@ -29119,7 +29163,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: &id035 + enum: &id036 - fail - success - info @@ -29172,7 +29216,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id035 + enum: *id036 in: path name: summary_status_id required: true @@ -29222,7 +29266,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id035 + enum: *id036 in: path name: summary_status_id required: true diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 3591a8254..aba1daa51 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -32473,6 +32473,20 @@ "api_fieldname": "ca_id", "entity_fieldname": "ca_id" }, + "component_attributes": { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten custom key-value attributes. Note that keys cannot begin with a number. Both keys and values are limited to 128 characters. Updating this field replaces existing contents.", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes" + }, "connector_expiration_date": { "format": "date", "type": "string", @@ -32729,6 +32743,7 @@ "lifecycle_status", "account_id", "bootstrapped_timestamp", + "component_attributes", "created_at", "deployed_state", "id", @@ -32991,6 +33006,18 @@ "description": "The certificate issuer's ID.", "example": "00000000000000000000000000000000" }, + "component_attributes": { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten custom key-value attributes. Note that keys cannot begin with a number. Both keys and values are limited to 128 characters. Updating this field replaces existing contents.", + "example": { + "key": "value" + } + }, "connector_expiration_date": { "format": "date", "type": "string", @@ -33758,6 +33785,20 @@ "api_fieldname": "ca_id", "entity_fieldname": "ca_id" }, + "component_attributes": { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten custom key-value attributes. Note that keys cannot begin with a number. Both keys and values are limited to 128 characters. Updating this field replaces existing contents.", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes" + }, "connector_expiration_date": { "format": "date", "type": "string", @@ -34015,6 +34056,7 @@ "bootstrap_expiration_date", "bootstrapped_timestamp", "ca_id", + "component_attributes", "connector_expiration_date", "created_at", "custom_attributes", @@ -35173,6 +35215,20 @@ "api_fieldname": "ca_id", "entity_fieldname": "ca_id" }, + "component_attributes": { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten custom key-value attributes. Note that keys cannot begin with a number. Both keys and values are limited to 128 characters. Updating this field replaces existing contents.", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes" + }, "connector_expiration_date": { "format": "date", "type": "string", @@ -35428,6 +35484,7 @@ "account_id", "bootstrap_expiration_date", "bootstrapped_timestamp", + "component_attributes", "connector_expiration_date", "created_at", "deployed_state", @@ -35500,6 +35557,22 @@ "required": false, "_key": "ca_id" }, + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten custom key-value attributes. Note that keys cannot begin with a number. Both keys and values are limited to 128 characters. Updating this field replaces existing contents.", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "readOnly": true, + "required": false, + "_key": "component_attributes" + }, { "format": "date", "type": "string", @@ -40810,6 +40883,26 @@ "description": "Create a group.", "field_renames": [], "fields": [ + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes", + "name": "component_attributes", + "in": "body", + "schema_param": true, + "parameter_fieldname": "component_attributes", + "required": false, + "_key": "component_attributes" + }, { "type": "object", "maxProperties": 10, @@ -40868,6 +40961,21 @@ "schema": { "type": "object", "properties": [ + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes", + "_key": "component_attributes" + }, { "type": "string", "format": "date-time", @@ -41610,6 +41718,18 @@ "description": "The certificate issuer's ID.", "example": "00000000000000000000000000000000" }, + "component_attributes": { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten custom key-value attributes. Note that keys cannot begin with a number. Both keys and values are limited to 128 characters. Updating this field replaces existing contents.", + "example": { + "key": "value" + } + }, "connector_expiration_date": { "format": "date", "type": "string", @@ -42506,6 +42626,19 @@ "items": { "type": "object", "properties": [ + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", + "example": { + "key": "value" + }, + "_key": "component_attributes" + }, { "type": "string", "format": "date-time", @@ -42894,6 +43027,21 @@ "schema": { "type": "object", "properties": [ + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes", + "_key": "component_attributes" + }, { "type": "string", "format": "date-time", @@ -43223,6 +43371,7 @@ "filter", "name", "description", + "component_attributes", "custom_attributes", "devices_count", "created_at", @@ -43528,6 +43677,26 @@ "description": "Modify the attributes of a group, such as the description.", "field_renames": [], "fields": [ + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes", + "name": "component_attributes", + "in": "body", + "schema_param": true, + "parameter_fieldname": "component_attributes", + "required": false, + "_key": "component_attributes" + }, { "type": "object", "maxProperties": 10, @@ -43597,6 +43766,21 @@ "schema": { "type": "object", "properties": [ + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "entity_fieldname": "component_attributes", + "_key": "component_attributes" + }, { "type": "string", "format": "date-time", @@ -43940,6 +44124,22 @@ } ], "fields": [ + { + "type": "object", + "maxProperties": 10, + "additionalProperties": { + "type": "string", + "maxLength": 128 + }, + "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", + "example": { + "key": "value" + }, + "api_fieldname": "component_attributes", + "readOnly": false, + "required": false, + "_key": "component_attributes" + }, { "type": "string", "format": "date-time", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index c29f4bda1..418320d3a 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -23561,6 +23561,20 @@ entities: readOnly: false required: false type: string + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: Up to ten custom key-value attributes. Note that keys cannot begin + with a number. Both keys and values are limited to 128 characters. Updating + this field replaces existing contents. + example: + key: value + maxProperties: 10 + readOnly: true + required: false + type: object - _key: connector_expiration_date api_fieldname: connector_expiration_date description: The expiration date of the certificate used to connect to LwM2M server. @@ -24111,6 +24125,7 @@ entities: - lifecycle_status - account_id - bootstrapped_timestamp + - component_attributes - created_at - deployed_state - id @@ -24422,6 +24437,19 @@ entities: example: '00000000000000000000000000000000' maxLength: 500 type: string + component_attributes: + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: Up to ten custom key-value attributes. Note that keys cannot + begin with a number. Both keys and values are limited to 128 characters. + Updating this field replaces existing contents. + entity_fieldname: component_attributes + example: + key: value + maxProperties: 10 + type: object connector_expiration_date: api_fieldname: connector_expiration_date description: The expiration date of the certificate used to connect to LwM2M @@ -25063,6 +25091,17 @@ entities: example: '00000000000000000000000000000000' maxLength: 500 type: string + component_attributes: + additionalProperties: + maxLength: 128 + type: string + description: Up to ten custom key-value attributes. Note that keys cannot + begin with a number. Both keys and values are limited to 128 characters. + Updating this field replaces existing contents. + example: + key: value + maxProperties: 10 + type: object connector_expiration_date: description: The expiration date of the certificate used to connect to LwM2M server. @@ -25563,6 +25602,7 @@ entities: - bootstrap_expiration_date - bootstrapped_timestamp - ca_id + - component_attributes - connector_expiration_date - created_at - custom_attributes @@ -25646,6 +25686,19 @@ entities: example: '00000000000000000000000000000000' maxLength: 500 type: string + component_attributes: + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: Up to ten custom key-value attributes. Note that keys cannot + begin with a number. Both keys and values are limited to 128 characters. + Updating this field replaces existing contents. + entity_fieldname: component_attributes + example: + key: value + maxProperties: 10 + type: object connector_expiration_date: api_fieldname: connector_expiration_date description: The expiration date of the certificate used to connect to LwM2M @@ -26613,6 +26666,7 @@ entities: - account_id - bootstrap_expiration_date - bootstrapped_timestamp + - component_attributes - connector_expiration_date - created_at - deployed_state @@ -26786,6 +26840,19 @@ entities: example: '00000000000000000000000000000000' maxLength: 500 type: string + component_attributes: + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: Up to ten custom key-value attributes. Note that keys cannot + begin with a number. Both keys and values are limited to 128 characters. + Updating this field replaces existing contents. + entity_fieldname: component_attributes + example: + key: value + maxProperties: 10 + type: object connector_expiration_date: api_fieldname: connector_expiration_date description: The expiration date of the certificate used to connect to LwM2M @@ -30868,6 +30935,27 @@ entities: - _key: device_group field_renames: [] fields: + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: 'Up to ten component key-value attributes. The key represents the + component name, while its value represents the corresponding component version. + + Keys cannot begin with a number. Both key and value are limited to 128 characters. + Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits per sub + number, therefore max version number will be 999.999.999' + example: + key: value + maxProperties: 10 + readOnly: false + required: false + type: object - _key: created_at api_fieldname: created_at description: The time the group was created. @@ -31141,6 +31229,31 @@ entities: - updated_at field_renames: [] fields: + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: 'Up to ten component key-value attributes. The key represents the + component name, while its value represents the corresponding component version. + + Keys cannot begin with a number. Both key and value are limited to 128 characters. + Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits per + sub number, therefore max version number will be 999.999.999' + entity_fieldname: component_attributes + example: + key: value + in: body + maxProperties: 10 + name: component_attributes + parameter_fieldname: component_attributes + required: false + schema_param: true + type: object - _key: custom_attributes additionalProperties: maxLength: 128 @@ -31202,6 +31315,27 @@ entities: entity: device_group group: Devices properties: + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: 'Up to ten component key-value attributes. The key represents + the component name, while its value represents the corresponding component + version. + + Keys cannot begin with a number. Both key and value are limited to 128 + characters. Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits + per sub number, therefore max version number will be 999.999.999' + entity_fieldname: component_attributes + example: + key: value + maxProperties: 10 + type: object - _key: created_at api_fieldname: created_at description: The time the group was created. @@ -31824,6 +31958,17 @@ entities: example: '00000000000000000000000000000000' maxLength: 500 type: string + component_attributes: + additionalProperties: + maxLength: 128 + type: string + description: Up to ten custom key-value attributes. Note that keys cannot + begin with a number. Both keys and values are limited to 128 characters. + Updating this field replaces existing contents. + example: + key: value + maxProperties: 10 + type: object connector_expiration_date: description: The expiration date of the certificate used to connect to LwM2M server. @@ -32548,6 +32693,25 @@ entities: entity: device_group group: Devices properties: + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + description: 'Up to ten component key-value attributes. The key represents + the component name, while its value represents the corresponding component + version. + + Keys cannot begin with a number. Both key and value are limited to + 128 characters. Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits + per sub number, therefore max version number will be 999.999.999' + example: + key: value + maxProperties: 10 + type: object - _key: created_at description: The time the group was created. example: '2017-05-22T12:37:55.576563Z' @@ -32774,6 +32938,7 @@ entities: - filter - name - description + - component_attributes - custom_attributes - devices_count - created_at @@ -32807,6 +32972,27 @@ entities: entity: device_group group: Devices properties: + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: 'Up to ten component key-value attributes. The key represents + the component name, while its value represents the corresponding component + version. + + Keys cannot begin with a number. Both key and value are limited to 128 + characters. Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits + per sub number, therefore max version number will be 999.999.999' + entity_fieldname: component_attributes + example: + key: value + maxProperties: 10 + type: object - _key: created_at api_fieldname: created_at description: The time the group was created. @@ -33235,6 +33421,31 @@ entities: - updated_at field_renames: [] fields: + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: 'Up to ten component key-value attributes. The key represents the + component name, while its value represents the corresponding component version. + + Keys cannot begin with a number. Both key and value are limited to 128 characters. + Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits per + sub number, therefore max version number will be 999.999.999' + entity_fieldname: component_attributes + example: + key: value + in: body + maxProperties: 10 + name: component_attributes + parameter_fieldname: component_attributes + required: false + schema_param: true + type: object - _key: custom_attributes additionalProperties: maxLength: 128 @@ -33305,6 +33516,27 @@ entities: entity: device_group group: Devices properties: + - _key: component_attributes + additionalProperties: + maxLength: 128 + type: string + api_fieldname: component_attributes + description: 'Up to ten component key-value attributes. The key represents + the component name, while its value represents the corresponding component + version. + + Keys cannot begin with a number. Both key and value are limited to 128 + characters. Updating this field replaces existing contents. + + Component name must be the same as in device Component Name resource. + + Component version must comply to semantic versioning. Maximum 3 digits + per sub number, therefore max version number will be 999.999.999' + entity_fieldname: component_attributes + example: + key: value + maxProperties: 10 + type: object - _key: created_at api_fieldname: created_at description: The time the group was created. From c78b3728671095686c8f90bc05d12f72383cf2c0 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 15 Jul 2020 12:39:06 +0000 Subject: [PATCH 089/111] new SDK config changes via api-contract @ 2020-07-15 12:39 --- .../public/pelion_dm_public_openapi.yaml | 488 +++++++----------- 1 file changed, 200 insertions(+), 288 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 24723f48e..699d825ff 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6213,8 +6213,8 @@ definitions: example: true type: boolean rt: - description: Application-specific resource type that describes this resource. - It is created by the [client side application](https://www.pelion.com/docs/device-management/current/resources/resource-setup-in-device-management-client.html). + description: Application-specific resource type that describes this resource, + created by the [client application](https://www.pelion.com/docs/device-management/current/resources/resource-setup-in-device-management-client.html). Not meant to be a human-readable name for the resource. Multiple resource types may be included, separated by a space. example: light_sensor @@ -6223,11 +6223,22 @@ definitions: description: 'The content type of the resource. - We recommend you use the **resource types** listed in the [LwM2M specification](http://technical.openmobilealliance.org/Technical/technical-information/omna/lightweight-m2m-lwm2m-object-registry).' + We recommend you use the content types listed in the [LwM2M specification](http://www.openmobilealliance.org/wp/omna/lwm2m/lwm2mregistry.html).' example: text/plain type: string uri: - description: The resource URL. + description: 'The resource URL. This can be the path to: + + + - An object; for example, `3303`. + + - An object instance; for example `3303/0`. + + - A resource; for example `3303/0/5602`. + + + For more information about the Device Management resource model, please + see the [Device Management documentation](https://www.pelion.com/docs/device-management/current/resources/resource-model.html).' example: /sen/light type: string required: @@ -9052,188 +9063,61 @@ paths: post: consumes: - application/json - description: 'This API provides an interface to asynchronously call methods - on a device. - - - The `async-id` is provided by the REST client, enabling the REST client to - track the end-to-end flow with an - - identifier relevant to the end application. It can be, for example, a UUID - or the web application''s session ID - - along with the device ID and the resource. This also prevents any race conditions - with - - [the notification channel](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html). - All responses are sent through the - - currently configured notification channel as an - - [AsyncIDResponse](https://www.pelion.com/docs/device-management-api/connect/). - - - For `GET` methods, values may be fetched from an internal cache, instead of - contacting the device. - - - **Example**: Read the value of Resource "/3200/0/5501". If the value is not - in the cache, the read command will - - go all the way to the device. - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id} - \ - - -H ''Authorization: Bearer {api_key}'' \ - - -H ''content-type: application/json'' \ - - -d ''{"method": "GET", "uri": "/3200/0/5501"}'' - - ``` - - - The server puts the requests in a queue if it cannot reach the device at the - time of the request. The queue - - is limited to 20 requests. - - The queueing behavior is affected by the `retry` and the `expiry-seconds` - parameters. If the device - - is not reached, or the device fails to respond when the request is made, the - server queues the request - - and retries the delivery within the given expiry period the next time the - device contacts the server. - - The requests from the queue are delivered in the order of insertion, one at - a time, and not concurrently. - - - A delivery attempt follows the protocol-specific retransmission logic. Depending - on the protocol, there - - can be multiple transmissions. For CoAP, the retransmissions have an exponential - backoff - - of 2, 4, 8, 16, and up to 64 seconds, taking in total over 2 minutes. - - If the device does not respond within this two-minute period, the delivery - fails, one `retry` is used, and - - the request is put back into the queue so long as the retry count is less - than its maximum. - - - For a queue-mode device, the request delivery is not attempted immediately, - but only when the device next time - - contacts the server. - - - If retries are exhausted or the expiry time has passed, then the server discards - the request and sends an error - - in [AsyncIDResponse](https://www.pelion.com/docs/device-management-api/connect/). - The retries - - could be exhausted, for example, if the device periodically contacts - - the server and receives the request from the queue, but then fails to respond - back to the server. - - - On the other hand, the device may lose its network connectivity, and the requests - in the queue may expire - - and get discarded before the device regains connectivity. If the request was - delivered to the device, - - the status code in `AsyncIDResponse` is *2xx* or *4xx*, as responded by the - device. If the request could not be - - delivered, the status code generated by the server is *429* or *5xx*. - - - See also `/v2/device-requests/{device-id}`. - - - You can write [Notification Rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html) - for a - - resource with PUT command. Please see example of the payload below. - - ``` - - { "method": "PUT", "uri": "/5/0/1?lt=10>=60&pmax=120" } - - ``` - - - POST `method` can be used to either execute or create resource on a LWM2M - supporting device. When creating - - a resource, `uri` must refer to an object, and `payload-b64` must be in LWM2M - TLV format, as in - - the following example. - - ``` - - { "method": "POST", "uri": "/123", "content-type": "application/vnd.oma.lwm2m+tlv", - "payload-b64": "BwHFAnZhbHVl" } - - ``` - - - ``` - - Example URIs: - - POST /v2/device-requests/015f2fa34d310000000000010030036c?async-id=123e4567-e89b-12d3-a456-426655440000 - - POST /v2/device-requests/015f2fa34d310000000000010030036c?async-id=123e4567-e89b-12d3-a456-426655440000&retry=2&expiry-seconds=7200 - - - Example payload to read value from resource /5/0/1: - - { "method": "GET", "uri": "/5/0/1" } - - - Example payload to set notification rules for resource /5/0/1: - - { "method": "PUT", "uri": "/5/0/1?lt=10>=60&pmax=120" } - - - Example payload to write value "value1" to resource /5/0/1: - - { "method": "PUT", "uri": "/5/0/1?k1=v1&k2=v2", "accept": "text/plain", "content-type": - "text/plain", "payload-b64": "dmFsdWUxCg==" } - - - Example payload to execute LWM2M resource /123/1/1: - - { "method": "POST", "uri": "/123/1/1" } - - - Immediate response: - - 202 Accepted - - - Example AsyncIDResponse, delivered through the notification channel: - - { "async-responses": [ { "id": "123e4567-e89b-12d3-a456-426655440000", "status": - 200, "payload": "dmFsdWUxCg==", "ct": "text/plain", "max-age": 600 } ] } - - { "async-responses": [ { "id": "123e4567-e89b-12d3-a456-426655440000", "status": - 504, "error": "TIMEOUT" } ] } - - ```' + description: "This API provides an interface to call CoAP (Constrained Application\ + \ Protocol) methods on a device and send commands to device resources.\n\n\ + As part of the request body, you must specify the CoAP method you want to\ + \ call on the device:\n\n- Use the GET method to read resource values.\n\n\ + \ For example, to read the value of resource `/3200/0/5501`, use:\n\n \ + \ ```\n curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id}\ + \ \\\n -H 'Authorization: Bearer {api_key}' \\\n -H 'content-type: application/json'\ + \ \\\n -d '{\"method\": \"GET\", \"uri\": \"/3200/0/5501\"}'\n ```\n\ + \n For `GET` methods, the API may fetch values from an internal cache,\ + \ instead of contacting the device.\n\n If the value is not in the cache,\ + \ the read command goes all the way to the device.\n\n\n- Use the PUT method\ + \ to write [notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)\ + \ or resource values for a resource.\n\n Example payload to write a notification\ + \ rule:\n\n ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?lt=10>=60&pmax=120\"\ + \ }\n ```\n\n Example payload to write a value to resource `/5/0/1`:\n\ + \n ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?k1=v1&k2=v2\", \"\ + accept\": \"text/plain\", \"content-type\": \"text/plain\", \"payload-b64\"\ + : \"dmFsdWUxCg==\" }\n ```\n\n- Use the POST method to execute or create\ + \ a resource on a LWM2M supporting device.\n\n When you create a resource,\ + \ `uri` must refer to an object, and `payload-b64` must be in LWM2M TLV format;\ + \ for example:\n\n ```\n { \"method\": \"POST\", \"uri\": \"/123\",\ + \ \"content-type\": \"application/vnd.oma.lwm2m+tlv\", \"payload-b64\": \"\ + BwHFAnZhbHVl\" }\n ```\n\n Example payload to execute LWM2M resource\ + \ `/123/1/1`:\n\n ```\n { \"method\": \"POST\", \"uri\": \"/123/1/1\"\ + \ }\n ```\n\nDevice Management sends responses through the currently configured\ + \ notification channel as `AsyncIDResponse`.\n\nExample `AsyncIDResponse`\ + \ delivered through the notification channel:\n- ```\n { \"async-responses\"\ + : [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\", \"status\": 200, \"\ + payload\": \"dmFsdWUxCg==\", \"ct\": \"text/plain\", \"max-age\": 600 } ]\ + \ }\n ```\n\n- ```\n { \"async-responses\": [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\"\ + , \"status\": 504, \"error\": \"TIMEOUT\" } ] }\n ```\n\nIf it cannot reach\ + \ the device at the time of the request, Device Management puts the requests\ + \ in a queue.\n\n**Queueing behavior**\n\nIf Device Management does not reach\ + \ the device, or the device fails to respond, the server queues the request\ + \ and retries the delivery, for the period of time defined by `expiry-seconds`,\ + \ the next time the device contacts the server.\n\nThe queue is limited to\ + \ 20 requests.\n\nDevice Management delivers requests from the queue in the\ + \ order of insertion, one at a time, and not concurrently.\n\nDelivery attempts\ + \ follow protocol-specific retransmission logic. There can be multiple transmissions,\ + \ depending on the protocol. For CoAP, the retransmissions have an exponential\ + \ backoff of 2, 4, 8, 16, and up to 64 seconds, taking in total over two minutes.\n\ + If the device does not respond within this two-minute period, the delivery\ + \ fails, Device Management performs one retry and then puts the request back\ + \ into the queue until the retry count reaches its limit.\n\nDevice Management\ + \ attempts to redeliver the request when the device next contacts the server.\n\ + \nWhen Device Management reaches the `retry` or `expiry-seconds` limit, the\ + \ server discards the request and sends an error in `AsyncIDResponse`.\n\n\ + For example:\n\n- Retries could be exhausted if the device periodically contacts\ + \ the server and receives the request from the queue, but then fails to respond\ + \ to the server.\n\n- The device may lose its network connectivity, and the\ + \ requests in the queue may expire and get discarded before the device regains\ + \ connectivity. When Device Management delivers the request to the device,\ + \ the status code in `AsyncIDResponse` is *2xx* or *4xx*, based on the device's\ + \ response. If Device Management could not deliver the request, the server\ + \ generates a status code of *429* or *5xx*." operationId: createAsyncRequest parameters: - description: The device ID generated by Device Management. @@ -9242,8 +9126,10 @@ paths: name: device-id required: true type: string - - description: The client-generated ID for matching the correct response delivered - by notification. + - description: A client-generated ID that lets the REST client track the end-to-end + flow and prevents race conditions with the notification channel. The `async-id` + can be, for example, a UUID or the web application session ID along with + the device ID and the resource. format: 1-40 alphanumeric characters and dashes. in: query name: async-id @@ -9252,10 +9138,10 @@ paths: type: string - description: The number of attempts to deliver the request to the device after the first delivery attempt. For example, two retries sums up to the total - of three delivery attempts. If retries are exhausted, the request is discarded - and an error is delivered in the AsyncIDResponse. The default number of - retries for a non-queue mode device is `0`. The default number of retries - for a queue-mode device is `2`. + of three delivery attempts. When retries are exhausted, Device Management + discards the request and delivers an error in the AsyncIDResponse. The default + number of retries for a non-queue mode device is `0`. The default number + of retries for a queue-mode device is `2`. in: query maximum: 10 minimum: 0 @@ -9263,10 +9149,10 @@ paths: required: false type: integer - description: The time period during which the delivery is attempted, in seconds. - If the device is not reachable within this period, the request is discarded - and an error is delivered in the AsyncIDResponse. The default time period - during which the delivery is attempted is two hours for a non-queue mode - device and three days for a queue-mode device. + If the device is not reachable within this period, Device Management discards + the request and delivers an error in the AsyncIDResponse. The default time + period during which the delivery is attempted is two hours for a non-queue + mode device and three days for a queue-mode device. in: query maximum: 2592000 minimum: 60 @@ -9304,7 +9190,7 @@ paths: \ path is correct.\n \n \n" schema: type: string - summary: Send an async request to device. + summary: Send an asynchronous request to read, write or post to a device resource. tags: - Device data - requests x-origin: /home/circleci/project/device-server/public/swagger.yaml @@ -9485,8 +9371,8 @@ paths: x-origin: /home/circleci/project/connector-bootstrap/public/swagger.yaml /v2/endpoints/{device-id}: get: - description: 'Retrieves resources cached by Device Management Connect. This - call does not formulate a message to the device. + description: 'Retrieves information about the resource structure for a device + from Device Management. This call does not reach the device. **Example:** @@ -9500,8 +9386,8 @@ paths: ```' operationId: getEndpointResources parameters: - - description: A unique device ID for an endpoint. The ID must be an exact match. - Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true @@ -9515,7 +9401,7 @@ paths: $ref: '#/definitions/ResourceArray' 404: description: Endpoint not found. - summary: List the resources on an endpoint. + summary: List the resources on a device. tags: - Device data - resources x-origin: /home/circleci/project/device-server/public/swagger.yaml @@ -9545,8 +9431,8 @@ paths: ```' operationId: deleteResourcePath parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true @@ -9753,8 +9639,8 @@ paths: ```' operationId: executeOrCreateResource parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true @@ -9879,8 +9765,8 @@ paths: ```' operationId: updateResourceValue parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true @@ -10407,7 +10293,7 @@ paths: x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/subscriptions: delete: - description: 'Removes pre-subscriptions. + description: 'Remove pre-subscriptions. **Example:** @@ -10433,7 +10319,7 @@ paths: x-origin: /home/circleci/project/device-server/public/swagger.yaml get: description: 'Retrieve pre-subscription data. The server returns a JSON structure. - If there are no pre-subscribed resources, it returns an empty array. + If there are no pre-subscribed resources, the server returns an empty array. **Example:** @@ -10457,49 +10343,47 @@ paths: description: Unauthorized. 403: description: 'Forbidden: the authorization token used is not an API key.' - summary: Get pre-subscriptions. + summary: View pre-subscriptions. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml put: consumes: - application/json - description: "Pre-subscription is a set of rules and patterns established by\ - \ the application. When an endpoint registers and its ID, type, and registered\ - \ resources match the pre-subscription data, Device Management Connect automatically\ - \ sends subscription requests to the device. The pattern may include the endpoint\ - \ ID (optionally having an `*` character at the end), endpoint type, a list\ - \ of resources, or expressions with an `*` character at the end. Subscriptions\ - \ based on pre-subscriptions are done when device registers or does a register\ - \ update. To remove the pre-subscription data, put an empty array as a rule.\n\ + description: "A pre-subscription is a set of rules you define to subscribe to\ + \ specific resources automatically when certain devices register or does a\ + \ register update.\nYou can set subscription rules based on the endpoint ID\ + \ (optionally having an `*` character at the end), endpoint type, a list of\ + \ resources, or expressions with an `*` character at the end.\nWhen a device\ + \ that meets the subscription rules registered, Device Management Connect\ + \ automatically sends subscription requests to the device for the resources\ + \ you specify.\nTo remove the pre-subscription data, put an empty array as\ + \ a rule.\nTo place dynamic observation rules for individual object instances\ + \ and resources and define when the device sends observations, set [notification\ + \ rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html).\n\ \n**Note:** The subscription is bound to the API key your application is using.\ \ To get notifications of the resource value changes, you need to create an\ \ [event notification channel](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html)\ - \ with the same API Key.\n\nFor more information, see [Subscribing to Resource\ - \ changes from a web application](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html).\n\ - \n**Notification rules**\n\nA web application can place dynamic observation\ - \ rules for individual Object Instances and Resources to define when the device\ - \ sends observations. More information in [Notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html).\n\ - \n**Limits**:\n\n- The maximum length of the endpoint name and endpoint type\ - \ is 64 characters.\n- The maximum length of the resource path is 128 characters.\n\ - - You can listen to 256 separate resource paths.\n- The maximum number of\ - \ pre-subscription entries is 1024.\n\n**Example request:**\n```\ncurl -X\ - \ PUT https://api.us-east-1.mbedcloud.com/v2/subscriptions \\\n-H 'Authorization:\ - \ Bearer ' \\\n-H 'content-type: application/json' \\\n-d '[\n \ - \ {\n \"endpoint-name\": \"node-001\",\n \"resource-path\"\ - : [\"/dev\"]\n },\n {\n \"endpoint-type\": \"Light\",\n\ - \ \"resource-path\": [\"/sen/*\"]\n },\n {\n \"\ - endpoint-name\": \"node*\"\n },\n {\n \"endpoint-type\"\ - : \"Sensor\"\n },\n {\n \"resource-path\": [\"/dev/temp\"\ - ,\"/dev/hum\"]\n }\n ]'\n```\n\n- Subscribe to `/dev` resource of\ - \ endpoint named `node-001`.\n- Subscribe to `Light` type of endpoints and\ - \ their resources prefixed with `/sen/`.\n- Subscribe to all observable resources\ - \ of endpoint names prefixed with `node`.\n- Subscribe to all observable resources\ - \ of `Sensor` type endpoints.\n- Subscribe to `/dev/temp` and `/dev/hum` resources\ - \ of all endpoints.\n\n**Note**:\nTo save bandwidth and avoid unnecessary\ - \ traffic, use resource path patterns to limit the matching resources in the\ - \ presubscription data.\nThis prevents the notification flow from unwanted\ - \ resources to your web application. See [Subscribe only to what you need](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)." + \ with the same API key.\n\n**Example request:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/subscriptions\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ + \ \\\n-d '[\n {\n \"endpoint-name\": \"node-001\",\n \ + \ \"resource-path\": [\"/dev\"]\n },\n {\n \"endpoint-type\"\ + : \"Light\",\n \"resource-path\": [\"/sen/*\"]\n },\n \ + \ {\n \"endpoint-name\": \"node*\"\n },\n {\n \ + \ \"endpoint-type\": \"Sensor\"\n },\n {\n \"resource-path\"\ + : [\"/dev/temp\",\"/dev/hum\"]\n }\n ]'\n```\n\n- Subscribe to `/dev`\ + \ resource of endpoint named `node-001`.\n- Subscribe to `Light` type of endpoints\ + \ and their resources prefixed with `/sen/`.\n- Subscribe to all observable\ + \ resources of endpoint names prefixed with `node`.\n- Subscribe to all observable\ + \ resources of `Sensor` type endpoints.\n- Subscribe to `/dev/temp` and `/dev/hum`\ + \ resources of all endpoints.\n\n**Limits**:\n\n- The maximum length of the\ + \ endpoint name and endpoint type is 64 characters.\n- The maximum length\ + \ of the resource path is 128 characters.\n- You can subscribe to 256 separate\ + \ resource paths.\n- The maximum number of pre-subscription entries is 1024.\n\ + \n**Note**: To save bandwidth and avoid unnecessary traffic, use resource\ + \ path patterns to limit the matching resources in the pre-subscription data.\ + \ This prevents your web application from receiving unwanted resource notifications.\ + \ See [Subscribe only to what you need](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)." operationId: updatePreSubscriptions parameters: - description: Array of pre-subscriptions. @@ -10519,13 +10403,13 @@ paths: description: Unauthorized. 403: description: 'Forbidden: the authorization token used is not an API key.' - summary: Set pre-subscriptions + summary: Set pre-subscriptions. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/subscriptions/{device-id}: delete: - description: 'Deletes all resource subscriptions in a single endpoint. + description: 'Delete all resource subscriptions in a single device. **Example:** @@ -10540,8 +10424,8 @@ paths: ```' operationId: deleteEndpointSubscriptions parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true @@ -10549,12 +10433,12 @@ paths: responses: 204: description: Successfully removed. - summary: Delete subscriptions from an endpoint. + summary: Delete all subscriptions on a device. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml get: - description: 'Lists all subscribed resources from a single endpoint. + description: 'Retrieve a list of all subscribed resources on a single device. **Example:** @@ -10569,8 +10453,8 @@ paths: ```' operationId: getEndpointSubscriptions parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true @@ -10587,13 +10471,13 @@ paths: 404: description: Endpoint not found, or there are no subscriptions for that endpoint. - summary: Read endpoints subscriptions + summary: View all subscriptions on a device. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml /v2/subscriptions/{device-id}/{resourcePath}: delete: - description: 'Remove an existing subscription from a resource path. + description: 'Remove an existing subscription to a resource. **Example:** @@ -10608,13 +10492,24 @@ paths: ```' operationId: deleteResourceSubscription parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true type: string - - description: The resource URL. + - description: 'The resource URL. This can be the path to: + + + - An object; for example, `3303`. + + - An object instance; for example `3303/0`. + + - A resource; for example `3303/0/5602`. + + + For more information about the Device Management resource model, please + see the [Device Management documentation](https://www.pelion.com/docs/device-management/current/resources/resource-model.html).' in: path name: resourcePath required: true @@ -10627,15 +10522,28 @@ paths: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml get: + description: Check whether you are subscribed to receive resource content updates + for a specific resource. operationId: checkResourceSubscription parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true type: string - - description: The resource URL. + - description: 'The resource URL. This can be the path to: + + + - An object; for example, `3303`. + + - An object instance; for example `3303/0`. + + - A resource; for example `3303/0/5602`. + + + For more information about the Device Management resource model, please + see the [Device Management documentation](https://www.pelion.com/docs/device-management/current/resources/resource-model.html).' in: path name: resourcePath required: true @@ -10645,38 +10553,27 @@ paths: description: Resource is subscribed. 404: description: Resource is not subscribed. - summary: Read subscription status + summary: Read the subscription status for a specific resource. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml put: - description: 'The Device Management Connect eventing model consists of observable - Resources. - - - This means that endpoints can deliver updated resource content, periodically - or with a more sophisticated solution-dependent logic. The OMA LwM2M resource - model also supports including objects, object instances, resources, and resource - instances. + description: ' + Subscribe to a resource to receive updated resource content, periodically + or based on a more sophisticated solution-dependent logic. - Applications can subscribe to objects, object instances or individual resources - to make the device provide value change notifications to Device Management - Connect service. An application needs to call a `/notification/callback` method - to get Device Management Connect to push notifications of the resource changes. + To place dynamic observation rules for individual object instances and resources + and define when the device sends observations, set [notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html). - **Notification rules** + **Note:** Device Management removes all manual subscriptions during a full + device registration, at which point applications must re-subscribe. To avoid + this, use `/subscriptions` to set a pre-subscription. - A web application can place dynamic observation rules for individual Object - Instances and Resources to define when the device sends observations. More - information in [Notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html). - - All manual subscriptions are removed during a full device registration, at - which point applications must re-subscribe. To avoid this, you can use `/subscriptions` - to set a pre-subscription. + You can subscribe to resources, objects and object instances. **Example:** @@ -10688,16 +10585,31 @@ paths: -H ''Authorization: Bearer '' - ```' + ``` + + + **Important:** You must also call a [`/notification/callback`](https://www.pelion.com/docs/device-management-api/notifications/) + method for Device Management Connect to push resource change notifications.' operationId: addResourceSubscription parameters: - - description: A unique Device Management device ID for the endpoint. The ID - must be an exact match. Do not use wildcards. + - description: The device ID generated by Device Management. The ID must be + an exact match. Do not use wildcards. in: path name: device-id required: true type: string - - description: The resource URL. + - description: 'The resource URL. This can be the path to: + + + - An object; for example, `3303`. + + - An object instance; for example `3303/0`. + + - A resource; for example `3303/0/5602`. + + + For more information about the Device Management resource model, please + see the [Device Management documentation](https://www.pelion.com/docs/device-management/current/resources/resource-model.html).' in: path name: resourcePath required: true @@ -10720,7 +10632,7 @@ paths: description: 'Cannot accept the request at the moment: the queue is full.' 502: description: 'Subscription failed: endpoint not connected.' - summary: Subscribe to a resource path. + summary: Subscribe to a resource to receive updates about resource changes. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml @@ -24011,8 +23923,8 @@ paths: x-origin: /home/circleci/project/certificate-enrollment/public/swagger.yaml /v3/devices/{device-id}/echo: get: - description: 'Read the Device Echo object. It represents the last known state - of the device. The state contains the resources and their reported values + description: 'Retrieve the Device Echo object, which represents the last known + state of the device. The state includes the resources and their reported values with the desired state of the device. Auto-observable and subscribed resources are stored as the reported state From 0cbd8df5a5799e9c82bf131cde538c397fa0d47f Mon Sep 17 00:00:00 2001 From: monty bot Date: Sun, 19 Jul 2020 10:57:29 +0000 Subject: [PATCH 090/111] new SDK config changes via api-contract @ 2020-07-19 10:57 --- .../public/pelion_dm_public_openapi.yaml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 699d825ff..c5a10d8a4 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -26286,18 +26286,6 @@ paths: description: OK. schema: $ref: '#/definitions/StatisticsReportListResponse' - '400': - description: Validation error or bad request. - schema: - $ref: '#/definitions/ErrorResponse' - '401': - description: Authentication failure. - schema: - $ref: '#/definitions/ErrorResponse' - '403': - description: Access denied. - schema: - $ref: '#/definitions/ErrorResponse' summary: Retrieve provisioning statistics for devices in your factories. tags: - Factory manufacturing statistics From f672076d8e079d7d7dd9635b8e14cba12dc0ac7b Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 28 Jul 2020 08:31:53 +0000 Subject: [PATCH 091/111] new SDK config changes via api-contract @ 2020-07-28 08:31 --- .../public/pelion_dm_public_openapi.yaml | 195 ----- .../public/sdk_foundation_definition.json | 798 +----------------- .../public/sdk_foundation_definition.yaml | 602 ------------- 3 files changed, 2 insertions(+), 1593 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index c5a10d8a4..1d1a3b61d 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1724,43 +1724,6 @@ definitions: - url - filename type: object - BlackListedDeviceData: - properties: - account_id: - description: account id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - type: string - created_at: - description: date on which the failed bootstrap was attempted on - example: '2000-01-23T04:56:07.000+00:00' - format: date-time - type: string - endpoint_name: - description: endpoint name - example: Endpoint_1234 - type: string - id: - description: id of the recorded failed bootstrap attempt - example: 00005a4e027f0a580a04567c00000000 - pattern: '[a-f0-9]{32}' - type: string - object: - enum: - - denied_device - type: string - trusted_certificate_id: - description: Trusted certificate id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - type: string - required: - - id - - account_id - - endpoint_name - - trusted_certificate_id - - created_at - - object BootstrapRequestsCounter: description: The number of bootstrap requests received from devices. format: int64 @@ -2721,46 +2684,6 @@ definitions: description: Server URI that the client connects to. type: string type: object - DenialAttemptsResponse: - properties: - after: - description: An offset token for current page. - type: string - data: - items: - $ref: '#/definitions/BlackListedDeviceData' - type: array - has_more: - description: Are there more results available. - example: false - type: boolean - limit: - description: How many objects to retrieve in the page. The minimum limit is - 2 and the maximum is 1000. Limit values outside of this range are set to - the closest limit. - example: 50 - maximum: 1000 - minimum: 2 - type: integer - object: - description: The type of this API object is a "list". - example: list - type: string - order: - description: The creation time based order of the entries. - enum: - - ASC - - DESC - example: DESC - type: string - total_count: - example: 1 - format: integer - type: integer - required: - - object - - data - type: object DeveloperCertificateRequestData: properties: description: @@ -20646,124 +20569,6 @@ paths: tags: - Device directory - lifecycle x-origin: /home/circleci/project/device-directory/public/swagger.yml - /v3/device-enrollment-denials: - get: - description: 'This produces a list of failed attempts to bootstrap using a particular - certificate which is blacklisted (trusted_certificate). - - Returned list can be filtered by endpoint name. Trusted certificate ID filter - is required. - - - **Example usage:** - - ``` - - curl -X GET -H ''Authorization: Bearer '' \ - - https://api.us-east-1.mbedcloud.com/v3/device-enrollment-denials?trusted_certificate_id__eq={cert-id}&endpoint_name__eq={endpoint_name} - - ``` - - ' - operationId: listEnrollmentDenialAttempts - parameters: - - description: filtering based on trusted certificate id - in: query - name: trusted_certificate_id__eq - required: true - type: string - - description: filtering based on endpoint name - in: query - name: endpoint_name__eq - type: string - - description: Optional parameter for pagination. Denied device ID. - in: query - name: after - type: string - - description: Optional parameter for pagination. - enum: - - ASC - - DESC - in: query - name: order - type: string - - description: Optional parameter for pagination. - in: query - name: limit - type: integer - produces: - - application/json - responses: - 200: - description: Query Success. Responding with List of Devices. - schema: - $ref: '#/definitions/DenialAttemptsResponse' - 400: - description: Bad request. Invalid trusted certificate ID. - schema: - $ref: '#/definitions/ErrorResponse' - 401: - description: JWT validation failed. - schema: - $ref: '#/definitions/ErrorResponse' - 404: - description: ID set in pagination parameter `after` not found. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Return list of devices which were denied to bootstrap due to being - subjected to blacklisting. - tags: - - EnrollmentDenials - x-filter: - endpoint_name: - - eq - trusted_certificate_id: - - eq - x-origin: /home/circleci/project/enrollment-denial-service/public/swagger.yaml - /v3/device-enrollment-denials/{device_enrollment_denial_id}: - get: - description: 'Query for a single attempt to bootstrap with a blacklisted certificate - by ID. - - - **Example usage:** - - ``` - - curl -X GET -H ''Authorization: Bearer '' \ - - https://api.us-east-1.mbedcloud.com/v3/device-enrollment-denials/{device_enrollment_denial_id} - - ``` - - ' - operationId: getEnrollmentDenialAttempt - parameters: - - description: id of the recorded failed bootstrap attempt - in: path - name: device_enrollment_denial_id - required: true - type: string - produces: - - application/json - responses: - 200: - description: Query Success. Responding with blacklisted device. - schema: - $ref: '#/definitions/BlackListedDeviceData' - 401: - description: JWT validation failed. - schema: - $ref: '#/definitions/ErrorResponse' - 404: - description: ID not found. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Query for a single device by ID - tags: - - EnrollmentDenials - x-origin: /home/circleci/project/enrollment-denial-service/public/swagger.yaml /v3/device-enrollments: get: description: 'Provides a list of pending and claimed enrollments. diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index aba1daa51..45f9c683a 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -106,8 +106,7 @@ "device_events", "device_enrollment_bulk_create", "device_enrollment_bulk_delete", - "device_enrollment", - "device_enrollment_denial" + "device_enrollment" ], "enums": [ "device_lifecycle_status_enum", @@ -116,8 +115,7 @@ "device_state_enum", "device_enrollment_bulk_create_status_enum", "device_enrollment_bulk_delete_status_enum", - "device_enrollment_order_enum", - "device_enrollment_denial_order_enum" + "device_enrollment_order_enum" ], "_key": "Devices" }, @@ -418,17 +416,6 @@ "group_id": "Devices", "_key": "device_enrollment_bulk_delete_status_enum" }, - { - "entity_name": "device_enrollment_denial", - "field_name": "order", - "enum_name": "device_enrollment_denial_order_enum", - "values": [ - "ASC", - "DESC" - ], - "group_id": "Devices", - "_key": "device_enrollment_denial_order_enum" - }, { "entity_name": "device_enrollment", "field_name": "order", @@ -39159,787 +39146,6 @@ "group_id": "Devices", "_key": "device_enrollment_bulk_delete" }, - { - "swagger_models": [ - "BlackListedDeviceData", - "DenialAttemptsResponse" - ], - "primary_key_field": "id", - "methods": [ - { - "description": "This produces a list of failed attempts to bootstrap using a particular certificate which is blacklisted (trusted_certificate).\nReturned list can be filtered by endpoint name. Trusted certificate ID filter is required.\n\n**Example usage:**\n```\ncurl -X GET -H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollment-denials?trusted_certificate_id__eq={cert-id}&endpoint_name__eq={endpoint_name}\n```\n", - "field_renames": [], - "fields": [ - { - "type": "string", - "description": "Optional parameter for pagination. Denied device ID.", - "api_fieldname": "after", - "entity_fieldname": "after", - "in": "query", - "name": "after", - "external_param": true, - "parameter_fieldname": "after", - "required": false, - "_key": "after" - }, - { - "type": "integer", - "description": "Optional parameter for pagination.", - "example": 50, - "minimum": 2, - "maximum": 1000, - "api_fieldname": "limit", - "entity_fieldname": "limit", - "in": "query", - "name": "limit", - "external_param": true, - "parameter_fieldname": "limit", - "required": false, - "_key": "limit" - }, - { - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "description": "Optional parameter for pagination.", - "example": "DESC", - "api_fieldname": "order", - "entity_fieldname": "order", - "in": "query", - "name": "order", - "external_param": true, - "parameter_fieldname": "order", - "required": false, - "enum_reference": "device_enrollment_denial_order_enum", - "_key": "order" - } - ], - "method": "get", - "mode": "list", - "responses": [ - { - "description": "Query Success. Responding with List of Devices.", - "schema": { - "type": "object", - "required": [ - "object", - "data" - ], - "properties": [ - { - "type": "string", - "description": "An offset token for current page.", - "api_fieldname": "after", - "entity_fieldname": "after", - "_key": "after" - }, - { - "items": { - "required": [ - "id", - "account_id", - "endpoint_name", - "trusted_certificate_id", - "created_at", - "object" - ], - "properties": [ - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "account id", - "example": "00005a4e027f0a580a01081c00000000", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "description": "date on which the failed bootstrap was attempted on", - "example": "2000-01-23T04:56:07.000+00:00", - "_key": "created_at" - }, - { - "type": "string", - "description": "endpoint name", - "example": "Endpoint_1234", - "_key": "endpoint_name" - }, - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "id of the recorded failed bootstrap attempt", - "example": "00005a4e027f0a580a04567c00000000", - "_key": "id" - }, - { - "type": "string", - "enum": [ - "denied_device" - ], - "_key": "object" - }, - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "Trusted certificate id", - "example": "00005a4e027f0a580a01081c00000000", - "_key": "trusted_certificate_id" - } - ], - "foreign_key": { - "group": "Devices", - "entity": "device_enrollment_denial" - } - }, - "type": "array", - "api_fieldname": "data", - "entity_fieldname": "data", - "_key": "data" - }, - { - "type": "boolean", - "description": "Are there more results available.", - "example": false, - "api_fieldname": "has_more", - "entity_fieldname": "has_more", - "_key": "has_more" - }, - { - "type": "integer", - "description": "How many objects to retrieve in the page. The minimum limit is 2 and the maximum is 1000. Limit values outside of this range are set to the closest limit.", - "example": 50, - "minimum": 2, - "maximum": 1000, - "api_fieldname": "limit", - "entity_fieldname": "limit", - "_key": "limit" - }, - { - "type": "string", - "description": "The type of this API object is a \"list\".", - "example": "list", - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "enum": [ - "ASC", - "DESC" - ], - "description": "The creation time based order of the entries.", - "example": "DESC", - "api_fieldname": "order", - "entity_fieldname": "order", - "_key": "order" - }, - { - "format": "integer", - "type": "integer", - "example": 1, - "api_fieldname": "total_count", - "entity_fieldname": "total_count", - "_key": "total_count" - } - ], - "pagination": true, - "foreign_key": { - "group": "Devices", - "entity": "device_enrollment_denial" - } - }, - "_key": "200" - }, - { - "description": "Bad request. Invalid trusted certificate ID.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "400" - }, - { - "description": "JWT validation failed.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "401" - }, - { - "description": "ID set in pagination parameter `after` not found.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "404" - } - ], - "path": "/v3/device-enrollment-denials", - "summary": "Return list of devices which were denied to bootstrap due to being subjected to blacklisting.", - "return_type": "paginated_response(device_enrollment_denial)", - "return_info": { - "self": true, - "custom": false, - "type": "device_enrollment_denial" - }, - "x_filter": { - "trusted_certificate_id": [ - "eq" - ], - "endpoint_name": [ - "eq" - ] - }, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "has_more", - "total_count", - "data", - "trusted_certificate_id__eq", - "endpoint_name__eq" - ], - "foreign_key_priority": "self", - "group_id": "Devices", - "operation_id": "listEnrollmentDenialAttempts", - "pagination": true, - "foreign_key": { - "group": "Devices", - "entity": "device_enrollment_denial" - }, - "request_content_type": "application/json", - "request_body": "json", - "_key": "list" - }, - { - "description": "Query for a single attempt to bootstrap with a blacklisted certificate by ID.\n\n**Example usage:**\n```\ncurl -X GET -H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollment-denials/{device_enrollment_denial_id}\n```\n", - "field_renames": [], - "fields": [ - { - "in": "path", - "name": "device_enrollment_denial_id", - "type": "string", - "description": "id of the recorded failed bootstrap attempt", - "required": true, - "entity_fieldname": "device_enrollment_denial_id", - "api_fieldname": "device_enrollment_denial_id", - "external_param": true, - "parameter_fieldname": "device_enrollment_denial_id", - "_key": "device_enrollment_denial_id" - } - ], - "method": "get", - "mode": "read", - "responses": [ - { - "description": "Query Success. Responding with blacklisted device.", - "schema": { - "required": [ - "id", - "account_id", - "endpoint_name", - "trusted_certificate_id", - "created_at", - "object" - ], - "properties": [ - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "account id", - "example": "00005a4e027f0a580a01081c00000000", - "api_fieldname": "account_id", - "entity_fieldname": "account_id", - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "description": "date on which the failed bootstrap was attempted on", - "example": "2000-01-23T04:56:07.000+00:00", - "api_fieldname": "created_at", - "entity_fieldname": "created_at", - "_key": "created_at" - }, - { - "type": "string", - "description": "endpoint name", - "example": "Endpoint_1234", - "api_fieldname": "endpoint_name", - "entity_fieldname": "endpoint_name", - "_key": "endpoint_name" - }, - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "id of the recorded failed bootstrap attempt", - "example": "00005a4e027f0a580a04567c00000000", - "api_fieldname": "id", - "entity_fieldname": "id", - "_key": "id" - }, - { - "type": "string", - "enum": [ - "denied_device" - ], - "api_fieldname": "object", - "entity_fieldname": "object", - "_key": "object" - }, - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "Trusted certificate id", - "example": "00005a4e027f0a580a01081c00000000", - "api_fieldname": "trusted_certificate_id", - "entity_fieldname": "trusted_certificate_id", - "_key": "trusted_certificate_id" - } - ], - "foreign_key": { - "group": "Devices", - "entity": "device_enrollment_denial" - } - }, - "_key": "200" - }, - { - "description": "JWT validation failed.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "401" - }, - { - "description": "ID not found.", - "schema": { - "type": "object", - "required": [ - "code", - "message", - "object", - "request_id", - "type" - ], - "properties": [ - { - "type": "integer", - "format": "int32", - "description": "HTTP response code", - "example": 400, - "_key": "code" - }, - { - "type": "array", - "description": "Request fields which failed validation.", - "items": { - "type": "object", - "required": [ - "name", - "message" - ], - "properties": [ - { - "type": "string", - "description": "Message describing the error condition.", - "_key": "message" - }, - { - "type": "string", - "description": "Name of the field which caused the error.", - "_key": "name" - } - ] - }, - "_key": "fields" - }, - { - "type": "string", - "description": "A human readable informative explanation", - "example": "Validation error", - "_key": "message" - }, - { - "type": "string", - "description": "Entity name, always `error`.", - "enum": [ - "error" - ], - "_key": "object" - }, - { - "type": "string", - "description": "ID of the request.", - "example": "0161991d63150242ac12000600000000", - "_key": "request_id" - }, - { - "type": "string", - "description": "Error type used to categorise the error.", - "example": "validation_error", - "_key": "type" - } - ] - }, - "_key": "404" - } - ], - "path": "/v3/device-enrollment-denials/{device_enrollment_denial_id}", - "summary": "Query for a single device by ID", - "return_type": "device_enrollment_denial", - "return_info": { - "self": true, - "custom": false, - "type": "device_enrollment_denial" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ - "object", - "etag", - "type", - "filter", - "id", - "account_id", - "endpoint_name", - "trusted_certificate_id", - "created_at" - ], - "group_id": "Devices", - "operation_id": "getEnrollmentDenialAttempt", - "pagination": false, - "request_content_type": "application/json", - "request_body": "json", - "_key": "read" - } - ], - "fields": [ - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "account id", - "example": "00005a4e027f0a580a01081c00000000", - "api_fieldname": "account_id", - "readOnly": true, - "required": false, - "_key": "account_id" - }, - { - "type": "string", - "format": "date-time", - "description": "date on which the failed bootstrap was attempted on", - "example": "2000-01-23T04:56:07.000+00:00", - "api_fieldname": "created_at", - "readOnly": true, - "required": false, - "_key": "created_at" - }, - { - "type": "string", - "description": "endpoint name", - "example": "Endpoint_1234", - "api_fieldname": "endpoint_name", - "readOnly": true, - "required": false, - "_key": "endpoint_name" - }, - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "id of the recorded failed bootstrap attempt", - "example": "00005a4e027f0a580a04567c00000000", - "api_fieldname": "id", - "readOnly": true, - "required": false, - "_key": "id" - }, - { - "type": "string", - "pattern": "[a-f0-9]{32}", - "description": "Trusted certificate id", - "example": "00005a4e027f0a580a01081c00000000", - "api_fieldname": "trusted_certificate_id", - "readOnly": true, - "required": false, - "_key": "trusted_certificate_id" - } - ], - "field_renames": [], - "tags": [ - "EnrollmentDenials" - ], - "group_id": "Devices", - "_key": "device_enrollment_denial" - }, { "swagger_models": [ "DeviceEventData", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 418320d3a..ac2cae45c 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -29834,598 +29834,6 @@ entities: - BulkResponse tags: - Device ownership - enrollments -- _key: device_enrollment_denial - field_renames: [] - fields: - - _key: account_id - api_fieldname: account_id - description: account id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - readOnly: true - required: false - type: string - - _key: created_at - api_fieldname: created_at - description: date on which the failed bootstrap was attempted on - example: '2000-01-23T04:56:07.000+00:00' - format: date-time - readOnly: true - required: false - type: string - - _key: endpoint_name - api_fieldname: endpoint_name - description: endpoint name - example: Endpoint_1234 - readOnly: true - required: false - type: string - - _key: id - api_fieldname: id - description: id of the recorded failed bootstrap attempt - example: 00005a4e027f0a580a04567c00000000 - pattern: '[a-f0-9]{32}' - readOnly: true - required: false - type: string - - _key: trusted_certificate_id - api_fieldname: trusted_certificate_id - description: Trusted certificate id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - readOnly: true - required: false - type: string - group_id: Devices - methods: - - _key: list - description: 'This produces a list of failed attempts to bootstrap using a particular - certificate which is blacklisted (trusted_certificate). - - Returned list can be filtered by endpoint name. Trusted certificate ID filter - is required. - - - **Example usage:** - - ``` - - curl -X GET -H ''Authorization: Bearer '' \ - - https://api.us-east-1.mbedcloud.com/v3/device-enrollment-denials?trusted_certificate_id__eq={cert-id}&endpoint_name__eq={endpoint_name} - - ``` - - ' - drop_fields: - - object - - etag - - type - - filter - - has_more - - total_count - - data - - trusted_certificate_id__eq - - endpoint_name__eq - field_renames: [] - fields: - - _key: after - api_fieldname: after - description: Optional parameter for pagination. Denied device ID. - entity_fieldname: after - external_param: true - in: query - name: after - parameter_fieldname: after - required: false - type: string - - _key: limit - api_fieldname: limit - description: Optional parameter for pagination. - entity_fieldname: limit - example: 50 - external_param: true - in: query - maximum: 1000 - minimum: 2 - name: limit - parameter_fieldname: limit - required: false - type: integer - - _key: order - api_fieldname: order - description: Optional parameter for pagination. - entity_fieldname: order - enum: - - ASC - - DESC - enum_reference: device_enrollment_denial_order_enum - example: DESC - external_param: true - in: query - name: order - parameter_fieldname: order - required: false - type: string - foreign_key: - entity: device_enrollment_denial - group: Devices - foreign_key_priority: self - group_id: Devices - method: get - mode: list - operation_id: listEnrollmentDenialAttempts - pagination: true - path: /v3/device-enrollment-denials - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Query Success. Responding with List of Devices. - schema: - foreign_key: - entity: device_enrollment_denial - group: Devices - pagination: true - properties: - - _key: after - api_fieldname: after - description: An offset token for current page. - entity_fieldname: after - type: string - - _key: data - api_fieldname: data - entity_fieldname: data - items: - foreign_key: - entity: device_enrollment_denial - group: Devices - properties: - - _key: account_id - description: account id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: created_at - description: date on which the failed bootstrap was attempted on - example: '2000-01-23T04:56:07.000+00:00' - format: date-time - type: string - - _key: endpoint_name - description: endpoint name - example: Endpoint_1234 - type: string - - _key: id - description: id of the recorded failed bootstrap attempt - example: 00005a4e027f0a580a04567c00000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: object - enum: - - denied_device - type: string - - _key: trusted_certificate_id - description: Trusted certificate id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - type: string - required: - - id - - account_id - - endpoint_name - - trusted_certificate_id - - created_at - - object - type: array - - _key: has_more - api_fieldname: has_more - description: Are there more results available. - entity_fieldname: has_more - example: false - type: boolean - - _key: limit - api_fieldname: limit - description: How many objects to retrieve in the page. The minimum limit - is 2 and the maximum is 1000. Limit values outside of this range are set - to the closest limit. - entity_fieldname: limit - example: 50 - maximum: 1000 - minimum: 2 - type: integer - - _key: object - api_fieldname: object - description: The type of this API object is a "list". - entity_fieldname: object - example: list - type: string - - _key: order - api_fieldname: order - description: The creation time based order of the entries. - entity_fieldname: order - enum: - - ASC - - DESC - example: DESC - type: string - - _key: total_count - api_fieldname: total_count - entity_fieldname: total_count - example: 1 - format: integer - type: integer - required: - - object - - data - type: object - - _key: '400' - description: Bad request. Invalid trusted certificate ID. - schema: - properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error - type: string - - _key: object - description: Entity name, always `error`. - enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 - type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - - type - type: object - - _key: '401' - description: JWT validation failed. - schema: - properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error - type: string - - _key: object - description: Entity name, always `error`. - enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 - type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - - type - type: object - - _key: '404' - description: ID set in pagination parameter `after` not found. - schema: - properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error - type: string - - _key: object - description: Entity name, always `error`. - enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 - type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - - type - type: object - return_info: - custom: false - self: true - type: device_enrollment_denial - return_type: paginated_response(device_enrollment_denial) - summary: Return list of devices which were denied to bootstrap due to being subjected - to blacklisting. - x_deprecation: null - x_filter: - endpoint_name: - - eq - trusted_certificate_id: - - eq - - _key: read - description: 'Query for a single attempt to bootstrap with a blacklisted certificate - by ID. - - - **Example usage:** - - ``` - - curl -X GET -H ''Authorization: Bearer '' \ - - https://api.us-east-1.mbedcloud.com/v3/device-enrollment-denials/{device_enrollment_denial_id} - - ``` - - ' - drop_fields: - - object - - etag - - type - - filter - - id - - account_id - - endpoint_name - - trusted_certificate_id - - created_at - field_renames: [] - fields: - - _key: device_enrollment_denial_id - api_fieldname: device_enrollment_denial_id - description: id of the recorded failed bootstrap attempt - entity_fieldname: device_enrollment_denial_id - external_param: true - in: path - name: device_enrollment_denial_id - parameter_fieldname: device_enrollment_denial_id - required: true - type: string - group_id: Devices - method: get - mode: read - operation_id: getEnrollmentDenialAttempt - pagination: false - path: /v3/device-enrollment-denials/{device_enrollment_denial_id} - request_body: json - request_content_type: application/json - responses: - - _key: '200' - description: Query Success. Responding with blacklisted device. - schema: - foreign_key: - entity: device_enrollment_denial - group: Devices - properties: - - _key: account_id - api_fieldname: account_id - description: account id - entity_fieldname: account_id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: created_at - api_fieldname: created_at - description: date on which the failed bootstrap was attempted on - entity_fieldname: created_at - example: '2000-01-23T04:56:07.000+00:00' - format: date-time - type: string - - _key: endpoint_name - api_fieldname: endpoint_name - description: endpoint name - entity_fieldname: endpoint_name - example: Endpoint_1234 - type: string - - _key: id - api_fieldname: id - description: id of the recorded failed bootstrap attempt - entity_fieldname: id - example: 00005a4e027f0a580a04567c00000000 - pattern: '[a-f0-9]{32}' - type: string - - _key: object - api_fieldname: object - entity_fieldname: object - enum: - - denied_device - type: string - - _key: trusted_certificate_id - api_fieldname: trusted_certificate_id - description: Trusted certificate id - entity_fieldname: trusted_certificate_id - example: 00005a4e027f0a580a01081c00000000 - pattern: '[a-f0-9]{32}' - type: string - required: - - id - - account_id - - endpoint_name - - trusted_certificate_id - - created_at - - object - - _key: '401' - description: JWT validation failed. - schema: - properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error - type: string - - _key: object - description: Entity name, always `error`. - enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 - type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - - type - type: object - - _key: '404' - description: ID not found. - schema: - properties: - - _key: code - description: HTTP response code - example: 400 - format: int32 - type: integer - - _key: fields - description: Request fields which failed validation. - items: - properties: - - _key: message - description: Message describing the error condition. - type: string - - _key: name - description: Name of the field which caused the error. - type: string - required: - - name - - message - type: object - type: array - - _key: message - description: A human readable informative explanation - example: Validation error - type: string - - _key: object - description: Entity name, always `error`. - enum: - - error - type: string - - _key: request_id - description: ID of the request. - example: 0161991d63150242ac12000600000000 - type: string - - _key: type - description: Error type used to categorise the error. - example: validation_error - type: string - required: - - code - - message - - object - - request_id - - type - type: object - return_info: - custom: false - self: true - type: device_enrollment_denial - return_type: device_enrollment_denial - summary: Query for a single device by ID - x_deprecation: null - x_filter: {} - primary_key_field: id - swagger_models: - - BlackListedDeviceData - - DenialAttemptsResponse - tags: - - EnrollmentDenials - _key: device_events field_renames: [] fields: @@ -77130,14 +76538,6 @@ enums: - completed - new - processing -- _key: device_enrollment_denial_order_enum - entity_name: device_enrollment_denial - enum_name: device_enrollment_denial_order_enum - field_name: order - group_id: Devices - values: - - ASC - - DESC - _key: device_enrollment_order_enum entity_name: device_enrollment enum_name: device_enrollment_order_enum @@ -77746,7 +77146,6 @@ groups: - device_enrollment_bulk_create - device_enrollment_bulk_delete - device_enrollment - - device_enrollment_denial enums: - device_lifecycle_status_enum - device_deployed_state_enum @@ -77755,7 +77154,6 @@ groups: - device_enrollment_bulk_create_status_enum - device_enrollment_bulk_delete_status_enum - device_enrollment_order_enum - - device_enrollment_denial_order_enum - _key: Security entities: - pre_shared_key From ff034b3c329f86da27523c74ed23d77090162f13 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 29 Jul 2020 11:05:47 +0000 Subject: [PATCH 092/111] new SDK config changes via api-contract @ 2020-07-29 11:05 --- .../public/pelion_dm_public_openapi.yaml | 7670 +++++++++++------ .../public/sdk_foundation_definition.json | 903 +- .../public/sdk_foundation_definition.yaml | 866 +- 3 files changed, 6546 insertions(+), 2893 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 1d1a3b61d..9186c7230 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -1,4 +1,148 @@ definitions: + AccessKey: + description: Represents an application in Device Management. + properties: + account_id: + description: The ID of the account. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: true + type: string + application_id: + description: The ID of the application. + example: 01705c6383f6c85b76f92f4e00000000 + pattern: '[a-f0-9]{32}' + readOnly: true + type: string + created_at: + description: Creation UTC time RFC3339. + example: '2020-02-13T09:35:20Z' + format: date-time + readOnly: true + type: string + description: + description: The description of the access key. + example: Access key to control the warp drive + maxLength: 500 + type: string + etag: + description: API resource entity version. + example: '1' + readOnly: true + type: string + expiration: + description: 'Expiration time of the access key, as UTC time RFC3339. + + Expiration makes the access key inoperative and the status will be EXPIRED. + + The client using the expired access key is no longer able to use the REST + API. + + The access key expiration does not invalidate existing configurations meaning + that subscribed events will continue to flow on existing channels.' + format: date-time + type: string + id: + description: The ID of the access key. + example: 01619571f7020242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: true + type: string + key: + description: The access key. The full key including the secret part is visible + in the response for create only + example: ak_2MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000 + readOnly: true + type: string + last_used_at: + description: The time of the latest access key usage. + example: '2020-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + name: + description: The display name for the access key. + example: Access key warp + maxLength: 100 + type: string + object: + description: 'Entity name: always ''access-key''' + enum: + - access-key + readOnly: true + type: string + status: + description: 'The status of the access key. + + ACTIVE means that the access key is operational. + + INACTIVE means that the access key is not operational and it prevents the + clients to use the REST API. Inactivating the access key does not invalidate + existing configurations meaning that subscribed events will continue to + flow on existing channels. + + The EXPIRED status is not allowed to be set directly, it is derived from + the expiration attribute.' + enum: + - ACTIVE + - INACTIVE + - EXPIRED + example: ACTIVE + type: string + updated_at: + description: Last update UTC time RFC3339. + example: '2020-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + required: + - name + type: object + AccessKeyList: + properties: + after: + description: The entity ID to retrieve after the given one. + example: 01619571f3c00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + data: + description: A list of entities. + items: + $ref: '#/definitions/AccessKey' + type: array + has_more: + description: Flag indicating whether there are more results. + example: false + type: boolean + limit: + description: The number of results to return, or equal to `total_count`. + example: 50 + format: int32 + type: integer + object: + description: 'Entity name: always `list`.' + enum: + - list + type: string + order: + description: 'The order of the records to return based on creation time. Available + values: ASC, DESC; by default ASC.' + enum: + - ASC + - DESC + type: string + total_count: + description: The total number of records, if requested. + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object AccountCreationReq: description: Represents an account creation request. properties: @@ -692,7 +836,7 @@ definitions: AccountInfoList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -813,7 +957,7 @@ definitions: AccountLimitationList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 type: string data: @@ -1483,7 +1627,7 @@ definitions: ApiKeyInfoRespList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -1550,6 +1694,124 @@ definitions: - INACTIVE type: string type: object + Application: + description: Represents an application in Device Management. + properties: + account_id: + description: The ID of the account. + example: 01619571e2e90242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: true + type: string + created_at: + description: Creation UTC time RFC3339. + example: '2020-02-18T09:16:40Z' + format: date-time + readOnly: true + type: string + description: + description: The description of the application. + example: Application to control the warp drive + maxLength: 500 + type: string + etag: + description: API resource entity version. + example: '1' + readOnly: true + type: string + groups: + description: A list of group IDs this application belongs to. + items: + example: 01705c6383f6c85b76f92f4e00000000 + type: string + type: array + id: + description: The ID of the application. + example: 01619571f7020242ac12000600000000 + pattern: '[a-f0-9]{32}' + readOnly: true + type: string + last_used_at: + description: The time of the latest application usage. + example: '2020-02-14T15:24:14Z' + format: date-time + readOnly: true + type: string + name: + description: The display name for the application. + example: Application warp + maxLength: 100 + type: string + object: + description: 'Entity name: always ''application''' + enum: + - application + readOnly: true + type: string + status: + description: The status of the application. When admin sets the application + as inactive all related data and configurations are cleared from the system. + If application is activated again, client must open new channels and set + new subscriptions to start receiving events again. + enum: + - ACTIVE + - INACTIVE + example: ACTIVE + type: string + updated_at: + description: Last update UTC time RFC3339. + example: '2020-02-19T11:54:32Z' + format: date-time + readOnly: true + type: string + required: + - name + type: object + ApplicationList: + properties: + after: + description: The entity ID to retrieve after the given one. + example: 01619571f3c00242ac12000600000000 + pattern: '[a-f0-9]{32}' + type: string + data: + description: A list of entities. + items: + $ref: '#/definitions/Application' + type: array + has_more: + description: Flag indicating whether there are more results. + example: false + type: boolean + limit: + description: The number of results to return, or equal to `total_count`. + example: 50 + format: int32 + type: integer + object: + description: 'Entity name: always `list`.' + enum: + - list + type: string + order: + description: 'The order of the records to return based on creation time. Available + values: ASC, DESC; by default ASC.' + enum: + - ASC + - DESC + type: string + total_count: + description: The total number of records, if requested. + example: 20 + format: int32 + type: integer + required: + - data + - has_more + - limit + - object + - total_count + type: object ArchiveInfoResponse: description: This object represents the response for the archive info request. properties: @@ -1778,7 +2040,7 @@ definitions: BrandingColorList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -1899,7 +2161,7 @@ definitions: BrandingImageList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -4956,6 +5218,7 @@ definitions: type: object GroupIdList: items: + example: 01705c6383f6c85b76f92f4e00000000 type: string type: array GroupSummary: @@ -4971,6 +5234,16 @@ definitions: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + application_count: + description: The number of applications in this group. + example: 0 + format: int32 + type: integer created_at: description: Creation UTC time RFC3339. example: '2018-02-13T09:35:20Z' @@ -5017,7 +5290,7 @@ definitions: GroupSummaryList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -5176,7 +5449,7 @@ definitions: IdentityProviderList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -5491,7 +5764,7 @@ definitions: NotificationEntryList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -5574,30 +5847,37 @@ definitions: x-nullable: true email_verified: description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true family_name: description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true given_name: description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true name: description: Custom claim name for 'name'. + example: name type: string x-nullable: true phone_number: description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true sub: description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true updated_at: description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true updated_at_pattern: @@ -6796,6 +7076,16 @@ definitions: items: type: string type: array + x-deprecation: + comment: This field is deprecated, use 'applications' + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + applications: + description: An array of applicationIDs. + items: + type: string + type: array users: description: An array of user IDs. items: @@ -7136,7 +7426,7 @@ definitions: TrustedCertificateRespList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -8029,7 +8319,7 @@ definitions: UserInfoRespList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -8170,7 +8460,7 @@ definitions: UserInvitationRespList: properties: after: - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' type: string @@ -10559,10 +10849,9 @@ paths: tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml - /v3/accounts: + /v3/access-keys: get: - description: 'Retrieve an array of tenant accounts, optionally filtered by status - and tier level. + description: 'Retrieve an array of access keys. Note: This endpoint is restricted to administrators. @@ -10571,40 +10860,165 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/access-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAllAccounts + operationId: getAllAccessKeys parameters: - - description: An optional filter for account status, ENROLLING, ACTIVE, RESTRICTED, - or SUSPENDED. + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 in: query - name: status__eq + name: limit required: false - type: string - - description: An optional filter to retrieve accounts with a specified set - of statuses. + type: integer + - description: The entity ID to retrieve after the given one. in: query - name: status__in + name: after required: false type: string - - description: An optional filter to exclude accounts with a specified set of - statuses. + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query - name: status__nin + name: order required: false type: string - - description: An optional filter for tier level. Must be 0, 1, 2, 98, 99, or - omitted. + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' in: query - name: tier__eq + name: include required: false type: string - - description: An optional filter for parent account ID. + - description: Status filter. in: query - name: parent__eq + name: status__eq + required: false + type: string + - description: Application filter. + in: query + name: application_id__eq + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/AccessKeyList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get all access keys. + tags: + - Account - access keys + x-filter: + application_id: + - eq + status: + - eq + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/access-keys/{access_key_id}: + get: + description: 'Retrieve details of an access key. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/access-keys/{access_key_id} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccessKey + parameters: + - description: The ID of the access key to retrieve. + in: path + name: access_key_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/AccessKey' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An access key with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get access key. + tags: + - Account - access keys + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts: + get: + description: 'Retrieve an array of tenant accounts, optionally filtered by status + and tier level. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAllAccounts + parameters: + - description: An optional filter for account status, ENROLLING, ACTIVE, RESTRICTED, + or SUSPENDED. + in: query + name: status__eq + required: false + type: string + - description: An optional filter to retrieve accounts with a specified set + of statuses. + in: query + name: status__in + required: false + type: string + - description: An optional filter to exclude accounts with a specified set of + statuses. + in: query + name: status__nin + required: false + type: string + - description: An optional filter for tier level. Must be 0, 1, 2, 98, 99, or + omitted. + in: query + name: tier__eq + required: false + type: string + - description: An optional filter for parent account ID. + in: query + name: parent__eq required: false type: string - description: An optional filter for account end market. @@ -10626,7 +11040,7 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false @@ -10699,7 +11113,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -10773,7 +11187,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/me?include=policies \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getMyAccountInfo @@ -10822,7 +11236,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/me \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -10872,14 +11286,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -10958,12 +11372,12 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAccountInfo parameters: - - description: The ID of the account to fetch. + - description: The ID of the account to retrieve. in: path name: account_id required: true @@ -11017,7 +11431,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -11068,8 +11482,148 @@ paths: tags: - Tenant accounts - accounts x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/access-keys: + get: + description: 'Retrieve an array of access keys. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/access-keys + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAllAccountAccessKeys + parameters: + - description: The ID of the account to retrieve. + in: path + name: account_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + - description: Status filter. + in: query + name: status__eq + required: false + type: string + - description: Application filter. + in: query + name: application_id__eq + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/AccessKeyList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get all access keys. + tags: + - Tenant accounts - access keys + x-filter: + application_id: + - eq + status: + - eq + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/access-keys/{access_key_id}: + get: + description: 'Retrieve details of an access key. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/access-keys/{access_key_id} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountAccessKey + parameters: + - description: The ID of the account to retrieve. + in: path + name: account_id + required: true + type: string + - description: The ID of the access key to retrieve. + in: path + name: access_key_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/AccessKey' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or access key with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get access key. + tags: + - Tenant accounts - access keys + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/api-keys: get: + deprecated: true description: 'Retrieve an array of API keys, optionally filtered by the owner. Note: This endpoint is restricted to administrators. @@ -11082,7 +11636,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAllAccountApiKeys @@ -11099,14 +11653,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -11150,6 +11704,11 @@ paths: summary: Get all API keys. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-filter: key: - eq @@ -11159,6 +11718,7 @@ paths: post: consumes: - application/json + deprecated: true description: 'Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created. @@ -11172,7 +11732,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -11218,9 +11778,15 @@ paths: summary: Create a new API key. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/api-keys/{apikey_id}: delete: + deprecated: true description: 'Delete an API key. Note: This endpoint is restricted to administrators. @@ -11233,7 +11799,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteAccountApiKey @@ -11268,11 +11834,17 @@ paths: summary: Delete the API key. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: + deprecated: true description: "Retrieve details of an API key.\nNote: This endpoint is\ \ restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ - \ \\\n -H 'Authorization: Bearer '\n```" + \ \\\n -H 'Authorization: Bearer '\n```" operationId: getAccountApiKey parameters: - description: Account ID. @@ -11307,8 +11879,14 @@ paths: summary: Get API key details. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml put: + deprecated: true description: 'Update API key details. Note: This endpoint is restricted to administrators. @@ -11321,7 +11899,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -11372,6 +11950,11 @@ paths: summary: Update API key details. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/api-keys/{apikey_id}/groups: delete: @@ -11390,7 +11973,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -11450,6 +12033,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: + deprecated: true description: 'Retrieve an array of policy groups associated with an API key. Note: This endpoint is restricted to administrators. @@ -11462,7 +12046,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getGroupsOfAccountApikey @@ -11474,14 +12058,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -11524,6 +12108,11 @@ paths: summary: Get policy groups of an API key. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/groups + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: consumes: @@ -11541,7 +12130,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -11608,6 +12197,7 @@ paths: post: consumes: - application/json + deprecated: true description: 'Add an API key to groups. Note: This endpoint is restricted to administrators. @@ -11620,7 +12210,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups/add \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -11675,11 +12265,17 @@ paths: summary: Add API key to a list of groups. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/groups/add + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/api-keys/{apikey_id}/groups/remove: post: consumes: - application/json + deprecated: true description: 'Remove an API key from groups. Note: This endpoint is restricted to administrators. @@ -11692,7 +12288,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups/remove \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -11743,9 +12339,15 @@ paths: summary: Remove API key from groups. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/groups/remove + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/accounts/{account_id}/api-keys/{apikey_id}/reset-secret: post: + deprecated: true description: 'Reset the secret key of the API key. Note: This endpoint is restricted to administrators. @@ -11758,7 +12360,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/reset-secret \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: resetAccountApiKeySecret @@ -11787,7 +12389,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, invalid API key name. + description: Error in input data format. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -11805,69 +12407,73 @@ paths: summary: Reset the secret key. tags: - Tenant accounts - API keys + x-deprecation: + comment: This endpoint is deprecated. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-colors: - delete: - description: 'Delete account branding colors for all themes. + /v3/accounts/{account_id}/applications: + get: + description: 'Retrieve an array of applications. Note: This endpoint is restricted to administrators. - **Example usage:** - - `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors - -H ''Authorization: Bearer API_KEY''`' - operationId: deleteAllAccountColors - parameters: - - description: The ID of the account. - in: path - name: account_id - required: true - type: string - produces: - - application/json - responses: - '204': - description: Colors have been deleted successfully. - '401': - description: Authentication failure. - schema: - $ref: '#/definitions/ErrorResponse' - '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - '404': - description: Account or branding colors not found. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Delete all colors. - tags: - - Tenant user interface configuration - colors - x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-colors/dark: - delete: - description: 'Delete account dark theme branding colors. + **Example:** - Note: This endpoint is restricted to administrators. + ``` + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications + \ - **Example usage:** + -H ''Authorization: Bearer '' - `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark - -H ''Authorization: Bearer API_KEY''`' - operationId: deleteAllAccountDarkColors + ```' + operationId: getAllAccountApplications parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + - description: Status filter. + in: query + name: status__eq + required: false + type: string produces: - application/json responses: - '204': - description: Colors have been deleted successfully. + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApplicationList' '401': description: Authentication failure. schema: @@ -11877,15 +12483,20 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or branding colors not found. + description: An account with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete colors in the dark theme. + summary: Get all applications. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications + x-filter: + status: + - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve dark theme branding colors for an account. + post: + consumes: + - application/json + description: 'Create a new application. Note: This endpoint is restricted to administrators. @@ -11894,72 +12505,36 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark - \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications + -d ''{"name": "MyApplication1"}'' \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' ```' - operationId: getAccountDarkColors - parameters: - - description: The ID of the account. - in: path - name: account_id - required: true - type: string - produces: - - application/json - responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/BrandingColorList' - '401': - description: Authentication failure. - schema: - $ref: '#/definitions/ErrorResponse' - '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - '404': - description: Account not found. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Get dark theme branding colors. - tags: - - Tenant user interface configuration - colors - x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: - consumes: - - application/json - description: "Update an array of dark theme branding colors.\nNote: This\ - \ endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X\ - \ PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ - \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" - operationId: bulkSetAccountDarkColors + operationId: createAccountApplication parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: List of branding colors. + - description: The details of the application to create. in: body name: body required: true schema: - items: - $ref: '#/definitions/BrandingColorUpdate' - type: array + $ref: '#/definitions/Application' produces: - application/json responses: - '204': - description: Colors have been set successfully. + '201': + description: New entity created. + schema: + $ref: '#/definitions/Application' '400': - description: Error in input data format. + description: Error in input data, for example, missing name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -11971,16 +12546,16 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: An account with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Updates an array of dark theme branding colors. + summary: Create a new application. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-colors/dark/{reference}: + /v3/accounts/{account_id}/applications/{application_id}: delete: - description: 'Resets the branding color to its dark theme default. + description: 'Delete the application. Note: This endpoint is restricted to administrators. @@ -11989,23 +12564,22 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: resetAccountDarkColor + operationId: deleteAccountApplication parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: The name of the branding color. - enum: *id001 + - description: The ID of the application to delete. in: path - name: reference + name: application_id required: true type: string produces: @@ -12022,15 +12596,15 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Color or account not found. + description: An account or application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Reset branding color to default. + summary: Delete application. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve the requested dark theme branding color. + description: 'Retrieve details of an application. Note: This endpoint is restricted to administrators. @@ -12039,23 +12613,22 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAccountDarkColor + operationId: getAccountApplication parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: The name of the branding color. - enum: *id001 + - description: The ID of the application to retrieve. in: path - name: reference + name: application_id required: true type: string produces: @@ -12064,7 +12637,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/Application' '401': description: Authentication failure. schema: @@ -12074,104 +12647,60 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Color or account not found. + description: An account or application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get dark theme branding color. + summary: Get application. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml put: - consumes: - - application/json - description: 'Update a dark theme branding color. + description: 'Update application details. Note: This endpoint is restricted to administrators. **Example:** - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary + `curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''{ "color": "#f3f93e" }'' + -d ''{"name": "TestApplication25"}'' ```' - operationId: setAccountDarkColor + operationId: updateAccountApplication parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: The name of the branding color. - enum: *id001 + - description: The ID of the application to update. in: path - name: reference + name: application_id required: true type: string - - description: The branding color. + - description: New applicationattributes to store. in: body name: body required: true schema: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/Application' produces: - application/json responses: '200': - description: Color has been set successfully. + description: Successful operation. schema: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data format. - schema: - $ref: '#/definitions/ErrorResponse' - '401': - description: Authentication failure. - schema: - $ref: '#/definitions/ErrorResponse' - '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - '404': - description: Color or account not found. + description: Error in input data, for example, invalid display name. schema: $ref: '#/definitions/ErrorResponse' - summary: Updates a dark theme branding color. - tags: - - Tenant user interface configuration - colors - x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-colors/light: - delete: - description: 'Delete account light theme branding colors. - - Note: This endpoint is restricted to administrators. - - - **Example usage:** - - `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light - -H ''Authorization: Bearer API_KEY''`' - operationId: deleteAllAccountLightColors - parameters: - - description: The ID of the account. - in: path - name: account_id - required: true - type: string - produces: - - application/json - responses: - '204': - description: Colors have been deleted successfully. '401': description: Authentication failure. schema: @@ -12181,15 +12710,16 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or branding colors not found. + description: An account or application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete colors in the light theme. + summary: Update application details. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/applications/{application_id}/access-keys: get: - description: 'Retrieve light theme branding colors for an account. + description: 'Retrieve an array of access keys associated with the application. Note: This endpoint is restricted to administrators. @@ -12198,26 +12728,61 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAccountLightColors + operationId: getAllAccountApplicationAccessKeys parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string + - description: The ID of the application. + in: path + name: application_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + - description: Status filter. + in: query + name: status__eq + required: false + type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/BrandingColorList' + $ref: '#/definitions/AccessKeyList' '401': description: Authentication failure. schema: @@ -12227,43 +12792,63 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: An account or application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get light theme branding colors. + summary: Get all access keys associated with the application. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications + x-filter: + status: + - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: + post: consumes: - application/json - description: "Update an array of light theme branding colors.\nNote:\ - \ This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl\ - \ -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ - \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"purple\" }]'\n```" - operationId: bulkSetAccountLightColors + description: 'Create a new access key for the application. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys + -d ''{"name": "MyKey1"}'' \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' + + ```' + operationId: createAccountApplicationAccessKey parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: List of branding colors. + - description: The ID of the application. + in: path + name: application_id + required: true + type: string + - description: The details of the access key to create. in: body name: body required: true schema: - items: - $ref: '#/definitions/BrandingColorUpdate' - type: array + $ref: '#/definitions/AccessKey' produces: - application/json responses: - '204': - description: Colors have been set successfully. + '201': + description: New entity created. + schema: + $ref: '#/definitions/AccessKey' '400': - description: Error in input data format. + description: Error in input data, for example, missing display name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -12275,16 +12860,16 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: An account or application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Updates an array of light theme branding colors. + summary: Create a new application access key. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-colors/light/{reference}: + /v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id}: delete: - description: 'Resets the branding color to its light theme default. + description: 'Delete the access key associated with the application. Note: This endpoint is restricted to administrators. @@ -12293,23 +12878,27 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: resetAccountLightColor + operationId: deleteAccountApplicationAccessKey parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: The name of the branding color. - enum: *id001 + - description: The ID of the application. in: path - name: reference + name: application_id + required: true + type: string + - description: The ID of the access key to delete. + in: path + name: access_key_id required: true type: string produces: @@ -12326,15 +12915,16 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Color or account not found. + description: An account, application or access key with the specified ID + does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Reset branding color to default. + summary: Delete access key associated with the application. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve the requested light theme branding color. + description: 'Retrieve details of an access key associated with the application. Note: This endpoint is restricted to administrators. @@ -12343,22 +12933,27 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} + \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAccountLightColor + operationId: getAccountApplicationAccessKey parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: The name of the branding color. - enum: *id001 + - description: The ID of the application. in: path - name: reference + name: application_id + required: true + type: string + - description: The ID of the access key to retrieve. + in: path + name: access_key_id required: true type: string produces: @@ -12367,7 +12962,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/AccessKey' '401': description: Authentication failure. schema: @@ -12377,63 +12972,64 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Color or account not found. + description: An account, application or access key with the specified ID + does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get light theme branding color. + summary: Get access key. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml put: - consumes: - - application/json - description: 'Update a light theme branding color. + description: 'Update access key details. Note: This endpoint is restricted to administrators. **Example:** - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary + `curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''{ "color": "purple" }'' + -d ''{"name": "TestAccessKey"}'' ```' - operationId: setAccountLightColor + operationId: updateAccountApplicationAccessKey parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string - - description: The name of the branding color. - enum: *id001 + - description: The ID of the application. in: path - name: reference + name: application_id required: true type: string - - description: The branding color. + - description: The ID of the access key to update. + in: path + name: access_key_id + required: true + type: string + - description: New access key attributes to store. in: body name: body required: true schema: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/AccessKey' produces: - application/json responses: '200': - description: Color set successfully. + description: Successful operation. schema: - $ref: '#/definitions/BrandingColor' + $ref: '#/definitions/AccessKey' '400': - description: Error in input data format. + description: Error in input data, for example, invalid display name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -12445,36 +13041,75 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Color or account not found. + description: An account, application or access key with the specified ID + does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Updates light theme branding color. + summary: Update access key details. tags: - - Tenant user interface configuration - colors + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images: - delete: - description: 'Delete account branding images for all themes. + /v3/accounts/{account_id}/applications/{application_id}/groups: + get: + description: 'Retrieve an array of policy groups associated with an application. Note: This endpoint is restricted to administrators. - **Example usage:** + **Example:** - `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images - -H ''Authorization: Bearer API_KEY''`' - operationId: deleteAllAccountImages + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/groups + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getGroupsOfAccountApplication parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string + - description: The ID of the application. + in: path + name: application_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string produces: - application/json responses: - '204': - description: Images have been deleted successfully. + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummaryList' '401': description: Authentication failure. schema: @@ -12484,36 +13119,63 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or branding images not found. + description: An account or application with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete all images. + summary: Get policy groups of an application. tags: - - Tenant user interface configuration - images + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/dark: - delete: - description: 'Delete account dark theme branding images. + /v3/accounts/{account_id}/applications/{application_id}/groups/add: + post: + consumes: + - application/json + description: 'Add application to groups. Note: This endpoint is restricted to administrators. - **Example usage:** + **Example:** - `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark - -H ''Authorization: Bearer API_KEY''`' - operationId: deleteAllAccountDarkImages + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/groups/add + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: addAccountApplicationToGroups parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string + - description: The ID of the application to add to the group. + in: path + name: application_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' produces: - application/json responses: '204': - description: Images have been deleted successfully. + description: Successful operation. + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -12523,15 +13185,22 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or branding images not found. + description: An account, a group or application with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete images in the dark theme. + '409': + description: The application is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add application to a list of groups. tags: - - Tenant user interface configuration - images + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve the metadata of all dark theme branding images. + /v3/accounts/{account_id}/applications/{application_id}/groups/remove: + post: + consumes: + - application/json + description: 'Remove application from groups. Note: This endpoint is restricted to administrators. @@ -12540,26 +13209,43 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/groups/remove \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: getAllAccountDarkImageData + operationId: removeAccountApplicationFromGroups parameters: - - description: The ID of the account. + - description: The ID of the account to retrieve. in: path name: account_id required: true type: string + - description: The ID of the application to remove from the group. + in: path + name: application_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' produces: - application/json responses: - '200': + '204': description: Successful operation. + '400': + description: Error in input data, for example, invalid group ID. schema: - $ref: '#/definitions/BrandingImageList' + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -12569,50 +13255,36 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: An account or application with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get metadata of all dark theme images. + summary: Remove application from groups. tags: - - Tenant user interface configuration - images + - Tenant accounts - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/dark/{reference}: - get: - description: 'Retrieve metadata of one account dark theme branding image. + /v3/accounts/{account_id}/branding-colors: + delete: + description: 'Delete account branding colors for all themes. Note: This endpoint is restricted to administrators. - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} - \ - - -H ''Authorization: Bearer '' + **Example usage:** - ```' - operationId: getAccountDarkImageData + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors + -H ''Authorization: Bearer ''`' + operationId: deleteAllAccountColors parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 - in: path - name: reference - required: true - type: string produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/BrandingImage' + '204': + description: Colors have been deleted successfully. '401': description: Authentication failure. schema: @@ -12622,48 +13294,36 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference, or account not found. + description: Account or branding colors not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get metadata of a dark theme image. + summary: Delete all colors. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/dark/{reference}/clear: - post: - description: 'Revert an account branding image to dark theme default. + /v3/accounts/{account_id}/branding-colors/dark: + delete: + description: 'Delete account dark theme branding colors. Note: This endpoint is restricted to administrators. - **Example:** - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear - \ - - -H ''Authorization: Bearer '' + **Example usage:** - ```' - operationId: clearAccountDarkImage + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark + -H ''Authorization: Bearer ''`' + operationId: deleteAllAccountDarkColors parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 - in: path - name: reference - required: true - type: string produces: - application/json responses: '204': - description: Image reverted successfully. + description: Colors have been deleted successfully. '401': description: Authentication failure. schema: @@ -12673,20 +13333,15 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference, or account not found. + description: Account or branding colors not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Revert an image to dark theme default. + summary: Delete colors in the dark theme. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/dark/{reference}/upload: - post: - consumes: - - image/png - - image/jpeg - description: 'Upload a new account dark theme branding image in PNG or JPEG - format. + get: + description: 'Retrieve dark theme branding colors for an account. Note: This endpoint is restricted to administrators. @@ -12695,51 +13350,26 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/upload + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark \ - -H ''Authorization: Bearer '' - - -H ''content-type: image/png'' --data-binary ''@myimage.png'' + -H ''Authorization: Bearer '' ```' - operationId: uploadAccountDarkImage + operationId: getAccountDarkColors parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 - in: path - name: reference - required: true - type: string - - description: The image in PNG or JPEG format. - in: body - name: body - required: true - schema: - $ref: '#/definitions/Image' produces: - application/json responses: - '201': - description: Image uploaded successfully. - headers: - Content-Location: - description: Location of the image metadata. - type: string - Location: - description: Location of the image binary. - type: string - schema: - $ref: '#/definitions/BrandingImage' - '400': - description: Error in input data format, for example, image is too large. + '200': + description: Successful operation. schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/BrandingColorList' '401': description: Authentication failure. schema: @@ -12749,55 +13379,43 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference, or account not found. + description: Account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Upload a dark theme image. + summary: Get dark theme branding colors. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart: - post: + put: consumes: - - multipart/form-data - description: 'Upload a new account dark theme branding image as form data in - PNG or JPEG format. - - Note: This endpoint is restricted to administrators.' - operationId: uploadAccountDarkImageMultipart + - application/json + description: "Update an array of dark theme branding colors.\nNote: This\ + \ endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X\ + \ PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ + \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" + operationId: bulkSetAccountDarkColors parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 - in: path - name: reference - required: true - type: string - - description: The image in PNG or JPEG format as multipart form data. - in: formData - name: image + - description: List of branding colors. + in: body + name: body required: true - type: file + schema: + items: + $ref: '#/definitions/BrandingColorUpdate' + type: array produces: - application/json responses: - '201': - description: Image uploaded successfully. - headers: - Content-Location: - description: Location of the image metadata. - type: string - Location: - description: Location of the image binary. - type: string - schema: - $ref: '#/definitions/BrandingImage' + '204': + description: Colors have been set successfully. '400': - description: Error in input data format, for example, image is too large. + description: Error in input data format. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -12809,36 +13427,48 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference. + description: Account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Upload a dark theme image. + summary: Updates an array of dark theme branding colors. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/light: + /v3/accounts/{account_id}/branding-colors/dark/{reference}: delete: - description: 'Delete account light theme branding images. + description: 'Resets the branding color to its dark theme default. Note: This endpoint is restricted to administrators. - **Example usage:** + **Example:** - `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light - -H ''Authorization: Bearer API_KEY''`' - operationId: deleteAllAccountLightImages + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: resetAccountDarkColor parameters: - description: The ID of the account. in: path name: account_id required: true type: string + - description: The name of the branding color. + enum: *id001 + in: path + name: reference + required: true + type: string produces: - application/json responses: '204': - description: Images have been deleted successfully. + description: Deleted successfully. '401': description: Authentication failure. schema: @@ -12848,15 +13478,15 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or branding images not found. + description: Color or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete images in the light theme. + summary: Reset branding color to default. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve the metadata of all light theme branding images. + description: 'Retrieve the requested dark theme branding color. Note: This endpoint is restricted to administrators. @@ -12865,26 +13495,32 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAllAccountLightImageData + operationId: getAccountDarkColor parameters: - description: The ID of the account. in: path name: account_id required: true type: string + - description: The name of the branding color. + enum: *id001 + in: path + name: reference + required: true + type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/BrandingImageList' + $ref: '#/definitions/BrandingColor' '401': description: Authentication failure. schema: @@ -12894,16 +13530,17 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: Color or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get metadata of all light theme images. + summary: Get dark theme branding color. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/light/{reference}: - get: - description: 'Retrieve metadata for one account light theme branding image. + put: + consumes: + - application/json + description: 'Update a dark theme branding color. Note: This endpoint is restricted to administrators. @@ -12912,32 +13549,46 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "color": "#f3f93e" }'' ```' - operationId: getAccountLightImageData + operationId: setAccountDarkColor parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 + - description: The name of the branding color. + enum: *id001 in: path name: reference required: true type: string + - description: The branding color. + in: body + name: body + required: true + schema: + $ref: '#/definitions/BrandingColor' produces: - application/json responses: '200': - description: Successful operation. + description: Color has been set successfully. schema: - $ref: '#/definitions/BrandingImage' + $ref: '#/definitions/BrandingColor' + '400': + description: Error in input data format. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -12947,46 +13598,36 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference, or account not found. + description: Color or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get metadata of a light theme image. + summary: Updates a dark theme branding color. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/light/{reference}/clear: - post: - description: 'Revert an account branding image to light theme default. + /v3/accounts/{account_id}/branding-colors/light: + delete: + description: 'Delete account light theme branding colors. Note: This endpoint is restricted to administrators. - **Example:** - - ```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear - \ - - -H ''Authorization: Bearer '' + **Example usage:** - ```' - operationId: clearAccountLightImage + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light + -H ''Authorization: Bearer ''`' + operationId: deleteAllAccountLightColors parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 - in: path - name: reference - required: true - type: string produces: - application/json responses: '204': - description: Image reverted successfully. + description: Colors have been deleted successfully. '401': description: Authentication failure. schema: @@ -12996,20 +13637,15 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference, or account not found. + description: Account or branding colors not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Revert an image to light theme default. + summary: Delete colors in the light theme. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/light/{reference}/upload: - post: - consumes: - - image/png - - image/jpeg - description: 'Upload a new account light theme branding image in PNG or JPEG - format. + get: + description: 'Retrieve light theme branding colors for an account. Note: This endpoint is restricted to administrators. @@ -13018,49 +13654,72 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/upload + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: image/png'' --data-binary ''@myimage.png'' + -H ''Authorization: Bearer '' ```' - operationId: uploadAccountLightImage + operationId: getAccountLightColors parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/BrandingColorList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Account not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get light theme branding colors. + tags: + - Tenant user interface configuration - colors + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + put: + consumes: + - application/json + description: "Update an array of light theme branding colors.\nNote:\ + \ This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl\ + \ -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ + \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"purple\" }]'\n```" + operationId: bulkSetAccountLightColors + parameters: + - description: The ID of the account. in: path - name: reference + name: account_id required: true type: string - - description: The image in PNG or JPEG format. + - description: List of branding colors. in: body name: body required: true schema: - $ref: '#/definitions/Image' + items: + $ref: '#/definitions/BrandingColorUpdate' + type: array produces: - application/json responses: - '201': - description: Image uploaded successfully. - headers: - Content-Location: - description: Location of image metadata. - type: string - Location: - description: Location of the image binary. - type: string - schema: - $ref: '#/definitions/BrandingImage' + '204': + description: Colors have been set successfully. '400': - description: Error in input data format, for example, image is too large. + description: Error in input data format. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -13072,57 +13731,48 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference, or account not found. + description: Account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Upload a light theme image. + summary: Updates an array of light theme branding colors. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/branding-images/light/{reference}/upload-multipart: - post: - consumes: - - multipart/form-data - description: 'Upload a new account branding image as form data in PNG or JPEG - format. + /v3/accounts/{account_id}/branding-colors/light/{reference}: + delete: + description: 'Resets the branding color to its light theme default. - Note: This endpoint is restricted to administrators.' - operationId: uploadAccountLightImageMultipart + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: resetAccountLightColor parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Name of the branding images (icon or picture). - enum: *id026 + - description: The name of the branding color. + enum: *id001 in: path name: reference required: true type: string - - description: The image in PNG or JPEG format as multipart form data. - in: formData - name: image - required: true - type: file produces: - application/json responses: - '201': - description: Image uploaded successfully. - headers: - Content-Location: - description: Location of the image metadata. - type: string - Location: - description: Location of the image binary. - type: string - schema: - $ref: '#/definitions/BrandingImage' - '400': - description: Error in input data format, for example, image is too large. - schema: - $ref: '#/definitions/ErrorResponse' + '204': + description: Deleted successfully. '401': description: Authentication failure. schema: @@ -13132,51 +13782,40 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Unknown image reference. + description: Color or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Upload a light theme image. + summary: Reset branding color to default. tags: - - Tenant user interface configuration - images + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/identity-providers: get: - consumes: - - application/json - description: 'Retrieve an array of identity providers. + description: 'Retrieve the requested light theme branding color. - Note: This endpoint is restricted to administrators.' - operationId: getAllAccountIdentityProviders + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountLightColor parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string - - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - in: query - name: include - required: false + - description: The name of the branding color. + enum: *id001 + in: path + name: reference + required: true type: string produces: - application/json @@ -13184,7 +13823,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/IdentityProviderList' + $ref: '#/definitions/BrandingColor' '401': description: Authentication failure. schema: @@ -13194,56 +13833,63 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: Color or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all identity providers. + summary: Get light theme branding color. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - post: + put: consumes: - application/json - description: 'Create a new identity provider. + description: 'Update a light theme branding color. - Note: This endpoint is restricted to administrators.' - operationId: createAccountIdentityProvider + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "color": "purple" }'' + + ```' + operationId: setAccountLightColor parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - allowEmptyValue: true - description: 'Indicates that the OpenID Connect endpoints and keys should - be set using the OpenID Connect Discovery mechanism. The following parameters - are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint - * revocation_endpoint * jwks_uri * keys' - in: query - name: discovery - type: boolean - - description: Details of the identity provider to create. + - description: The name of the branding color. + enum: *id001 + in: path + name: reference + required: true + type: string + - description: The branding color. in: body name: body required: true schema: - $ref: '#/definitions/IdentityProviderCreationReq' + $ref: '#/definitions/BrandingColor' produces: - application/json responses: - '201': - description: New entity created. - headers: - Content-Location: - description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} - type: string - Location: - description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} - type: string + '200': + description: Color set successfully. schema: - $ref: '#/definitions/IdentityProviderInfo' + $ref: '#/definitions/BrandingColor' '400': - description: Error in input data, for example, too long name. + description: Error in input data format. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -13255,74 +13901,75 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account not found. + description: Color or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Create a new identity provider. + summary: Updates light theme branding color. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - colors x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/identity-providers/{identity_provider_id}: + /v3/accounts/{account_id}/branding-images: delete: - description: 'Delete an identity provider by ID. + description: 'Delete account branding images for all themes. - Note: This endpoint is restricted to administrators.' - operationId: deleteAccountIdentityProvider + Note: This endpoint is restricted to administrators. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images + -H ''Authorization: Bearer ''`' + operationId: deleteAllAccountImages parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the identity provider to delete. - in: path - name: identity_provider_id - required: true - type: string produces: - application/json responses: '204': - description: Deleted successfully. + description: Images have been deleted successfully. '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, or identity provider is in use. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or identity provider not found. + description: Account or branding images not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete an identity provider by ID. + summary: Delete all images. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve an identity provider. + /v3/accounts/{account_id}/branding-images/dark: + delete: + description: 'Delete account dark theme branding images. - Note: This endpoint is restricted to administrators.' - operationId: getAccountIdentityProvider + Note: This endpoint is restricted to administrators. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark + -H ''Authorization: Bearer ''`' + operationId: deleteAllAccountDarkImages parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the identity provider to retrieve. - in: path - name: identity_provider_id - required: true - type: string produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/IdentityProviderInfo' + '204': + description: Images have been deleted successfully. '401': description: Authentication failure. schema: @@ -13332,56 +13979,43 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or identity provider not found. + description: Account or branding images not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get an identity provider. + summary: Delete images in the dark theme. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: - consumes: - - application/json - description: 'Update an existing identity provider. + get: + description: 'Retrieve the metadata of all dark theme branding images. - Note: This endpoint is restricted to administrators.' - operationId: updateAccountIdentityProvider + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAllAccountDarkImageData parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the identity provider to update. - in: path - name: identity_provider_id - required: true - type: string - - allowEmptyValue: true - description: 'Indicates that the OpenID Connect endpoints and keys should - be set using the OpenID Connect Discovery mechanism. The following parameters - are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint - * revocation_endpoint * jwks_uri * keys' - in: query - name: discovery - type: boolean - - description: Details of the identity provider to update. - in: body - name: body - required: true - schema: - $ref: '#/definitions/IdentityProviderUpdateReq' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/IdentityProviderInfo' - '400': - description: Error in input data, for example, missing name. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/BrandingImageList' '401': description: Authentication failure. schema: @@ -13391,30 +14025,41 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or identity provider not found. + description: Account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Update an existing identity provider. + summary: Get metadata of all dark theme images. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/delete-sp-certificate: - post: - consumes: - - application/json - description: 'Delete a service provider certificate. + /v3/accounts/{account_id}/branding-images/dark/{reference}: + get: + description: 'Retrieve metadata of one account dark theme branding image. - Note: This endpoint is restricted to administrators.' - operationId: deleteAccountSpCertificate + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountDarkImageData parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the identity provider whose certificate should be deleted. + - description: Name of the branding images (icon or picture). + enum: *id026 in: path - name: identity_provider_id + name: reference required: true type: string produces: @@ -13422,12 +14067,8 @@ paths: responses: '200': description: Successful operation. - headers: - Content-Location: - description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} - type: string schema: - $ref: '#/definitions/IdentityProviderInfo' + $ref: '#/definitions/BrandingImage' '401': description: Authentication failure. schema: @@ -13437,54 +14078,48 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or identity provider not found. + description: Unknown image reference, or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete the service provider certificate. + summary: Get metadata of a dark theme image. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/generate-sp-certificate: + /v3/accounts/{account_id}/branding-images/dark/{reference}/clear: post: - consumes: - - application/json - description: 'Generate a new service provider certificate. + description: 'Revert an account branding image to dark theme default. - Note: This endpoint is restricted to administrators.' - operationId: generateAccountSpCertificate + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: clearAccountDarkImage parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the identity provider for which to generate a certificate. + - description: Name of the branding images (icon or picture). + enum: *id026 in: path - name: identity_provider_id + name: reference required: true type: string - - description: Details of the service provider certificate to be generated. - in: body - name: body - required: true - schema: - $ref: '#/definitions/CertificateGenerationReq' produces: - application/json responses: - '200': - description: Successful operation. - headers: - Content-Location: - description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} - type: string - schema: - $ref: '#/definitions/IdentityProviderInfo' - '400': - description: Error in input data, for example, invalid certificate validity - value. - schema: - $ref: '#/definitions/ErrorResponse' + '204': + description: Image reverted successfully. '401': description: Authentication failure. schema: @@ -13494,46 +14129,71 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or identity provider not found. + description: Unknown image reference, or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Generate a new service provider certificate. + summary: Revert an image to dark theme default. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/refresh-jwks: + /v3/accounts/{account_id}/branding-images/dark/{reference}/upload: post: consumes: - - application/json - description: 'Refresh an OIDC IdP''s signing keys. + - image/png + - image/jpeg + description: 'Upload a new account dark theme branding image in PNG or JPEG + format. - Note: This endpoint is restricted to administrators.' - operationId: refreshAccountJwks - parameters: - - description: The ID of the account to be managed. + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/upload + \ + + -H ''Authorization: Bearer '' + + -H ''content-type: image/png'' --data-binary ''@myimage.png'' + + ```' + operationId: uploadAccountDarkImage + parameters: + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the identity provider for which to refresh the signing - keys. + - description: Name of the branding images (icon or picture). + enum: *id026 in: path - name: identity_provider_id + name: reference required: true type: string + - description: The image in PNG or JPEG format. + in: body + name: body + required: true + schema: + $ref: '#/definitions/Image' produces: - application/json responses: - '200': - description: Successful operation. + '201': + description: Image uploaded successfully. headers: Content-Location: - description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + description: Location of the image metadata. + type: string + Location: + description: Location of the image binary. type: string schema: - $ref: '#/definitions/IdentityProviderInfo' + $ref: '#/definitions/BrandingImage' '400': - description: Not an OIDC IdP or JWKS URI is unspecified. + description: Error in input data format, for example, image is too large. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -13545,38 +14205,57 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or identity provider not found. + description: Unknown image reference, or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Refresh the OIDC signing keys. + summary: Upload a dark theme image. tags: - - Tenant accounts - identity providers + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/limitations: - get: - description: 'Retrieve an array of entitlement limitations. + /v3/accounts/{account_id}/branding-images/dark/{reference}/upload-multipart: + post: + consumes: + - multipart/form-data + description: 'Upload a new account dark theme branding image as form data in + PNG or JPEG format. Note: This endpoint is restricted to administrators.' - operationId: aggregatorGetAccountLimitations + operationId: uploadAccountDarkImageMultipart parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: Filter for finding account limitations by inheritance. True returns - also inherited limitations. False returns only non-inherited ones. - in: query - name: inherited__eq - required: false + - description: Name of the branding images (icon or picture). + enum: *id026 + in: path + name: reference + required: true type: string + - description: The image in PNG or JPEG format as multipart form data. + in: formData + name: image + required: true + type: file produces: - application/json responses: - '200': - description: successful operation + '201': + description: Image uploaded successfully. + headers: + Content-Location: + description: Location of the image metadata. + type: string + Location: + description: Location of the image binary. + type: string schema: - $ref: '#/definitions/AccountLimitationList' + $ref: '#/definitions/BrandingImage' + '400': + description: Error in input data format, for example, image is too large. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -13586,40 +14265,36 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account with the given ID not found. + description: Unknown image reference. schema: $ref: '#/definitions/ErrorResponse' - summary: Get entitlement limitations. + summary: Upload a dark theme image. tags: - - Tenant accounts - entitlement limitations - x-filter: - inherited: - - eq + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/limitations/{limitation_id}: - get: - description: 'Retrieve an entitlement limitation. + /v3/accounts/{account_id}/branding-images/light: + delete: + description: 'Delete account light theme branding images. - Note: This endpoint is restricted to administrators.' - operationId: aggregatorGetAccountLimitation + Note: This endpoint is restricted to administrators. + + + **Example usage:** + + `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light + -H ''Authorization: Bearer ''`' + operationId: deleteAllAccountLightImages parameters: - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the limitation to be fetched. - in: path - name: limitation_id - required: true - type: string produces: - application/json responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/AccountLimitation' + '204': + description: Images have been deleted successfully. '401': description: Authentication failure. schema: @@ -13629,176 +14304,145 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Limitation or account with the given ID not found. + description: Account or branding images not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get an entitlement limitation. + summary: Delete images in the light theme. tags: - - Tenant accounts - entitlement limitations + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/notifications: get: - description: 'Retrieve an array of email notification logs. + description: 'Retrieve the metadata of all light theme branding images. - Note: This endpoint is restricted to administrators.' - operationId: getAccountNofificationEntries + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAllAccountLightImageData parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/NotificationEntryList' - '400': - description: Error in input data, or missing or invalid parameters. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/BrandingImageList' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account with the given ID not found. + description: Account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get email notifications. + summary: Get metadata of all light theme images. tags: - - Tenant accounts - email notification logs + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/notifications/{notification_id}: + /v3/accounts/{account_id}/branding-images/light/{reference}: get: - description: 'Retrieve an email notifications log entry. + description: 'Retrieve metadata for one account light theme branding image. - Note: This endpoint is restricted to administrators.' - operationId: getAccountNofificationEntry + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountLightImageData parameters: - - description: The ID of the account for which this notification should be retrieved. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the notification entry to be retrieved. + - description: Name of the branding images (icon or picture). + enum: *id026 in: path - name: notification_id + name: reference required: true type: string produces: - application/json responses: '200': - description: successful operation - schema: - $ref: '#/definitions/NotificationEntry' - '400': - description: Error in input data, missing or invalid parameters. + description: Successful operation. schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/BrandingImage' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: No entry found for the given ID. + description: Unknown image reference, or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get an email notification. + summary: Get metadata of a light theme image. tags: - - Tenant accounts - email notification logs + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups: - get: - description: 'Retrieve an array of policy groups. + /v3/accounts/{account_id}/branding-images/light/{reference}/clear: + post: + description: 'Revert an account branding image to light theme default. Note: This endpoint is restricted to administrators. **Example:** - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups + ```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAllAccountGroups + operationId: clearAccountLightImage parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string - - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - in: query - name: include - required: false - type: string - - description: Filter for group name. - in: query - name: name__eq - required: false + - description: Name of the branding images (icon or picture). + enum: *id026 + in: path + name: reference + required: true type: string produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/GroupSummaryList' + '204': + description: Image reverted successfully. '401': description: Authentication failure. schema: @@ -13808,20 +14452,20 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account with the specified ID does not exist. + description: Unknown image reference, or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get policy groups. + summary: Revert an image to light theme default. tags: - - Tenant accounts - policy groups - x-filter: - name: - - eq + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/branding-images/light/{reference}/upload: post: consumes: - - application/json - description: 'Create a new group. + - image/png + - image/jpeg + description: 'Upload a new account light theme branding image in PNG or JPEG + format. Note: This endpoint is restricted to administrators. @@ -13830,38 +14474,49 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/upload \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ + -H ''Authorization: Bearer '' \ - -d ''{"name": "MyGroup1"}'' + -H ''content-type: image/png'' --data-binary ''@myimage.png'' ```' - operationId: createAccountGroup + operationId: uploadAccountLightImage parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: Details of the group to create. + - description: Name of the branding images (icon or picture). + enum: *id026 + in: path + name: reference + required: true + type: string + - description: The image in PNG or JPEG format. in: body name: body required: true schema: - $ref: '#/definitions/GroupCreationInfo' + $ref: '#/definitions/Image' produces: - application/json responses: '201': - description: New entity created. + description: Image uploaded successfully. + headers: + Content-Location: + description: Location of image metadata. + type: string + Location: + description: Location of the image binary. + type: string schema: - $ref: '#/definitions/GroupSummary' + $ref: '#/definitions/BrandingImage' '400': - description: Error in input data, for example, invalid group name. + description: Error in input data format, for example, image is too large. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -13873,94 +14528,111 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account with the specified ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: A group with that name already exists. + description: Unknown image reference, or account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Create a new group. + summary: Upload a light theme image. tags: - - Tenant accounts - policy groups + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}: - delete: - description: 'Delete a group. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} - \ - - -H ''Authorization: Bearer '' + /v3/accounts/{account_id}/branding-images/light/{reference}/upload-multipart: + post: + consumes: + - multipart/form-data + description: 'Upload a new account branding image as form data in PNG or JPEG + format. - ```' - operationId: deleteAccountGroup + Note: This endpoint is restricted to administrators.' + operationId: uploadAccountLightImageMultipart parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the group to delete. + - description: Name of the branding images (icon or picture). + enum: *id026 in: path - name: group_id + name: reference required: true type: string + - description: The image in PNG or JPEG format as multipart form data. + in: formData + name: image + required: true + type: file produces: - application/json responses: - '204': - description: Deleted successfully. + '201': + description: Image uploaded successfully. + headers: + Content-Location: + description: Location of the image metadata. + type: string + Location: + description: Location of the image binary. + type: string + schema: + $ref: '#/definitions/BrandingImage' + '400': + description: Error in input data format, for example, image is too large. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, or Administrators group cannot be removed. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: Unknown image reference. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete a group. + summary: Upload a light theme image. tags: - - Tenant accounts - policy groups + - Tenant user interface configuration - images x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/identity-providers: get: - description: 'Retrieve policy group details. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} - \ - - -H ''Authorization: Bearer '' + consumes: + - application/json + description: 'Retrieve an array of identity providers. - ```' - operationId: getAccountGroupSummary + Note: This endpoint is restricted to administrators.' + operationId: getAllAccountIdentityProviders parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve. - in: path - name: group_id - required: true + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false type: string produces: - application/json @@ -13968,7 +14640,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummary' + $ref: '#/definitions/IdentityProviderList' '401': description: Authentication failure. schema: @@ -13978,63 +14650,56 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: Account not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get policy group. + summary: Get all identity providers. tags: - - Tenant accounts - policy groups + - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: consumes: - application/json - description: 'Add users and API keys to groups. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} - \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{"users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + description: 'Create a new identity provider. - ```' - operationId: addSubjectsToAccountGroup + Note: This endpoint is restricted to administrators.' + operationId: createAccountIdentityProvider parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to update. - in: path - name: group_id - required: true - type: string - - description: A list of users and API keys to add to the group. + - allowEmptyValue: true + description: 'Indicates that the OpenID Connect endpoints and keys should + be set using the OpenID Connect Discovery mechanism. The following parameters + are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint + * revocation_endpoint * jwks_uri * keys' + in: query + name: discovery + type: boolean + - description: Details of the identity provider to create. in: body name: body required: true schema: - $ref: '#/definitions/SubjectList' + $ref: '#/definitions/IdentityProviderCreationReq' produces: - application/json responses: - '200': - description: Successful operation. + '201': + description: New entity created. + headers: + Content-Location: + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string + Location: + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string schema: - $ref: '#/definitions/GroupSummary' + $ref: '#/definitions/IdentityProviderInfo' '400': - description: Error in input data, for example, the user or API key does - not exist. + description: Error in input data, for example, too long name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -14046,68 +14711,74 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: Account not found. schema: $ref: '#/definitions/ErrorResponse' - '409': - description: The user of this API key is a member of the group already. + summary: Create a new identity provider. + tags: + - Tenant accounts - identity providers + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/identity-providers/{identity_provider_id}: + delete: + description: 'Delete an identity provider by ID. + + Note: This endpoint is restricted to administrators.' + operationId: deleteAccountIdentityProvider + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the identity provider to delete. + in: path + name: identity_provider_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Deleted successfully. + '401': + description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' - summary: Add members to a group. + '403': + description: Forbidden, or identity provider is in use. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or identity provider not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete an identity provider by ID. tags: - - Tenant accounts - policy groups + - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: - consumes: - - application/json - description: 'Update a group name. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ - \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{"name": "TestGroup2"}'' + get: + description: 'Retrieve an identity provider. - ```' - operationId: updateAccountGroupName + Note: This endpoint is restricted to administrators.' + operationId: getAccountIdentityProvider parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to update. + - description: The ID of the identity provider to retrieve. in: path - name: group_id + name: identity_provider_id required: true type: string - - description: Details of the group to create. - in: body - name: body - required: true - schema: - $ref: '#/definitions/GroupUpdateInfo' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummary' - '400': - description: Error in input data, for example, the group name is too long. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/IdentityProviderInfo' '401': description: Authentication failure. schema: @@ -14117,65 +14788,54 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: A group with that ID does not exist. + description: An account or identity provider not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Update the group name. + summary: Get an identity provider. tags: - - Tenant accounts - policy groups + - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys: - delete: + put: consumes: - application/json - deprecated: true - description: 'Remove API keys from groups. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys - \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''{"apikeys": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + description: 'Update an existing identity provider. - ```' - operationId: removeApiKeysFromAccountGroup + Note: This endpoint is restricted to administrators.' + operationId: updateAccountIdentityProvider parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to remove API keys from. + - description: The ID of the identity provider to update. in: path - name: group_id + name: identity_provider_id required: true type: string - - description: A list of API keys to remove from the group. + - allowEmptyValue: true + description: 'Indicates that the OpenID Connect endpoints and keys should + be set using the OpenID Connect Discovery mechanism. The following parameters + are set automatically: * authorization_endpoint * token_endpoint * userinfo_endpoint + * revocation_endpoint * jwks_uri * keys' + in: query + name: discovery + type: boolean + - description: Details of the identity provider to update. in: body name: body required: true schema: - $ref: '#/definitions/SubjectList' + $ref: '#/definitions/IdentityProviderUpdateReq' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummary' + $ref: '#/definitions/IdentityProviderInfo' '400': - description: Error in input data, for example, the array of API keys is - missing. + description: Error in input data, for example, missing name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -14187,78 +14847,43 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: An account or identity provider not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove API keys from a group. + summary: Update an existing identity provider. tags: - - Tenant accounts - policy groups - x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' - links: [] + - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve an array of API keys associated with a policy group. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys - \ - - -H ''Authorization: Bearer '' + /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/delete-sp-certificate: + post: + consumes: + - application/json + description: 'Delete a service provider certificate. - ```' - operationId: getApiKeysOfAccountGroup + Note: This endpoint is restricted to administrators.' + operationId: deleteAccountSpCertificate parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve API keys for. + - description: The ID of the identity provider whose certificate should be deleted. in: path - name: group_id + name: identity_provider_id required: true type: string - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string - - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - in: query - name: include - required: false - type: string produces: - application/json responses: '200': description: Successful operation. + headers: + Content-Location: + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/IdentityProviderInfo' '401': description: Authentication failure. schema: @@ -14268,59 +14893,54 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: An account or identity provider not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Get API keys in a group. + summary: Delete the service provider certificate. tags: - - Tenant accounts - policy groups + - Tenant accounts - identity providers x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/generate-sp-certificate: post: - deprecated: true - description: 'Add API keys to account groups. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys - \ - - -H ''Authorization: Bearer '' + consumes: + - application/json + description: 'Generate a new service provider certificate. - ```' - operationId: addApiKeysToAccountGroup + Note: This endpoint is restricted to administrators.' + operationId: generateAccountSpCertificate parameters: - - description: The ID of the account. + - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve API keys for. + - description: The ID of the identity provider for which to generate a certificate. in: path - name: group_id + name: identity_provider_id required: true type: string - - description: A list of API keys to add to the group. + - description: Details of the service provider certificate to be generated. in: body name: body required: true schema: - $ref: '#/definitions/SubjectList' + $ref: '#/definitions/CertificateGenerationReq' produces: - application/json responses: '200': description: Successful operation. + headers: + Content-Location: + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/IdentityProviderInfo' '400': - description: Successful operation. + description: Error in input data, for example, invalid certificate validity + value. schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -14330,25 +14950,1737 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: An account or identity provider not found. schema: $ref: '#/definitions/ErrorResponse' - '409': + summary: Generate a new service provider certificate. + tags: + - Tenant accounts - identity providers + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/identity-providers/{identity_provider_id}/refresh-jwks: + post: + consumes: + - application/json + description: 'Refresh an OIDC IdP''s signing keys. + + Note: This endpoint is restricted to administrators.' + operationId: refreshAccountJwks + parameters: + - description: The ID of the account to be managed. + in: path + name: account_id + required: true + type: string + - description: The ID of the identity provider for which to refresh the signing + keys. + in: path + name: identity_provider_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + headers: + Content-Location: + description: /v3/accounts/{account_id}/identity-providers/{identity_provider_id} + type: string + schema: + $ref: '#/definitions/IdentityProviderInfo' + '400': + description: Not an OIDC IdP or JWKS URI is unspecified. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or identity provider not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Refresh the OIDC signing keys. + tags: + - Tenant accounts - identity providers + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/limitations: + get: + description: 'Retrieve an array of entitlement limitations. + + Note: This endpoint is restricted to administrators.' + operationId: aggregatorGetAccountLimitations + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: Filter for finding account limitations by inheritance. True returns + also inherited limitations. False returns only non-inherited ones. + in: query + name: inherited__eq + required: false + type: string + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/AccountLimitationList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account with the given ID not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get entitlement limitations. + tags: + - Tenant accounts - entitlement limitations + x-filter: + inherited: + - eq + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/limitations/{limitation_id}: + get: + description: 'Retrieve an entitlement limitation. + + Note: This endpoint is restricted to administrators.' + operationId: aggregatorGetAccountLimitation + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the limitation to be fetched. + in: path + name: limitation_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/AccountLimitation' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Limitation or account with the given ID not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get an entitlement limitation. + tags: + - Tenant accounts - entitlement limitations + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/notifications: + get: + description: 'Retrieve an array of email notification logs. + + Note: This endpoint is restricted to administrators.' + operationId: getAccountNofificationEntries + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/NotificationEntryList' + '400': + description: Error in input data, or missing or invalid parameters. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account with the given ID not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get email notifications. + tags: + - Tenant accounts - email notification logs + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/notifications/{notification_id}: + get: + description: 'Retrieve an email notifications log entry. + + Note: This endpoint is restricted to administrators.' + operationId: getAccountNofificationEntry + parameters: + - description: The ID of the account for which this notification should be retrieved. + in: path + name: account_id + required: true + type: string + - description: The ID of the notification entry to be retrieved. + in: path + name: notification_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: successful operation + schema: + $ref: '#/definitions/NotificationEntry' + '400': + description: Error in input data, missing or invalid parameters. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: No entry found for the given ID. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get an email notification. + tags: + - Tenant accounts - email notification logs + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups: + get: + description: 'Retrieve an array of policy groups. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAllAccountGroups + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + - description: Filter for group name. + in: query + name: name__eq + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummaryList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get policy groups. + tags: + - Tenant accounts - policy groups + x-filter: + name: + - eq + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + consumes: + - application/json + description: 'Create a new group. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "MyGroup1"}'' + + ```' + operationId: createAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: Details of the group to create. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupCreationInfo' + produces: + - application/json + responses: + '201': + description: New entity created. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, invalid group name. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: A group with that name already exists. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Create a new group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}: + delete: + description: 'Delete a group. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: deleteAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to delete. + in: path + name: group_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden, or Administrators group cannot be removed. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete a group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve policy group details. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountGroupSummary + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve. + in: path + name: group_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get policy group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + consumes: + - application/json + description: 'Add users and API keys to groups. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: addSubjectsToAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to update. + in: path + name: group_id + required: true + type: string + - description: A list of users and API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the user or API key does + not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user of this API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add members to a group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + put: + consumes: + - application/json + description: 'Update a group name. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "TestGroup2"}'' + + ```' + operationId: updateAccountGroupName + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to update. + in: path + name: group_id + required: true + type: string + - description: Details of the group to create. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupUpdateInfo' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the group name is too long. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Update the group name. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys: + delete: + consumes: + - application/json + deprecated: true + description: 'Remove API keys from groups. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"apikeys": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: removeApiKeysFromAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove API keys from. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the array of API keys is + missing. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove API keys from a group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + deprecated: true + description: 'Retrieve an array of API keys associated with a policy group. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getApiKeysOfAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve API keys for. + in: path + name: group_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoRespList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get API keys in a group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + deprecated: true + description: 'Add API keys to account groups. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: addApiKeysToAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve API keys for. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': description: The API Key is a member of the group or account already. schema: $ref: '#/definitions/ErrorResponse' - summary: Add API keys to Account group. + summary: Add API keys to Account group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add: + post: + deprecated: true + description: 'Add API keys to account groups. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"apikeys": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: addListedApiKeysToAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove API keys from. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The API key is a member of the account group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API keys to account group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications/add + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove: + post: + consumes: + - application/json + deprecated: true + description: 'Remove API keys from groups. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"apikeys": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: removeListedApiKeysFromAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove API keys from. + in: path + name: group_id + required: true + type: string + - description: A list of API keys to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the array of API keys is + missing. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove API keys from a group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications/remove + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/applications: + get: + description: 'Retrieve an array of applications associated with a policy group. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getApplicationsOfAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve applications for. + in: path + name: group_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApplicationList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get applications in a group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/applications/add: + post: + description: 'Add applications to account groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications/add + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"applications": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: addListedApplicationsToAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to add applications to. + in: path + name: group_id + required: true + type: string + - description: A list of applications to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The application is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add applications to account group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/applications/remove: + post: + consumes: + - application/json + description: 'Remove applications from groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"applications": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + + ```' + operationId: removeListedApplicationsFromAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove applications from. + in: path + name: group_id + required: true + type: string + - description: A list of applications to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the array of applications + is missing. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove applications from a group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/users: + delete: + consumes: + - application/json + deprecated: true + description: "Remove users from groups.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ + \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ + ]}'\n```" + operationId: removeUsersFromAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove users from. + in: path + name: group_id + required: true + type: string + - description: A list of users to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the last user to remove from + Administrators group. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove users from a group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve an array of users associated with a policy group. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getUsersOfAccountGroup + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve users for. + in: path + name: group_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + - description: An optional filter to retrieve users by status. + in: query + name: status__eq + required: false + type: string + - description: An optional filter to retrieve users with a specified set of + statuses. + in: query + name: status__in + required: false + type: string + - description: An optional filter to exclude users with a specified set of statuses. + in: query + name: status__nin + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoRespList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get users in a policy group. + tags: + - Tenant accounts - policy groups + x-filter: + status: + - eq + - in + - nin + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + post: + deprecated: true + description: 'Add users to account group. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: addUsersToAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to add users to. + in: path + name: group_id + required: true + type: string + - description: A list of user IDs to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user is a member of the account group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add users to account group. + tags: + - Tenant accounts - policy groups + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/users/add: + post: + description: 'Add users to account group. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/add + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: addListedUsersToAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to retrieve users for. + in: path + name: group_id + required: true + type: string + - description: A list of users to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Successful operation. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user is a member of the account group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add users to account group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/policy-groups/{group_id}/users/remove: + post: + consumes: + - application/json + description: "Remove users from groups.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/remove\ + \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ + ]}'\n```" + operationId: removeListedUsersFromAccountGroup + parameters: + - description: The ID of the account. + in: path + name: account_id + required: true + type: string + - description: The ID of the group to remove users from. + in: path + name: group_id + required: true + type: string + - description: A list of users to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the last user to remove from + Administrators group. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove users from a group. + tags: + - Tenant accounts - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/trusted-certificates: + get: + description: 'Retrieve an array of trusted certificates. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAllAccountCertificates + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + - description: Filter for certificate name. + in: query + name: name__eq + required: false + type: string + - description: Filter for service. + in: query + name: service__eq + required: false + type: string + - description: Filter for expire. + format: int32 + in: query + name: expire__eq + required: false + type: integer + - description: Filter for developer certificates. + format: int32 + in: query + name: device_execution_mode__eq + required: false + type: integer + - description: Filter for not developer certificates. + format: int32 + in: query + name: device_execution_mode__neq + required: false + type: integer + - description: Owner name filter. + in: query + name: owner__eq + required: false + type: string + - description: Enrollment mode filter. + in: query + name: enrollment_mode__eq + required: false + type: boolean + - description: Filter for certificate status. + in: query + name: status__eq + required: false + type: string + - description: 'Filter for issuer. Finds all matches where the filter value + is a case-insensitive substring of the result. Example: issuer__like=cn=iss + matches CN=issuer.' + in: query + name: issuer__like + required: false + type: string + - description: 'Filter for subject. Finds all matches where the filter value + is a case-insensitive substring of the result. Example: subject__like=cn=su + matches CN=subject.' + in: query + name: subject__like + required: false + type: string + - description: Filter for finding certificates by validity. True returns certificates + which are not yet expired. False returns certificates which have expired. + in: query + name: valid__eq + required: false + type: boolean + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/TrustedCertificateRespList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden, only available for administrators of commercial + accounts. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account with the given ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get trusted certificates. tags: - - Tenant accounts - policy groups - x-deprecation: - comment: This endpoint is deprecated. use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add/ - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' - links: [] + - Tenant security and identity - certificates + x-filter: + device_execution_mode: + - eq + - neq + enrollment_mode: + - eq + expire: + - eq + issuer: + - like + name: + - eq + owner: + - eq + service: + - eq + status: + - eq + subject: + - like + valid: + - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add: post: - description: 'Add API keys to account groups. + consumes: + - application/json + description: 'Upload new trusted certificate. Note: This endpoint is restricted to administrators. @@ -14357,66 +16689,62 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/add + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d {"name": "myCert1", "description": "very important cert", "certificate": + "certificate_data", "service": "lwm2m"} ```' - operationId: addListedApiKeysToAccountGroup + operationId: addAccountCertificate parameters: - - description: The ID of the account. + - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve API keys for. - in: path - name: group_id - required: true - type: string - - description: A list of API keys to add to the group. + - description: A trusted certificate object with attributes. Signature is optional. in: body name: body required: true schema: - $ref: '#/definitions/SubjectList' + $ref: '#/definitions/TrustedCertificateReq' produces: - application/json responses: - '200': - description: Successful operation. + '201': + description: New entity created. schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/TrustedCertificateResp' '400': - description: Successful operation. + description: Invalid certificate data, certificate validation failed, certificate + already expired or certificate uses unsupported, or weak cipher. schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden, only available for administrators of commercial + accounts. schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: The API key is a member of the account group already. + description: An account with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Add API keys to account group. + summary: Upload new trusted certificate. tags: - - Tenant accounts - policy groups + - Tenant security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove: - post: - consumes: - - application/json - description: 'Remove API keys from groups. + /v3/accounts/{account_id}/trusted-certificates/{cert_id}: + delete: + description: 'Delete a trusted certificate. Note: This endpoint is restricted to administrators. @@ -14425,100 +16753,133 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys/remove + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' - -H ''content-type: application/json'' \ + ```' + operationId: deleteAccountCertificate + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the trusted certificate to delete. + in: path + name: cert_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden, only available for administrators of commercial + accounts. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or certificate with the given ID not found. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete a trusted certificate by ID. + tags: + - Tenant security and identity - certificates + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve a trusted certificate. - -d ''{"apikeys": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]}'' + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} + \ + + -H ''Authorization: Bearer '' ```' - operationId: removeListedApiKeysFromAccountGroup + operationId: getAccountCertificate parameters: - - description: The ID of the account. + - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to remove API keys from. + - description: The ID of the trusted certificate to retrieve. in: path - name: group_id + name: cert_id required: true type: string - - description: A list of API keys to remove from the group. - in: body - name: body - required: true - schema: - $ref: '#/definitions/SubjectList' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummary' - '400': - description: Error in input data, for example, the array of API keys is - missing. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/TrustedCertificateResp' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden, only available for administrators of commercial + accounts. schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: An account or certificate with the given ID not found. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove API keys from a group. + summary: Get a trusted certificate. tags: - - Tenant accounts - policy groups + - Tenant security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}/users: - delete: + put: consumes: - application/json - deprecated: true - description: "Remove users from groups.\nNote: This endpoint is restricted\ - \ to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ - \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ - \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ - ]}'\n```" - operationId: removeUsersFromAccountGroup + description: "Update a trusted certificate.\nNote: This endpoint is restricted\ + \ to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ + \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n -d {\"description\": \"very important cert\"}\n ```" + operationId: updateAccountCertificate parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to remove users from. + - description: The ID of the trusted certificate to update. in: path - name: group_id + name: cert_id required: true type: string - - description: A list of users to remove from the group. + - description: A trusted certificate object with attributes. in: body name: body required: true schema: - $ref: '#/definitions/SubjectList' + $ref: '#/definitions/TrustedCertificateUpdateReq' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummary' + $ref: '#/definitions/TrustedCertificateResp' '400': - description: Error in input data, for example, the last user to remove from - Administrators group. + description: Invalid certificate data, certificate validation failed, certificate + already expired or certificate uses unsupported, or weak cipher. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -14526,24 +16887,21 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden, only available for administrators of commercial + accounts. schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: An account or certificate with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove users from a group. + summary: Update trusted certificate. tags: - - Tenant accounts - policy groups - x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/remove/ - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' - links: [] + - Tenant security and identity - certificates x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/user-invitations: get: - description: 'Retrieve an array of users associated with a policy group. + description: 'Retrieve an array of active user invitations. Note: This endpoint is restricted to administrators. @@ -14552,24 +16910,19 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getUsersOfAccountGroup + operationId: getAllAccountInvitations parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve users for. - in: path - name: group_id - required: true - type: string - default: 50 description: The number of results to return (2-1000). Default 50. format: int32 @@ -14577,38 +16930,21 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false type: string - - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - in: query - name: include - required: false - type: string - - description: An optional filter to retrieve users by status. - in: query - name: status__eq - required: false - type: string - - description: An optional filter to retrieve users with a specified set of - statuses. - in: query - name: status__in - required: false - type: string - - description: An optional filter to exclude users with a specified set of statuses. + - description: Filter to retrieve user invitations by a specified login profile. in: query - name: status__nin + name: login_profiles__eq required: false type: string produces: @@ -14617,7 +16953,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoRespList' + $ref: '#/definitions/UserInvitationRespList' '401': description: Authentication failure. schema: @@ -14627,21 +16963,20 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: An account with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get users in a policy group. + summary: Get user invitations. tags: - - Tenant accounts - policy groups + - Tenant accounts - user invitations x-filter: - status: + login_profiles: - eq - - in - - nin x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: - deprecated: true - description: 'Add users to account group. + consumes: + - application/json + description: 'Invite a new or existing user. Note: This endpoint is restricted to administrators. @@ -14650,41 +16985,40 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accouns/{account_id}/user-invitations \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d {"email": "myemail@company.com"} ```' - operationId: addUsersToAccountGroup + operationId: createAccountInvitation parameters: - - description: The ID of the account. + - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve API keys for. - in: path - name: group_id - required: true - type: string - - description: A list of API keys to add to the group. + - description: A user invitation object with attributes. in: body name: body required: true schema: - $ref: '#/definitions/SubjectList' + $ref: '#/definitions/UserInvitationReq' produces: - application/json responses: - '200': - description: Successful operation. + '201': + description: New entity created. schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/UserInvitationResp' '400': - description: Successful operation. + description: Error in input data, for example, invalid email address. schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -14693,26 +17027,13 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '404': - description: An account or group with that ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: The user is a member of the account group already. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Add users to account group. + summary: Create a user invitation. tags: - - Tenant accounts - policy groups - x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/add/ - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' - links: [] + - Tenant accounts - user invitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}/users/add: - post: - description: 'Add users to account group. + /v3/accounts/{account_id}/user-invitations/{invitation_id}: + delete: + description: 'Delete an active user invitation sent to a new or existing user. Note: This endpoint is restricted to administrators. @@ -14721,41 +17042,29 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users/add + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: addListedUsersToAccountGroup + operationId: deleteAccountInvitation parameters: - - description: The ID of the account. + - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to retrieve API keys for. + - description: The ID of the invitation to delete. in: path - name: group_id + name: invitation_id required: true type: string - - description: A list of API keys to add to the group. - in: body - name: body - required: true - schema: - $ref: '#/definitions/SubjectList' produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/ApiKeyInfoRespList' - '400': - description: Successful operation. - schema: - $ref: '#/definitions/ApiKeyInfoRespList' + '204': + description: Deleted successfully. '401': description: Authentication failure. schema: @@ -14765,56 +17074,49 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: The user is a member of the account group already. + description: An account or invitation with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Add users to account group. + summary: Delete a user invitation. tags: - - Tenant accounts - policy groups + - Tenant accounts - user invitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/policy-groups/{group_id}/users/remove: - post: - consumes: - - application/json - description: "Remove users from groups.\nNote: This endpoint is restricted\ - \ to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users\ - \ \\\n-H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ - \ \\\n-d '{\"users\": [\"0162056a9a1586f30242590700000000\",\"0117056a9a1586f30242590700000000\"\ - ]}'\n```" - operationId: removeListedUsersFromAccountGroup + get: + description: 'Retrieve details of an active user invitation sent for a new or + existing user. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getAccountInvitation parameters: - - description: The ID of the account. + - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the group to remove users from. + - description: The ID of the invitation to retrieve. in: path - name: group_id + name: invitation_id required: true type: string - - description: A list of users to remove from the group. - in: body - name: body - required: true - schema: - $ref: '#/definitions/SubjectList' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummary' - '400': - description: Error in input data, for example, the last user to remove from - Administrators group. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/UserInvitationResp' '401': description: Authentication failure. schema: @@ -14824,16 +17126,16 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or group with that ID does not exist. + description: An account or invitation with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove users from a group. + summary: Details of a user invitation. tags: - - Tenant accounts - policy groups + - Tenant accounts - user invitations x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/trusted-certificates: + /v3/accounts/{account_id}/users: get: - description: 'Retrieve an array of trusted certificates. + description: 'Retrieve an array of users. Note: This endpoint is restricted to administrators. @@ -14842,13 +17144,13 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAllAccountCertificates + operationId: getAllAccountUsers parameters: - description: Account ID. in: path @@ -14862,14 +17164,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -14880,118 +17182,69 @@ paths: name: include required: false type: string - - description: Filter for certificate name. - in: query - name: name__eq - required: false - type: string - - description: Filter for service. - in: query - name: service__eq - required: false - type: string - - description: Filter for expire. - format: int32 - in: query - name: expire__eq - required: false - type: integer - - description: Filter for developer certificates. - format: int32 - in: query - name: device_execution_mode__eq - required: false - type: integer - - description: Filter for not developer certificates. - format: int32 - in: query - name: device_execution_mode__neq - required: false - type: integer - - description: Owner name filter. + - description: Filter for email address. in: query - name: owner__eq + name: email__eq required: false type: string - - description: Enrollment mode filter. - in: query - name: enrollment_mode__eq - required: false - type: boolean - - description: Filter for certificate status. + - description: Filter for status. in: query name: status__eq required: false type: string - - description: 'Filter for issuer. Finds all matches where the filter value - is a case-insensitive substring of the result. Example: issuer__like=cn=iss - matches CN=issuer.' + - description: An optional filter to retrieve users with a specified set of + statuses. in: query - name: issuer__like + name: status__in required: false type: string - - description: 'Filter for subject. Finds all matches where the filter value - is a case-insensitive substring of the result. Example: subject__like=cn=su - matches CN=subject.' + - description: An optional filter to exclude users with a specified set of statuses. in: query - name: subject__like + name: status__nin required: false type: string - - description: Filter for finding certificates by validity. True returns certificates - which are not yet expired. False returns certificates which have expired. + - description: An optional filter to retrieve users with a specified login profile. in: query - name: valid__eq + name: login_profiles__eq required: false - type: boolean + type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/TrustedCertificateRespList' + $ref: '#/definitions/UserInfoRespList' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': description: An account with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get trusted certificates. + summary: Get users. tags: - - Tenant security and identity - certificates + - Tenant accounts - users x-filter: - device_execution_mode: - - eq - - neq - enrollment_mode: - - eq - expire: - - eq - issuer: - - like - name: - - eq - owner: + email: - eq - service: + login_profiles: - eq status: - eq - subject: - - like - valid: - - eq + - in + - nin x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: consumes: - application/json - description: 'Upload new trusted certificate. + description: 'Create or invite a new user to the account. Only email address + is used; other attributes are set in the second step. Note: This endpoint is restricted to administrators. @@ -15000,40 +17253,44 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d {"name": "myCert1", "description": "very important cert", "certificate": - "certificate_data", "service": "lwm2m"} + -d {"email": "myemail@company.com"} ```' - operationId: addAccountCertificate + operationId: createAccountUser parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: A trusted certificate object with attributes. Signature is optional. + - description: A user object with attributes. in: body name: body required: true schema: - $ref: '#/definitions/TrustedCertificateReq' + $ref: '#/definitions/UserInfoReq' + - default: create + description: Create or invite user. + in: query + name: action + required: false + type: string produces: - application/json responses: '201': description: New entity created. schema: - $ref: '#/definitions/TrustedCertificateResp' + $ref: '#/definitions/UserInfoResp' '400': - description: Invalid certificate data, certificate validation failed, certificate - already expired or certificate uses unsupported, or weak cipher. + description: Error in input data, for example, an invalid email address. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -15041,20 +17298,24 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account with the given ID does not exist. + description: An account with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Upload new trusted certificate. + '409': + description: A user with the given username or email already exists. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Create a new user. tags: - - Tenant security and identity - certificates + - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/trusted-certificates/{cert_id}: + /v3/accounts/{account_id}/users/{user_id}: delete: - description: 'Delete a trusted certificate. + description: 'Delete a user. Note: This endpoint is restricted to administrators. @@ -15063,22 +17324,22 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: deleteAccountCertificate + operationId: deleteAccountUser parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the trusted certificate to delete. + - description: The ID of the user to delete. in: path - name: cert_id + name: user_id required: true type: string produces: @@ -15086,24 +17347,28 @@ paths: responses: '204': description: Deleted successfully. + '400': + description: Bad request, for example, trying to delete an active user. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or certificate with the given ID not found. + description: An account or user with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete a trusted certificate by ID. + summary: Delete a user. tags: - - Tenant security and identity - certificates + - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve a trusted certificate. + description: 'Retrieve user details. Note: This endpoint is restricted to administrators. @@ -15112,22 +17377,22 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAccountCertificate + operationId: getAccountUser parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the trusted certificate to retrieve. + - description: The ID of the user to retrieve. in: path - name: cert_id + name: user_id required: true type: string produces: @@ -15136,79 +17401,251 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/TrustedCertificateResp' + $ref: '#/definitions/UserInfoResp' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: Account or certificate with the given ID not found. + description: An account or user with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get a trusted certificate. + summary: Details of the user. tags: - - Tenant security and identity - certificates + - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml put: consumes: - application/json - description: "Update a trusted certificate.\nNote: This endpoint is restricted\ - \ to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ - \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ - \ \\\n -d {\"description\": \"very important cert\"}\n ```" - operationId: updateAccountCertificate + description: 'Update user details. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"username": "myusername"}'' + + ```' + operationId: updateAccountUser + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the user to update. + in: path + name: user_id + required: true + type: string + - description: A user object with attributes. + in: body + name: body + required: true + schema: + $ref: '#/definitions/UserUpdateReq' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data, for example, an invalid email address. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account or user with the given ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: A user with the given username or email already exists. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Update user details. + tags: + - Tenant accounts - users + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/users/{user_id}/groups: + delete: + consumes: + - application/json + deprecated: true + description: 'Remove user from groups. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: removeAccountUserFromGroups + parameters: + - description: Account ID. + in: path + name: account_id + required: true + type: string + - description: The ID of the user to remove from the group. + in: path + name: user_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + items: + type: string + type: array + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An account, user, or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove user from groups. + tags: + - Tenant accounts - users + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + description: 'Retrieve an array of policy groups associated with a user. + + Note: This endpoint is restricted to administrators. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getGroupsOfAccountUser parameters: + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the trusted certificate to update. + - description: The ID of the user. in: path - name: cert_id + name: user_id required: true type: string - - description: A trusted certificate object with attributes. - in: body - name: body - required: true - schema: - $ref: '#/definitions/TrustedCertificateUpdateReq' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/TrustedCertificateResp' - '400': - description: Invalid certificate data, certificate validation failed, certificate - already expired or certificate uses unsupported, or weak cipher. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/GroupSummaryList' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or certificate with the given ID does not exist. + description: An account or user with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Update trusted certificate. + summary: Get policy groups for a user. tags: - - Tenant security and identity - certificates + - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/user-invitations: - get: - description: 'Retrieve an array of active user invitations. + post: + consumes: + - application/json + deprecated: true + description: 'Add user to groups. Note: This endpoint is restricted to administrators. @@ -15217,50 +17654,47 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: getAllAccountInvitations + operationId: addAccountUserToGroups parameters: - description: Account ID. in: path name: account_id required: true type: string - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string - - description: Filter to retrieve user invitations by a specified login profile. - in: query - name: login_profiles__eq - required: false + - description: The ID of the user to add to the group. + in: path + name: user_id + required: true type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + items: + type: string + type: array produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInvitationRespList' + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -15270,20 +17704,27 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account with the specified ID does not exist. + description: An account, user, or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get user invitations. + '409': + description: The user is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add user to a list of groups. tags: - - Tenant accounts - user invitations - x-filter: - login_profiles: - - eq + - Tenant accounts - users + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/accounts/{account_id}/users/{user_id}/groups/add: post: consumes: - application/json - description: 'Invite a new or existing user. + description: 'Add a user to groups. Note: This endpoint is restricted to administrators. @@ -15292,38 +17733,43 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accouns/{account_id}/user-invitations + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/add \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d {"email": "myemail@company.com"} + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: createAccountInvitation + operationId: addAccountUserToListedGroups parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: A user invitation object with attributes. + - description: The ID of the user to add to the group. + in: path + name: user_id + required: true + type: string + - description: A list of IDs of the groups to update. in: body name: body required: true schema: - $ref: '#/definitions/UserInvitationReq' + $ref: '#/definitions/GroupIdList' produces: - application/json responses: - '201': - description: New entity created. + '200': + description: Successful operation. schema: - $ref: '#/definitions/UserInvitationResp' + $ref: '#/definitions/UserInfoResp' '400': - description: Error in input data, for example, invalid email address. + description: Error in input data. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -15334,13 +17780,23 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Create a user invitation. + '404': + description: An account, user, or group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The user is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add user to a list of groups. tags: - - Tenant accounts - user invitations + - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/user-invitations/{invitation_id}: - delete: - description: 'Delete an active user invitation sent to a new or existing user. + /v3/accounts/{account_id}/users/{user_id}/groups/remove: + post: + consumes: + - application/json + description: 'Remove a user from groups. Note: This endpoint is restricted to administrators. @@ -15349,29 +17805,45 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/remove \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: deleteAccountInvitation + operationId: removeAccountUserFromListedGroups parameters: - - description: Account ID. + - description: The ID of the account. in: path name: account_id required: true type: string - - description: The ID of the invitation to delete. + - description: The ID of the user to remove from the group. in: path - name: invitation_id + name: user_id required: true type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' produces: - application/json responses: - '204': - description: Deleted successfully. + '200': + description: Successful operation. + schema: + $ref: '#/definitions/UserInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -15381,16 +17853,16 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or invitation with the specified ID does not exist. + description: An account, user, or group with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete a user invitation. + summary: Remove user from groups. tags: - - Tenant accounts - user invitations + - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - get: - description: 'Retrieve details of an active user invitation sent for a new or - existing user. + /v3/accounts/{account_id}/users/{user_id}/validate-email: + post: + description: 'Validate user email. Note: This endpoint is restricted to administrators. @@ -15399,31 +17871,29 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} + curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/validate-email \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAccountInvitation + operationId: validateAccountUserEmail parameters: - description: Account ID. in: path name: account_id required: true type: string - - description: The ID of the invitation to retrieve. + - description: The ID of the user. in: path - name: invitation_id + name: user_id required: true type: string produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/UserInvitationResp' + '204': + description: Email validation successfully requested. '401': description: Authentication failure. schema: @@ -15433,37 +17903,30 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or invitation with the specified ID does not exist. + description: An account or user with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Details of a user invitation. + summary: Validate the user email. tags: - - Tenant accounts - user invitations + - Tenant accounts - users x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/users: + /v3/api-keys: get: - description: 'Retrieve an array of users. - - Note: This endpoint is restricted to administrators. + deprecated: true + description: 'Retrieve an array of API keys, optionally filtered by the owner. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users - \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAllAccountUsers + operationId: getAllApiKeys parameters: - - description: Account ID. - in: path - name: account_id - required: true - type: string - default: 50 description: The number of results to return (2-1000). Default 50. format: int32 @@ -15471,14 +17934,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -15489,30 +17952,17 @@ paths: name: include required: false type: string - - description: Filter for email address. - in: query - name: email__eq - required: false - type: string - - description: Filter for status. - in: query - name: status__eq - required: false - type: string - - description: An optional filter to retrieve users with a specified set of - statuses. - in: query - name: status__in - required: false - type: string - - description: An optional filter to exclude users with a specified set of statuses. + - description: API key filter. Do not include the private portion of the API + key (the last 32 characters). in: query - name: status__nin + name: key__eq required: false type: string - - description: An optional filter to retrieve users with a specified login profile. + - description: 'Owner name filter. + + Note: This parameter is restricted to administrators.' in: query - name: login_profiles__eq + name: owner__eq required: false type: string produces: @@ -15521,7 +17971,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoRespList' + $ref: '#/definitions/ApiKeyInfoRespList' '401': description: Authentication failure. schema: @@ -15530,132 +17980,56 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '404': - description: An account with the given ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Get users. + summary: Get all API keys. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-filter: - email: - - eq - login_profiles: + key: - eq - status: + owner: - eq - - in - - nin x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: consumes: - application/json - description: 'Create or invite a new user to the account. Only email address - is used; other attributes are set in the second step. - - Note: This endpoint is restricted to administrators. + deprecated: true + description: 'Create a new API key. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users - \ - - -H ''Authorization: Bearer '' \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys -d ''{"name": + "MyKey1"}'' \ - -H ''content-type: application/json'' \ + -H ''Authorization: Bearer '' \ - -d {"email": "myemail@company.com"} + -H ''content-type: application/json'' ```' - operationId: createAccountUser + operationId: createApiKey parameters: - - description: Account ID. - in: path - name: account_id - required: true - type: string - - description: A user object with attributes. + - description: The details of the API key to create. in: body name: body required: true schema: - $ref: '#/definitions/UserInfoReq' - - default: create - description: Create or invite user. - in: query - name: action - required: false - type: string + $ref: '#/definitions/ApiKeyInfoReq' produces: - application/json responses: '201': description: New entity created. schema: - $ref: '#/definitions/UserInfoResp' - '400': - description: Error in input data, for example, an invalid email address. - schema: - $ref: '#/definitions/ErrorResponse' - '401': - description: Authentication failure. - schema: - $ref: '#/definitions/ErrorResponse' - '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - '404': - description: An account with the specified ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: A user with the given username or email already exists. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Create a new user. - tags: - - Tenant accounts - users - x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/users/{user_id}: - delete: - description: 'Delete a user. - - Note: This endpoint is restricted to administrators. - - - **Example:** - - ``` - - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} - \ - - -H ''Authorization: Bearer '' - - ```' - operationId: deleteAccountUser - parameters: - - description: Account ID. - in: path - name: account_id - required: true - type: string - - description: The ID of the user to delete. - in: path - name: user_id - required: true - type: string - produces: - - application/json - responses: - '204': - description: Deleted successfully. + $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Bad request, for example, trying to delete an active user. + description: Error in input data, for example, missing API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -15666,49 +18040,39 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '404': - description: An account or user with the specified ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Delete a user. + summary: Create a new API key. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/api-keys/me: get: - description: 'Retrieve user details. - - Note: This endpoint is restricted to administrators. + deprecated: true + description: 'Retrieve details of current API key. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} - \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAccountUser - parameters: - - description: Account ID. - in: path - name: account_id - required: true - type: string - - description: The ID of the user to retrieve. - in: path - name: user_id - required: true - type: string + operationId: getMyApiKey + parameters: [] produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoResp' + $ref: '#/definitions/ApiKeyInfoResp' '401': description: Authentication failure. schema: @@ -15717,63 +18081,50 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '404': - description: An account or user with the specified ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Details of the user. + summary: Get current API key. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml put: - consumes: - - application/json - description: 'Update user details. - - Note: This endpoint is restricted to administrators. + deprecated: true + description: 'Update API key details. **Example:** ``` - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} - \ + curl -X PUT https://api.us-east-1.mbedcloud.com/v3/api-keys/me \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''{"username": "myusername"}'' + -d ''{"name": "TestApiKey25"}'' ```' - operationId: updateAccountUser + operationId: updateMyApiKey parameters: - - description: Account ID. - in: path - name: account_id - required: true - type: string - - description: The ID of the user to update. - in: path - name: user_id - required: true - type: string - - description: A user object with attributes. + - description: New API key attributes to store. in: body name: body required: true schema: - $ref: '#/definitions/UserUpdateReq' + $ref: '#/definitions/ApiKeyUpdateReq' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoResp' + $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, an invalid email address. + description: Error in input data, for example, invalid API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -15784,69 +18135,51 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '404': - description: An account or user with the given ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: A user with the given username or email already exists. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Update user details. + summary: Update API key details. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/users/{user_id}/groups: + /v3/api-keys/me/groups: delete: consumes: - application/json deprecated: true - description: 'Remove user from groups. - - Note: This endpoint is restricted to administrators. + description: 'Remove API key from groups. **Example:** ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups - \ + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: removeAccountUserFromGroups + operationId: removeMyApiKeyListedGroups parameters: - - description: Account ID. - in: path - name: account_id - required: true - type: string - - description: The ID of the user to remove from the group. - in: path - name: user_id - required: true - type: string - - description: A list of IDs of the groups to update. + - description: A list of IDs of groups to update. in: body name: body required: true schema: - items: - type: string - type: array + $ref: '#/definitions/GroupIdList' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoResp' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -15859,36 +18192,31 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '404': - description: An account, user, or group with that ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Remove user from groups. + summary: Remove API key from groups. tags: - - Tenant accounts - users + - Account - API keys x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/remove/ + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/remove/ end_of_life_at: '2020-07-11T11:04:57+00:00' issued_at: '2019-07-11T11:04:57+00:00' links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve an array of policy groups associated with a user. - - Note: This endpoint is restricted to administrators. + deprecated: true + description: 'Retrieve an array of policy groups associated with the current + API key. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups - \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getGroupsOfAccountUser + operationId: getGroupsOfMyApiKey parameters: - default: 50 description: The number of results to return (2-1000). Default 50. @@ -15897,14 +18225,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -15915,16 +18243,6 @@ paths: name: include required: false type: string - - description: Account ID. - in: path - name: account_id - required: true - type: string - - description: The ID of the user. - in: path - name: user_id - required: true - type: string produces: - application/json responses: @@ -15940,49 +18258,37 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '404': - description: An account or user with the specified ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - summary: Get policy groups for a user. + summary: Get policy groups of the current API key. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: consumes: - application/json deprecated: true - description: 'Add user to groups. - - Note: This endpoint is restricted to administrators. + description: 'Add API key to groups. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups - \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: addAccountUserToGroups + operationId: addMyApiKeyToGroups parameters: - - description: Account ID. - in: path - name: account_id - required: true - type: string - - description: The ID of the user to add to the group. - in: path - name: user_id - required: true - type: string - description: A list of IDs of the groups to update. in: body name: body @@ -15997,7 +18303,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoResp' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -16007,61 +18313,47 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - '404': - description: An account, user, or group with that ID does not exist. + description: Forbidden. Adding API key to the 'Administrators' group is + restricted to administrators. schema: $ref: '#/definitions/ErrorResponse' '409': - description: The user is a member of the group already. + description: The API key is a member of the group already. schema: $ref: '#/definitions/ErrorResponse' - summary: Add user to a list of groups. + summary: Add API key to a list of groups. tags: - - Tenant accounts - users + - Account - API keys x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/add/ + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/add/ end_of_life_at: '2020-07-11T11:04:57+00:00' issued_at: '2019-07-11T11:04:57+00:00' links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/users/{user_id}/groups/add: + /v3/api-keys/me/groups/add: post: consumes: - application/json - description: 'Add a user to groups. - - Note: This endpoint is restricted to administrators. + deprecated: true + description: 'Add API key to groups. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/add + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/add/ \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: addAccountUserToListedGroups + operationId: addMyApiKeyToListedGroups parameters: - - description: The ID of the account. - in: path - name: account_id - required: true - type: string - - description: The ID of the user to add to the group. - in: path - name: user_id - required: true - type: string - description: A list of IDs of the groups to update. in: body name: body @@ -16074,7 +18366,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoResp' + $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -16084,71 +18376,218 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. - schema: - $ref: '#/definitions/ErrorResponse' - '404': - description: An account, user, or group with that ID does not exist. + description: Forbidden. Adding API key to the 'Administrators' group is + restricted to administrators. schema: $ref: '#/definitions/ErrorResponse' '409': - description: The user is a member of the group already. + description: The API key is a member of the group already. schema: $ref: '#/definitions/ErrorResponse' - summary: Add user to a list of groups. + summary: Add API key to a list of groups. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups/add + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/users/{user_id}/groups/remove: + /v3/api-keys/me/groups/remove: post: consumes: - application/json - description: 'Remove a user from groups. + deprecated: true + description: 'Remove API key from groups. - Note: This endpoint is restricted to administrators. + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + + ```' + operationId: removeMyApiKeyFromListedGroups + parameters: + - description: A list of IDs of groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove API key from groups. + tags: + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups/remove + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/api-keys/{apikey_id}: + delete: + deprecated: true + description: 'Delete the API key. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups/remove + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' + + ```' + operationId: deleteApiKey + parameters: + - description: The ID of the API key to delete. + in: path + name: apikey_id + required: true + type: string + produces: + - application/json + responses: + '204': + description: Deleted successfully. + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. Only the owner of the API key or an administrator + can delete an API key. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An API key with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Delete API key. + tags: + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use DELETE https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + get: + deprecated: true + description: 'Retrieve details of an API key. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getApiKey + parameters: + - description: The ID of the API key to retrieve. + in: path + name: apikey_id + required: true + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: An API key with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get API key. + tags: + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + put: + deprecated: true + description: 'Update API key details. + + + **Example:** + + `curl -X PUT https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ + + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -d ''{"name": "TestApiKey25"}'' ```' - operationId: removeAccountUserFromListedGroups + operationId: updateApiKey parameters: - - description: The ID of the account. - in: path - name: account_id - required: true - type: string - - description: The ID of the user to remove from the group. + - description: The ID of the API key to update. in: path - name: user_id + name: apikey_id required: true type: string - - description: A list of IDs of the groups to update. + - description: New API key attributes to store. in: body name: body required: true schema: - $ref: '#/definitions/GroupIdList' + $ref: '#/definitions/ApiKeyUpdateReq' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/UserInfoResp' + $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data. + description: Error in input data, for example, invalid API key name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16156,20 +18595,29 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. + description: Forbidden. Only the owner of the API key or an administrator + can update an API key. schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account, user, or group with that ID does not exist. + description: An API key with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove user from groups. + summary: Update API key details. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use PUT https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/accounts/{account_id}/users/{user_id}/validate-email: - post: - description: 'Validate user email. + /v3/api-keys/{apikey_id}/groups: + delete: + consumes: + - application/json + deprecated: true + description: 'Remove API key from groups. Note: This endpoint is restricted to administrators. @@ -16178,29 +18626,42 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/validate-email + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: validateAccountUserEmail + operationId: removeApiKeyFromGroups parameters: - - description: Account ID. + - description: The ID of the API key to remove from the group. in: path - name: account_id + name: apikey_id required: true type: string - - description: The ID of the user. - in: path - name: user_id + - description: A list of IDs of the groups to update. + in: body + name: body required: true - type: string + schema: + items: + type: string + type: array produces: - application/json responses: - '204': - description: Email validation successfully requested. + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -16210,28 +18671,36 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An account or user with the specified ID does not exist. + description: An API key with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Validate the user email. + summary: Remove API key from groups. tags: - - Tenant accounts - users + - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/remove/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys: get: - description: 'Retrieve an array of API keys, optionally filtered by the owner. + deprecated: true + description: 'Retrieve an array of policy groups associated with an API key. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups + \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getAllApiKeys + operationId: getGroupsOfApikey parameters: - default: 50 description: The number of results to return (2-1000). Default 50. @@ -16240,14 +18709,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -16258,18 +18727,10 @@ paths: name: include required: false type: string - - description: API key filter. Do not include the private portion of the API - key (the last 32 characters). - in: query - name: key__eq - required: false - type: string - - description: 'Owner name filter. - - Note: This parameter is restricted to administrators.' - in: query - name: owner__eq - required: false + - description: The ID of the API key. + in: path + name: apikey_id + required: true type: string produces: - application/json @@ -16277,7 +18738,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/ApiKeyInfoRespList' + $ref: '#/definitions/GroupSummaryList' '401': description: Authentication failure. schema: @@ -16286,50 +18747,66 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get all API keys. + '404': + description: An API key with the given ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get policy groups of an API key. tags: - Account - API keys - x-filter: - key: - - eq - owner: - - eq + x-deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: consumes: - application/json - description: 'Create a new API key. + deprecated: true + description: 'Add API key to groups. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys -d ''{"name": - "MyKey1"}'' \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups + \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ - -H ''content-type: application/json'' + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: createApiKey + operationId: addApiKeyToGroups parameters: - - description: The details of the API key to create. + - description: The ID of the API key to add to the group. + in: path + name: apikey_id + required: true + type: string + - description: A list of IDs of the groups to update. in: body name: body required: true schema: - $ref: '#/definitions/ApiKeyInfoReq' + items: + type: string + type: array produces: - application/json responses: - '201': - description: New entity created. + '200': + description: Successful operation. schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, missing API key name. + description: Error in input data. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16340,26 +18817,60 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Create a new API key. + '404': + description: A group or API key with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API key to a list of groups. tags: - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/add/ + end_of_life_at: '2020-07-11T11:04:57+00:00' + issued_at: '2019-07-11T11:04:57+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/me: - get: - description: 'Retrieve details of current API key. + /v3/api-keys/{apikey_id}/groups/add: + post: + consumes: + - application/json + deprecated: true + description: 'Add API key to groups. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/add + \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: getMyApiKey - parameters: [] + operationId: addApiKeyToListedGroups + parameters: + - description: The ID of the API key to add to the group. + in: path + name: apikey_id + required: true + type: string + - description: A list of IDs of the groups to update. + in: body + name: body + required: true + schema: + $ref: '#/definitions/GroupIdList' produces: - application/json responses: @@ -16367,6 +18878,10 @@ paths: description: Successful operation. schema: $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: @@ -16375,35 +18890,60 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get current API key. + '404': + description: A group or API key with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The API key is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add API key to a list of groups. tags: - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups/add + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: - description: 'Update API key details. + /v3/api-keys/{apikey_id}/groups/remove: + post: + consumes: + - application/json + deprecated: true + description: 'Remove API key from groups. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X PUT https://api.us-east-1.mbedcloud.com/v3/api-keys/me \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/remove + \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''{"name": "TestApiKey25"}'' + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: updateMyApiKey + operationId: removeApiKeyFromListedGroups parameters: - - description: New API key attributes to store. + - description: The ID of the API key to remove from the group. + in: path + name: apikey_id + required: true + type: string + - description: A list of IDs of the groups to update. in: body name: body required: true schema: - $ref: '#/definitions/ApiKeyUpdateReq' + $ref: '#/definitions/GroupIdList' produces: - application/json responses: @@ -16412,7 +18952,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data, for example, invalid API key name. + description: Error in input data. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16423,39 +18963,48 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Update API key details. + '404': + description: An API key with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove API key from groups. tags: - Account - API keys + x-deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups/remove + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/me/groups: - delete: - consumes: - - application/json + /v3/api-keys/{apikey_id}/reset-secret: + post: deprecated: true - description: 'Remove API key from groups. + description: 'Reset the secret key of the API key. **Example:** ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups \ - - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/reset-secret + \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -H ''Authorization: Bearer '' ```' - operationId: removeMyApiKeyListedGroups + operationId: resetSecret parameters: - - description: A list of IDs of groups to update. + - description: The ID of the API key to reset. + in: path + name: apikey_id + required: true + type: string + - description: New API key attributes to be stored. in: body name: body - required: true + required: false schema: - $ref: '#/definitions/GroupIdList' + $ref: '#/definitions/ApiKeyUpdateReq' produces: - application/json responses: @@ -16464,7 +19013,7 @@ paths: schema: $ref: '#/definitions/ApiKeyInfoResp' '400': - description: Error in input data. + description: Error in input data format. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16475,30 +19024,36 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove API key from groups. + '404': + description: An API key with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Reset the secret key. tags: - Account - API keys x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/remove/ - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' + comment: This endpoint is deprecated. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/applications: get: - description: 'Retrieve an array of policy groups associated with the current - API key. + description: 'Retrieve an array of applications. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/applications \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getGroupsOfMyApiKey + operationId: getAllApplications parameters: - default: 50 description: The number of results to return (2-1000). Default 50. @@ -16507,14 +19062,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -16525,13 +19080,18 @@ paths: name: include required: false type: string + - description: Status filter. + in: query + name: status__eq + required: false + type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummaryList' + $ref: '#/definitions/ApplicationList' '401': description: Authentication failure. schema: @@ -16540,49 +19100,50 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Get policy groups of the current API key. + summary: Get all applications. tags: - - Account - API keys + - Account - applications + x-filter: + status: + - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: consumes: - application/json - deprecated: true - description: 'Add API key to groups. + description: 'Create a new application. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups \ - - -H ''Authorization: Bearer '' \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/applications -d ''{"name": + "MyApplication1"}'' \ - -H ''content-type: application/json'' \ + -H ''Authorization: Bearer '' \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -H ''content-type: application/json'' ```' - operationId: addMyApiKeyToGroups + operationId: createApplication parameters: - - description: A list of IDs of the groups to update. + - description: The details of the application to create. in: body name: body required: true schema: - items: - type: string - type: array + $ref: '#/definitions/Application' produces: - application/json responses: - '200': - description: Successful operation. + '201': + description: New entity created. schema: - $ref: '#/definitions/ApiKeyInfoResp' + $ref: '#/definitions/Application' '400': - description: Error in input data. + description: Error in input data, for example, missing name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16590,120 +19151,88 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. Adding API key to the 'Administrators' group is - restricted to administrators. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: The API key is a member of the group already. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Add API key to a list of groups. + summary: Create a new application. tags: - - Account - API keys - x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/add/ - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' - links: [] + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/me/groups/add: - post: - consumes: - - application/json - description: 'Add API key to groups. + /v3/applications/{application_id}: + delete: + description: 'Delete the application. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/add/ + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/applications/{application_id} \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -H ''Authorization: Bearer '' ```' - operationId: addMyApiKeyToListedGroups + operationId: deleteApplication parameters: - - description: A list of IDs of the groups to update. - in: body - name: body + - description: The ID of the application to delete. + in: path + name: application_id required: true - schema: - $ref: '#/definitions/GroupIdList' + type: string produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/ApiKeyInfoResp' - '400': - description: Error in input data. - schema: - $ref: '#/definitions/ErrorResponse' + '204': + description: Deleted successfully. '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. Adding API key to the 'Administrators' group is - restricted to administrators. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - '409': - description: The API key is a member of the group already. + '404': + description: An application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Add API key to a list of groups. + summary: Delete application. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/me/groups/remove: - post: - consumes: - - application/json - description: 'Remove API key from groups. + get: + description: 'Retrieve details of an application. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/me/groups/remove + curl -X GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id} \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -H ''Authorization: Bearer '' ```' - operationId: removeMyApiKeyFromListedGroups + operationId: getApplication parameters: - - description: A list of IDs of groups to update. - in: body - name: body + - description: The ID of the application to retrieve. + in: path + name: application_id required: true - schema: - $ref: '#/definitions/GroupIdList' + type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/ApiKeyInfoResp' - '400': - description: Error in input data. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/Application' '401': description: Authentication failure. schema: @@ -16712,81 +19241,133 @@ paths: description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove API key from groups. + '404': + description: An application with the specified ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get application. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/{apikey_id}: - delete: - description: 'Delete the API key. + put: + description: 'Update application details. + Note: This endpoint is restricted to administrators. - **Example:** - ``` + **Example:** - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} + `curl -X PUT https://api.us-east-1.mbedcloud.com/v3/applications/{application_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{"name": "TestApplication25"}'' ```' - operationId: deleteApiKey + operationId: updateApplication parameters: - - description: The ID of the API key to delete. + - description: The ID of the application to update. in: path - name: apikey_id + name: application_id required: true type: string + - description: New applicationattributes to store. + in: body + name: body + required: true + schema: + $ref: '#/definitions/Application' produces: - application/json responses: - '204': - description: Deleted successfully. + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApiKeyInfoResp' + '400': + description: Error in input data, for example, invalid display name. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Authentication failure. schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. Only the owner of the API key or an administrator - can delete an API key. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: The API key with the specified ID does not exist. + description: An application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Delete API key. + summary: Update applicationdetails. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/applications/{application_id}/access-keys: get: - description: 'Retrieve details of an API key. + description: 'Retrieve an array of access keys associated with the application. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ + curl -X GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys + \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getApiKey + operationId: getAllApplicationAccessKeys parameters: - - description: The ID of the API key to retrieve. + - description: The ID of the application. in: path - name: apikey_id + name: application_id required: true type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + - description: Status filter. + in: query + name: status__eq + required: false + type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/ApiKeyInfoResp' + $ref: '#/definitions/AccessKeyList' '401': description: Authentication failure. schema: @@ -16796,50 +19377,58 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: API key with the specified ID does not exist. + description: An application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get API key. + summary: Get all access keys associated with the application. tags: - - Account - API keys + - Account - applications + x-filter: + status: + - eq x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - put: - description: 'Update API key details. + post: + consumes: + - application/json + description: 'Create a new access key for the application. + + Note: This endpoint is restricted to administrators. **Example:** - `curl -X PUT https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ + ``` - -H ''Authorization: Bearer '' \ + curl -X POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys + -d ''{"name": "MyKey1"}'' \ - -H ''content-type: application/json'' \ + -H ''Authorization: Bearer '' \ - -d ''{"name": "TestApiKey25"}'' + -H ''content-type: application/json'' ```' - operationId: updateApiKey + operationId: createApplicationAccessKey parameters: - - description: The ID of the API key to update. + - description: The ID of the application. in: path - name: apikey_id + name: application_id required: true type: string - - description: New API key attributes to store. + - description: The details of the access key to create. in: body name: body required: true schema: - $ref: '#/definitions/ApiKeyUpdateReq' + $ref: '#/definitions/AccessKey' produces: - application/json responses: - '200': - description: Successful operation. + '201': + description: New entity created. schema: - $ref: '#/definitions/ApiKeyInfoResp' + $ref: '#/definitions/AccessKey' '400': - description: Error in input data, for example, invalid API key name. + description: Error in input data, for example, missing display name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -16847,24 +19436,20 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden. Only the owner of the API key or an administrator - can update an API key. + description: Forbidden. schema: $ref: '#/definitions/ErrorResponse' '404': - description: The API key with the specified ID does not exist. + description: An application with the specified ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Update API key details. + summary: Create a new applicationaccess key. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/{apikey_id}/groups: + /v3/applications/{application_id}/access-keys/{access_key_id}: delete: - consumes: - - application/json - deprecated: true - description: 'Remove API key from groups. + description: 'Delete the access key associated with the application. Note: This endpoint is restricted to administrators. @@ -16873,42 +19458,29 @@ paths: ``` - curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups + curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -H ''Authorization: Bearer '' ```' - operationId: removeApiKeyFromGroups + operationId: deleteApplicationAccessKey parameters: - - description: The ID of the API key to remove from the group. + - description: The ID of the application. in: path - name: apikey_id + name: application_id required: true type: string - - description: A list of IDs of the groups to update. - in: body - name: body + - description: The ID of the access key to delete. + in: path + name: access_key_id required: true - schema: - items: - type: string - type: array + type: string produces: - application/json responses: - '200': - description: Successful operation. - schema: - $ref: '#/definitions/ApiKeyInfoResp' - '400': - description: Error in input data. - schema: - $ref: '#/definitions/ErrorResponse' + '204': + description: Deleted successfully. '401': description: Authentication failure. schema: @@ -16918,20 +19490,16 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An API key with that ID does not exist. + description: An application or access key with the specified ID does not + exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove API key from groups. + summary: Delete access key associated with the application. tags: - - Account - API keys - x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/remove/ - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' - links: [] + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: - description: 'Retrieve an array of policy groups associated with an API key. + description: 'Retrieve details of an access key associated with the application. Note: This endpoint is restricted to administrators. @@ -16940,42 +19508,22 @@ paths: ``` - curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups + curl -X GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' - operationId: getGroupsOfApikey + operationId: getApplicationAccessKey parameters: - - default: 50 - description: The number of results to return (2-1000). Default 50. - format: int32 - in: query - name: limit - required: false - type: integer - - description: The entity ID to fetch after the given one. - in: query - name: after - required: false - type: string - - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' - in: query - name: order - required: false - type: string - - description: 'Comma-separated additional data to return. Currently supported: - total_count.' - in: query - name: include - required: false + - description: The ID of the application. + in: path + name: application_id + required: true type: string - - description: The ID of the API key. + - description: The ID of the access key to retrieve. in: path - name: apikey_id + name: access_key_id required: true type: string produces: @@ -16984,7 +19532,7 @@ paths: '200': description: Successful operation. schema: - $ref: '#/definitions/GroupSummaryList' + $ref: '#/definitions/AccessKey' '401': description: Authentication failure. schema: @@ -16994,60 +19542,59 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An API key with the given ID does not exist. + description: An application or access key with the specified ID does not + exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Get policy groups of an API key. + summary: Get access key. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - post: - consumes: - - application/json - deprecated: true - description: 'Add API key to groups. + put: + description: 'Update access key details. Note: This endpoint is restricted to administrators. **Example:** - ``` - - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups + `curl -X PUT https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -d ''{"name": "TestAccessKey"}'' ```' - operationId: addApiKeyToGroups + operationId: updateApplicationAccessKey parameters: - - description: The ID of the API key to add to the group. + - description: The ID of the application. in: path - name: apikey_id + name: application_id required: true type: string - - description: A list of IDs of the groups to update. + - description: The ID of the access key to update. + in: path + name: access_key_id + required: true + type: string + - description: New access key attributes to store. in: body name: body required: true schema: - items: - type: string - type: array + $ref: '#/definitions/AccessKey' produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/ApiKeyInfoResp' + $ref: '#/definitions/AccessKey' '400': - description: Error in input data. + description: Error in input data, for example, invalid display name. schema: $ref: '#/definitions/ErrorResponse' '401': @@ -17059,27 +19606,17 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: A group or API key with that ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: The API key is a member of the group already. + description: An application or access key with the specified ID does not + exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Add API key to a list of groups. + summary: Update access key details. tags: - - Account - API keys - x-deprecation: - comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/add/ - end_of_life_at: '2020-07-11T11:04:57+00:00' - issued_at: '2019-07-11T11:04:57+00:00' - links: [] + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/{apikey_id}/groups/add: - post: - consumes: - - application/json - description: 'Add API key to groups. + /v3/applications/{application_id}/groups: + get: + description: 'Retrieve an array of policy groups associated with an application. Note: This endpoint is restricted to administrators. @@ -17088,40 +19625,51 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/add + curl -X GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups \ - -H ''Authorization: Bearer '' \ - - -H ''content-type: application/json'' \ - - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -H ''Authorization: Bearer '' ```' - operationId: addApiKeyToListedGroups + operationId: getGroupsOfApplication parameters: - - description: The ID of the API key to add to the group. + - description: The ID of the application. in: path - name: apikey_id + name: application_id required: true type: string - - description: A list of IDs of the groups to update. - in: body - name: body - required: true - schema: - $ref: '#/definitions/GroupIdList' + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string produces: - application/json responses: '200': description: Successful operation. schema: - $ref: '#/definitions/ApiKeyInfoResp' - '400': - description: Error in input data. - schema: - $ref: '#/definitions/ErrorResponse' + $ref: '#/definitions/GroupSummaryList' '401': description: Authentication failure. schema: @@ -17131,22 +19679,18 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: A group or API key with that ID does not exist. - schema: - $ref: '#/definitions/ErrorResponse' - '409': - description: The API key is a member of the group already. + description: An application with the given ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Add API key to a list of groups. + summary: Get policy groups of an application. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/{apikey_id}/groups/remove: + /v3/applications/{application_id}/groups/add: post: consumes: - application/json - description: 'Remove API key from groups. + description: 'Add application to groups. Note: This endpoint is restricted to administrators. @@ -17155,21 +19699,21 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups/remove + curl -X POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups/add \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: removeApiKeyFromListedGroups + operationId: addApplicationToGroups parameters: - - description: The ID of the API key to remove from the group. + - description: The ID of the application to add to the group. in: path - name: apikey_id + name: application_id required: true type: string - description: A list of IDs of the groups to update. @@ -17181,10 +19725,8 @@ paths: produces: - application/json responses: - '200': + '204': description: Successful operation. - schema: - $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data. schema: @@ -17198,48 +19740,58 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An API key with that ID does not exist. + description: A group or application with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Remove API key from groups. + '409': + description: The application is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add application to a list of groups. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml - /v3/api-keys/{apikey_id}/reset-secret: + /v3/applications/{application_id}/groups/remove: post: - description: 'Reset the secret key of the API key. + consumes: + - application/json + description: 'Remove application from groups. + + Note: This endpoint is restricted to administrators. **Example:** ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/reset-secret + curl -X POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups/remove \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' ```' - operationId: resetSecret + operationId: removeApplicationFromGroups parameters: - - description: The ID of the API key to reset. + - description: The ID of the application to remove from the group. in: path - name: apikey_id + name: application_id required: true type: string - - description: New API key attributes to be stored. + - description: A list of IDs of the groups to update. in: body name: body - required: false + required: true schema: - $ref: '#/definitions/ApiKeyUpdateReq' + $ref: '#/definitions/GroupIdList' produces: - application/json responses: - '200': + '204': description: Successful operation. - schema: - $ref: '#/definitions/ApiKeyInfoResp' '400': description: Error in input data, for example, invalid API key name. schema: @@ -17254,12 +19806,12 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: An API key with the specified ID does not exist. + description: An application with that ID does not exist. schema: $ref: '#/definitions/ErrorResponse' - summary: Reset the secret key. + summary: Remove application from groups. tags: - - Account - API keys + - Account - applications x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/billing-report: get: @@ -17878,7 +20430,7 @@ paths: **Example usage:** `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors -H - ''Authorization: Bearer API_KEY''`' + ''Authorization: Bearer ''`' operationId: deleteAllColors parameters: [] produces: @@ -17912,7 +20464,7 @@ paths: **Example usage:** `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark - -H ''Authorization: Bearer API_KEY''`' + -H ''Authorization: Bearer ''`' operationId: deleteAllDarkColors parameters: [] produces: @@ -17946,7 +20498,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getDarkColors @@ -17976,8 +20528,8 @@ paths: description: "Update an array of dark theme branding colors.\nNote: This\ \ endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X\ \ PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark \\\n-H 'Authorization:\ - \ Bearer ' \\\n-H 'content-type: application/json' \\\n'[{ \"reference\"\ - : \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" + \ Bearer ' \\\n-H 'content-type: application/json' \\\n'[{ \"\ + reference\": \"primary\",\n \"color\": \"#f3f93e\" }]'\n```" operationId: bulkSetDarkColors parameters: - description: List of branding colors. @@ -18023,7 +20575,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: resetDarkColor @@ -18066,7 +20618,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getDarkColor @@ -18115,7 +20667,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/primary \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -18173,7 +20725,7 @@ paths: **Example usage:** `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light - -H ''Authorization: Bearer API_KEY''`' + -H ''Authorization: Bearer ''`' operationId: deleteAllLightColors parameters: [] produces: @@ -18207,7 +20759,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getLightColors @@ -18237,7 +20789,7 @@ paths: description: "Update an array of light theme branding colors.\nNote:\ \ This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl\ \ -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \\\n\ - -H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ + -H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n'[{ \"reference\": \"primary\",\n \"color\": \"purple\" }]'\n```" operationId: bulkSetLightColors parameters: @@ -18284,7 +20836,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: resetLightColor @@ -18327,7 +20879,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getLightColor @@ -18376,7 +20928,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -18434,7 +20986,7 @@ paths: **Example usage:** `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-images -H - ''Authorization: Bearer API_KEY''`' + ''Authorization: Bearer ''`' operationId: deleteAllImages parameters: [] produces: @@ -18468,7 +21020,7 @@ paths: **Example usage:** `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-images/dark - -H ''Authorization: Bearer API_KEY''`' + -H ''Authorization: Bearer ''`' operationId: deleteAllDarkImages parameters: [] produces: @@ -18500,7 +21052,7 @@ paths: `curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAllDarkImageData @@ -18536,7 +21088,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getDarkImageData @@ -18584,7 +21136,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference}/clear \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: clearDarkImage @@ -18634,7 +21186,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference}/upload \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: image/png'' --data-binary ''@myimage.png'' @@ -18752,7 +21304,7 @@ paths: **Example usage:** `curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-images/light - -H ''Authorization: Bearer API_KEY''`' + -H ''Authorization: Bearer ''`' operationId: deleteAllLightImages parameters: [] produces: @@ -18786,7 +21338,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAllLightImageData @@ -18822,7 +21374,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getLightImageData @@ -18870,7 +21422,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: clearLightImage @@ -18920,7 +21472,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/upload \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: image/png'' --data-binary ''@myimage.png'' @@ -25640,14 +28192,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -25755,7 +28307,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Identity provider not found. + description: An identity provider not found. schema: $ref: '#/definitions/ErrorResponse' summary: Delete an identity provider by ID. @@ -25789,7 +28341,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Identity provider not found. + description: An identity provider not found. schema: $ref: '#/definitions/ErrorResponse' summary: Get identity provider. @@ -25843,7 +28395,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Identity provider not found. + description: An identity provider not found. schema: $ref: '#/definitions/ErrorResponse' summary: Update an existing identity provider. @@ -25884,7 +28436,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Identity provider not found. + description: An identity provider not found. schema: $ref: '#/definitions/ErrorResponse' summary: Delete the service provider certificate. @@ -25936,7 +28488,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Identity provider not found. + description: An identity provider not found. schema: $ref: '#/definitions/ErrorResponse' summary: Generate a new service provider certificate. @@ -25982,7 +28534,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Identity provider not found. + description: An identity provider not found. schema: $ref: '#/definitions/ErrorResponse' summary: Refreshes the OIDC signing keys. @@ -26250,7 +28802,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAllGroups @@ -26262,14 +28814,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -26321,7 +28873,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' -d ''{"name": "MyGroup1"}'' @@ -26375,7 +28927,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteGroup @@ -26417,7 +28969,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getGroupSummary @@ -26465,7 +29017,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -26532,7 +29084,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -26594,11 +29146,12 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -d ''{ "apikeys": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: removeApiKeysFromGroup @@ -26648,6 +29201,7 @@ paths: links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml get: + deprecated: true description: 'Retrieve an array of API keys associated with a policy group. @@ -26658,7 +29212,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getApiKeysOfGroup @@ -26675,14 +29229,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -26715,6 +29269,11 @@ paths: summary: Get the API keys of a policy group. tags: - Account - policy groups + x-deprecation: + comment: This endpoint is deprecated, GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml post: deprecated: true @@ -26728,7 +29287,12 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "apikeys" : ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: addApiKeysToGroup @@ -26783,6 +29347,7 @@ paths: x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/policy-groups/{group_id}/api-keys/add: post: + deprecated: true description: 'Add API keys to the group. @@ -26790,10 +29355,15 @@ paths: ``` - curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys/add \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "apikeys" : ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: addListedApiKeysToGroup @@ -26840,11 +29410,17 @@ paths: summary: Add API Keys to the group. tags: - Account - policy groups + x-deprecation: + comment: This endpoint is deprecated, POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications/add + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/policy-groups/{group_id}/api-keys/remove: post: consumes: - application/json + deprecated: true description: 'Remove API keys from groups. @@ -26855,11 +29431,12 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys/remove \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -d ''{ "apikeys" : ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: removeListedApiKeysFromGroup @@ -26902,6 +29479,208 @@ paths: summary: Remove API keys from a group. tags: - Account - policy groups + x-deprecation: + comment: This endpoint is deprecated, POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications/remove + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/policy-groups/{group_id}/applications: + get: + description: 'Retrieve an array of applications associated with a policy group. + + + **Example:** + + ``` + + curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications + \ + + -H ''Authorization: Bearer '' + + ```' + operationId: getApplicationsOfGroup + parameters: + - description: The ID of the group. + in: path + name: group_id + required: true + type: string + - default: 50 + description: The number of results to return (2-1000). Default 50. + format: int32 + in: query + name: limit + required: false + type: integer + - description: The entity ID to retrieve after the given one. + in: query + name: after + required: false + type: string + - default: ASC + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' + in: query + name: order + required: false + type: string + - description: 'Comma-separated additional data to return. Currently supported: + total_count.' + in: query + name: include + required: false + type: string + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/ApplicationList' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Get the applications of a policy group. + tags: + - Account - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/policy-groups/{group_id}/applications/add: + post: + description: 'Add applications to the group. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "applications": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' + + ```' + operationId: addListedApplicationsToGroup + parameters: + - description: The ID of the group. + in: path + name: group_id + required: true + type: string + - description: A list of applications to add to the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the group Id does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: The application is a member of the group already. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Add applications to the group. + tags: + - Account - policy groups + x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml + /v3/policy-groups/{group_id}/applications/remove: + post: + consumes: + - application/json + description: 'Remove applications from groups. + + + **Example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications/remove + \ + + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "applications": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' + + ```' + operationId: removeListedApplicationsFromGroup + parameters: + - description: The ID of the group. + in: path + name: group_id + required: true + type: string + - description: A list of applications to remove from the group. + in: body + name: body + required: true + schema: + $ref: '#/definitions/SubjectList' + produces: + - application/json + responses: + '200': + description: Successful operation. + schema: + $ref: '#/definitions/GroupSummary' + '400': + description: Error in input data, for example, the array of applications + is missing. + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Authentication failure. + schema: + $ref: '#/definitions/ErrorResponse' + '403': + description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: A group with that ID does not exist. + schema: + $ref: '#/definitions/ErrorResponse' + summary: Remove applications from a group. + tags: + - Account - policy groups x-origin: /home/circleci/project/auth/public/iam-identity-swagger.yaml /v3/policy-groups/{group_id}/users: delete: @@ -26920,11 +29699,12 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -d ''{ "users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: removeUsersFromGroup @@ -26986,7 +29766,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getUsersOfGroup @@ -27003,14 +29783,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -27079,7 +29859,12 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: addUsersToGroup. @@ -27145,7 +29930,12 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users/add \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' \ + + -H ''content-type: application/json'' \ + + -d ''{ "users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: addListedUsersToGroup. @@ -27208,11 +29998,12 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users/remove \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ - -d ''["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"]'' + -d ''{ "users": ["0162056a9a1586f30242590700000000","0117056a9a1586f30242590700000000"] + }'' ```' operationId: removeListedUsersFromGroup @@ -27707,7 +30498,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAllCertificates @@ -27719,14 +30510,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -27856,7 +30647,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -27888,7 +30679,8 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '403': - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden, only available for administrators of commercial + accounts. schema: $ref: '#/definitions/ErrorResponse' '409': @@ -27911,7 +30703,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteCertificate @@ -27935,7 +30727,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Certificate not found. + description: A certificate not found. schema: $ref: '#/definitions/ErrorResponse' summary: Delete a trusted certificate by ID. @@ -27953,7 +30745,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getCertificate @@ -27979,7 +30771,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Certificate not found. + description: A certificate not found. schema: $ref: '#/definitions/ErrorResponse' summary: Get a trusted certificate. @@ -27999,7 +30791,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -28039,7 +30831,7 @@ paths: schema: $ref: '#/definitions/ErrorResponse' '404': - description: Certificate not found. + description: A certificate not found. schema: $ref: '#/definitions/ErrorResponse' '409': @@ -29087,7 +31879,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAllInvitations @@ -29099,14 +31891,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -29152,7 +31944,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/user-invitations \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -29204,7 +31996,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteInvitation @@ -29248,7 +32040,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getInvitation @@ -29294,7 +32086,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getAllUsers @@ -29306,14 +32098,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -29393,7 +32185,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/users?action=invite \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -29454,7 +32246,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteUser @@ -29501,7 +32293,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getUser @@ -29548,7 +32340,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -29616,7 +32408,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -29683,7 +32475,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getGroupsOfUser @@ -29695,14 +32487,14 @@ paths: name: limit required: false type: integer - - description: The entity ID to fetch after the given one. + - description: The entity ID to retrieve after the given one. in: query name: after required: false type: string - default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' in: query name: order required: false @@ -29757,7 +32549,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -29831,7 +32623,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups/add \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -29898,7 +32690,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups/remove \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 45f9c683a..3121ab572 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -1070,13 +1070,13 @@ "primary_key_field": "id", "methods": [ { - "description": "Retrieve an array of API keys, optionally filtered by the owner.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys, optionally filtered by the owner.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -1128,7 +1128,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -1163,7 +1163,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -1327,7 +1327,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -1597,7 +1597,12 @@ "eq" ] }, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -1625,7 +1630,7 @@ "_key": "api_keys" }, { - "description": "Create a new account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"display_name\": \"MyAccount1\", \"aliases\": [ \"my-account\" ], \"admin_name\": \"accountAdmin1\", \"email\": \"example_admin@myaccount.info\", \"country\": \"United Kingdom\", \"end_market\": \"Smart City\", \"address_line1\": \"110 Fulbourn Rd\", \"city\": \"Cambridge\", \"contact\": \"J. Doe\", \"company\": \"Arm\"}'\n```", + "description": "Create a new account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"display_name\": \"MyAccount1\", \"aliases\": [ \"my-account\" ], \"admin_name\": \"accountAdmin1\", \"email\": \"example_admin@myaccount.info\", \"country\": \"United Kingdom\", \"end_market\": \"Smart City\", \"address_line1\": \"110 Fulbourn Rd\", \"city\": \"Cambridge\", \"contact\": \"J. Doe\", \"company\": \"Arm\"}'\n```", "field_renames": [], "fields": [ { @@ -4286,7 +4291,7 @@ "_key": "create" }, { - "description": "Retrieve dark theme branding colors for an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve dark theme branding colors for an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -4320,7 +4325,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -4705,7 +4710,7 @@ "_key": "dark_theme_branding_colors" }, { - "description": "Retrieve the metadata of all dark theme branding images.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the metadata of all dark theme branding images.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -4739,7 +4744,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -5146,7 +5151,7 @@ "_key": "dark_theme_branding_images" }, { - "description": "Retrieve light theme branding colors for an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve light theme branding colors for an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -5180,7 +5185,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -5565,7 +5570,7 @@ "_key": "light_theme_branding_colors" }, { - "description": "Retrieve the metadata of all light theme branding images.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the metadata of all light theme branding images.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -5599,7 +5604,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -6006,13 +6011,13 @@ "_key": "light_theme_branding_images" }, { - "description": "Retrieve an array of tenant accounts, optionally filtered by status and tier level.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of tenant accounts, optionally filtered by status and tier level.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -6111,7 +6116,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -7645,7 +7650,7 @@ "_key": "list" }, { - "description": "Retrieve information about the account.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/me?include=policies \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve information about the account.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/me?include=policies \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -9242,7 +9247,7 @@ "_key": "me" }, { - "description": "Retrieve detailed information about an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve detailed information about an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -10922,13 +10927,13 @@ "_key": "read" }, { - "description": "Retrieve an array of trusted certificates.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of trusted certificates.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -10980,7 +10985,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -11015,7 +11020,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -11226,7 +11231,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -11334,7 +11339,7 @@ "_key": "401" }, { - "description": "Forbidden, only available for admins of commercial accounts.", + "description": "Forbidden, only available for administrators of commercial accounts.", "schema": { "type": "object", "required": [ @@ -11558,7 +11563,7 @@ "_key": "trusted_certificates" }, { - "description": "Update an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"phone_number\": \"12345678\"}'\n```", + "description": "Update an account.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"phone_number\": \"12345678\"}'\n```", "field_renames": [], "fields": [ { @@ -13678,13 +13683,13 @@ "_key": "update" }, { - "description": "Retrieve an array of active user invitations.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of active user invitations.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -13724,7 +13729,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -13759,7 +13764,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -13964,7 +13969,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -14258,13 +14263,13 @@ "_key": "user_invitations" }, { - "description": "Retrieve an array of users.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -14316,7 +14321,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -14351,7 +14356,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -14795,7 +14800,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -15979,7 +15984,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a new API key.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys -d '{\"name\": \"MyKey1\"}' \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\n```", + "description": "Create a new API key.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys -d '{\"name\": \"MyKey1\"}' \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\n```", "field_renames": [], "fields": [ { @@ -16409,7 +16414,12 @@ "type": "api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -16434,7 +16444,7 @@ "_key": "create" }, { - "description": "Delete the API key.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete the API key.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -16604,7 +16614,7 @@ "_key": "403" }, { - "description": "The API key with the specified ID does not exist.", + "description": "An API key with the specified ID does not exist.", "schema": { "type": "object", "required": [ @@ -16686,7 +16696,12 @@ "type": "api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use DELETE https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id}", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -16704,13 +16719,13 @@ "_key": "delete" }, { - "description": "Retrieve an array of API keys, optionally filtered by the owner.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys, optionally filtered by the owner.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -16750,7 +16765,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -16785,7 +16800,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -17128,7 +17143,12 @@ "eq" ] }, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -17156,7 +17176,7 @@ "_key": "list" }, { - "description": "Retrieve details of current API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve details of current API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [], "method": "get", @@ -17459,7 +17479,12 @@ "type": "api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated.", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -17489,13 +17514,13 @@ "_key": "me" }, { - "description": "Retrieve an array of policy groups associated with an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -17547,7 +17572,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -17582,7 +17607,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -17620,8 +17645,21 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -17717,7 +17755,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -17980,7 +18018,12 @@ "type": "policy_group" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -18004,7 +18047,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve details of an API key.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -18311,7 +18354,7 @@ "_key": "403" }, { - "description": "API key with the specified ID does not exist.", + "description": "An API key with the specified ID does not exist.", "schema": { "type": "object", "required": [ @@ -18393,7 +18436,12 @@ "type": "api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id}", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -18421,7 +18469,7 @@ "_key": "read" }, { - "description": "Update API key details.\n\n**Example:**\n`curl -X PUT https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", + "description": "Update API key details.\n\n**Example:**\n`curl -X PUT https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", "field_renames": [], "fields": [ { @@ -18854,7 +18902,7 @@ "_key": "403" }, { - "description": "The API key with the specified ID does not exist.", + "description": "An API key with the specified ID does not exist.", "schema": { "type": "object", "required": [ @@ -18936,7 +18984,12 @@ "type": "api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use PUT https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id}", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -26821,7 +26874,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -27110,7 +27163,7 @@ "_key": "delete" }, { - "description": "Retrieve the dark theme branding colors.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the dark theme branding colors.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -27140,7 +27193,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -27449,7 +27502,7 @@ "_key": "list" }, { - "description": "Retrieve the requested dark theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the requested dark theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -27803,7 +27856,7 @@ "_key": "read" }, { - "description": "Update a dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "description": "Update a dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", "field_renames": [], "fields": [ { @@ -28325,7 +28378,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -28632,7 +28685,7 @@ "_key": "delete" }, { - "description": "Retrieve metadata for all dark theme branding images.\n\n**Example:**\n`curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve metadata for all dark theme branding images.\n\n**Example:**\n`curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -28662,7 +28715,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -28993,7 +29046,7 @@ "_key": "list" }, { - "description": "Retrieve metadata for one account dark theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve metadata for one account dark theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -30492,7 +30545,7 @@ "_key": "create" }, { - "description": "Delete a trusted certificate.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a trusted certificate.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [ { "api_fieldname": "developer_certificate", @@ -30667,7 +30720,7 @@ "_key": "403" }, { - "description": "Certificate not found.", + "description": "A certificate not found.", "schema": { "type": "object", "required": [ @@ -30768,7 +30821,7 @@ "_key": "delete" }, { - "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [ { "api_fieldname": "developer_certificate", @@ -31139,7 +31192,7 @@ "_key": "403" }, { - "description": "Certificate not found.", + "description": "A certificate not found.", "schema": { "type": "object", "required": [ @@ -45673,42 +45726,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -46042,42 +46102,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -46730,7 +46797,7 @@ "_key": "403" }, { - "description": "Identity provider not found.", + "description": "An identity provider not found.", "schema": { "type": "object", "required": [ @@ -46974,42 +47041,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -47382,7 +47456,7 @@ "_key": "403" }, { - "description": "Identity provider not found.", + "description": "An identity provider not found.", "schema": { "type": "object", "required": [ @@ -47676,42 +47750,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -48157,7 +48238,7 @@ "_key": "403" }, { - "description": "Identity provider not found.", + "description": "An identity provider not found.", "schema": { "type": "object", "required": [ @@ -48278,7 +48359,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -48318,7 +48399,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -48353,7 +48434,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -48457,42 +48538,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -49085,42 +49173,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -49493,7 +49588,7 @@ "_key": "403" }, { - "description": "Identity provider not found.", + "description": "An identity provider not found.", "schema": { "type": "object", "required": [ @@ -49747,42 +49842,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -50228,7 +50330,7 @@ "_key": "403" }, { - "description": "Identity provider not found.", + "description": "An identity provider not found.", "schema": { "type": "object", "required": [ @@ -50440,42 +50542,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -50797,42 +50906,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -51278,7 +51394,7 @@ "_key": "403" }, { - "description": "Identity provider not found.", + "description": "An identity provider not found.", "schema": { "type": "object", "required": [ @@ -51484,42 +51600,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -51778,7 +51901,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -52067,7 +52190,7 @@ "_key": "delete" }, { - "description": "Retrieve the light theme branding colors.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the light theme branding colors.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -52097,7 +52220,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -52406,7 +52529,7 @@ "_key": "list" }, { - "description": "Retrieve the requested light theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the requested light theme branding color.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -52776,7 +52899,7 @@ "_key": "read" }, { - "description": "Update light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "description": "Update light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", "field_renames": [], "fields": [ { @@ -53320,7 +53443,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -53627,7 +53750,7 @@ "_key": "delete" }, { - "description": "Retrieve the metadata of all light theme branding images.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the metadata of all light theme branding images.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -53657,7 +53780,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -53988,7 +54111,7 @@ "_key": "list" }, { - "description": "Retrieve metadata for one account light theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve metadata for one account light theme branding image.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -55126,42 +55249,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -55350,6 +55480,7 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "api_fieldname": "email_verified", "readOnly": true, @@ -55359,6 +55490,7 @@ { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "api_fieldname": "family_name", "readOnly": true, @@ -55368,6 +55500,7 @@ { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "api_fieldname": "given_name", "readOnly": true, @@ -55377,6 +55510,7 @@ { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "api_fieldname": "name", "readOnly": true, @@ -55386,6 +55520,7 @@ { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "api_fieldname": "phone_number", "readOnly": true, @@ -55395,6 +55530,7 @@ { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "api_fieldname": "sub", "readOnly": true, @@ -55404,6 +55540,7 @@ { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "api_fieldname": "updated_at", "readOnly": true, @@ -55588,13 +55725,13 @@ "primary_key_field": "id", "methods": [ { - "description": "Retrieve an array of API keys associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys associated with a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -55646,7 +55783,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -55681,7 +55818,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -55845,7 +55982,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -56108,7 +56245,12 @@ "type": "api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated, GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -56132,7 +56274,7 @@ "_key": "api_keys" }, { - "description": "Create a new group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' -d '{\"name\": \"MyGroup1\"}'\n```", + "description": "Create a new group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' -d '{\"name\": \"MyGroup1\"}'\n```", "field_renames": [], "fields": [ { @@ -56144,8 +56286,22 @@ "items": { "type": "string" }, + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This field is deprecated, use 'applications'", + "links": [] + }, "_key": "apikeys" }, + { + "type": "array", + "description": "An array of applicationIDs.", + "items": { + "type": "string" + }, + "_key": "applications" + }, { "type": "array", "description": "An array of user IDs.", @@ -56210,10 +56366,25 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "entity_fieldname": "apikey_count", "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "entity_fieldname": "application_count", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -56599,6 +56770,7 @@ "updated_at", "account_id", "user_count", + "application_count", "apikey_count" ], "group_id": "Accounts", @@ -56612,7 +56784,7 @@ "_key": "create" }, { - "description": "Delete a group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -56882,13 +57054,13 @@ "_key": "delete" }, { - "description": "Retrieve an array of policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -56928,7 +57100,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -56963,7 +57135,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -57001,8 +57173,21 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -57098,7 +57283,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -57319,7 +57504,7 @@ "_key": "list" }, { - "description": "Retrieve a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a policy group.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -57366,10 +57551,25 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "entity_fieldname": "apikey_count", "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "entity_fieldname": "application_count", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -57682,6 +57882,7 @@ "account_id", "name", "user_count", + "application_count", "apikey_count" ], "group_id": "Accounts", @@ -57695,7 +57896,7 @@ "_key": "read" }, { - "description": "Update a group name.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", + "description": "Update a group name.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", "field_renames": [], "fields": [ { @@ -57754,10 +57955,25 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "entity_fieldname": "apikey_count", "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "entity_fieldname": "application_count", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -58142,6 +58358,7 @@ "updated_at", "account_id", "user_count", + "application_count", "apikey_count" ], "group_id": "Accounts", @@ -58155,13 +58372,13 @@ "_key": "update" }, { - "description": "Retrieve an array of users associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -58213,7 +58430,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -58248,7 +58465,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -58692,7 +58909,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -59004,11 +59221,27 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "readOnly": true, "required": false, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "readOnly": true, + "required": false, + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -60265,7 +60498,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", + "description": "Create a new API key. There is no default value for the owner ID, and it must be from the same account where the new API key is created.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyKey1\"}'\n```", "field_renames": [], "fields": [ { @@ -60796,7 +61029,12 @@ "type": "subtenant_api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -60820,7 +61058,7 @@ "_key": "create" }, { - "description": "Delete an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -61084,7 +61322,12 @@ "type": "subtenant_api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id}", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -61102,7 +61345,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of policy groups associated with an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -61120,7 +61363,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -61172,7 +61415,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -61207,7 +61450,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -61245,8 +61488,21 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -61342,7 +61598,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -61605,7 +61861,12 @@ "type": "subtenant_policy_group" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/groups", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -61629,7 +61890,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve details of an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", + "description": "Retrieve details of an API key.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n -H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -62046,7 +62307,12 @@ "type": "subtenant_api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id}", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -62073,7 +62339,7 @@ "_key": "read" }, { - "description": "Update API key details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", + "description": "Update API key details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestApiKey25\"}'\n```", "field_renames": [], "fields": [ { @@ -62616,7 +62882,12 @@ "type": "subtenant_api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id}", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -62779,7 +63050,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -63080,7 +63351,7 @@ "_key": "delete" }, { - "description": "Retrieve the requested dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the requested dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -63462,7 +63733,7 @@ "_key": "read" }, { - "description": "Update a dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", + "description": "Update a dark theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"#f3f93e\" }'\n```", "field_renames": [], "fields": [ { @@ -64017,7 +64288,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to dark theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -64336,7 +64607,7 @@ "_key": "delete" }, { - "description": "Retrieve metadata of one account dark theme branding image.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve metadata of one account dark theme branding image.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -65437,42 +65708,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -65813,42 +66091,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -66593,7 +66878,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "An account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -66851,42 +67136,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -67272,7 +67564,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "An account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -67578,42 +67870,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -68072,7 +68371,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "An account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -68198,7 +68497,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -68238,7 +68537,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -68273,7 +68572,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -68382,42 +68681,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -68670,7 +68976,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -69110,42 +69416,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -69531,7 +69844,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "An account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -69797,42 +70110,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -70291,7 +70611,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "An account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -70491,42 +70811,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -70855,42 +71182,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -71349,7 +71683,7 @@ "_key": "403" }, { - "description": "Account or identity provider not found.", + "description": "An account or identity provider not found.", "schema": { "type": "object", "required": [ @@ -71545,42 +71879,49 @@ { "type": "string", "description": "Custom claim name for 'email_verified'.", + "example": "email_verified", "x-nullable": true, "_key": "email_verified" }, { "type": "string", "description": "Custom claim name for 'family_name'.", + "example": "family_name", "x-nullable": true, "_key": "family_name" }, { "type": "string", "description": "Custom claim name for 'given_name'.", + "example": "given_name", "x-nullable": true, "_key": "given_name" }, { "type": "string", "description": "Custom claim name for 'name'.", + "example": "name", "x-nullable": true, "_key": "name" }, { "type": "string", "description": "Custom claim name for 'phone_number'.", + "example": "phone_number", "x-nullable": true, "_key": "phone_number" }, { "type": "string", "description": "Custom claim name for 'sub'.", + "example": "sub", "x-nullable": true, "_key": "sub" }, { "type": "string", "description": "Custom claim name for 'updated_at'.", + "example": "updated_at", "x-nullable": true, "_key": "updated_at" }, @@ -71810,7 +72151,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Resets the branding color to its light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Resets the branding color to its light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -72111,7 +72452,7 @@ "_key": "delete" }, { - "description": "Retrieve the requested light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference}\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the requested light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference}\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -72493,7 +72834,7 @@ "_key": "read" }, { - "description": "Update a light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", + "description": "Update a light theme branding color.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{ \"color\": \"purple\" }'\n```", "field_renames": [], "fields": [ { @@ -73048,7 +73389,7 @@ "primary_key_field": "reference", "methods": [ { - "description": "Revert an account branding image to light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", + "description": "Revert an account branding image to light theme default.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -73367,7 +73708,7 @@ "_key": "delete" }, { - "description": "Retrieve metadata for one account light theme branding image.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve metadata for one account light theme branding image.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -74389,7 +74730,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Retrieve an array of API keys associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of API keys associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -74407,7 +74748,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -74459,7 +74800,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -74494,7 +74835,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -74658,7 +74999,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -74921,7 +75262,12 @@ "type": "subtenant_api_key" }, "x_filter": {}, - "x_deprecation": null, + "x_deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications", + "links": [] + }, "drop_fields": [ "object", "etag", @@ -74945,7 +75291,7 @@ "_key": "api_keys" }, { - "description": "Create a new group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyGroup1\"}'\n```", + "description": "Create a new group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"MyGroup1\"}'\n```", "field_renames": [], "fields": [ { @@ -74969,8 +75315,22 @@ "items": { "type": "string" }, + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This field is deprecated, use 'applications'", + "links": [] + }, "_key": "apikeys" }, + { + "type": "array", + "description": "An array of applicationIDs.", + "items": { + "type": "string" + }, + "_key": "applications" + }, { "type": "array", "description": "An array of user IDs.", @@ -75035,10 +75395,25 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "entity_fieldname": "apikey_count", "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "entity_fieldname": "application_count", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -75502,6 +75877,7 @@ "created_at", "updated_at", "user_count", + "application_count", "apikey_count" ], "group_id": "Accounts", @@ -75515,7 +75891,7 @@ "_key": "create" }, { - "description": "Delete a group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -75797,7 +76173,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of policy groups.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -75815,7 +76191,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -75855,7 +76231,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -75890,7 +76266,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -75928,8 +76304,21 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -76025,7 +76414,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -76319,7 +76708,7 @@ "_key": "list" }, { - "description": "Retrieve policy group details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve policy group details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -76378,10 +76767,25 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "entity_fieldname": "apikey_count", "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "entity_fieldname": "application_count", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -76699,6 +77103,7 @@ "updated_at", "name", "user_count", + "application_count", "apikey_count" ], "group_id": "Accounts", @@ -76712,7 +77117,7 @@ "_key": "read" }, { - "description": "Update a group name.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", + "description": "Update a group name.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"name\": \"TestGroup2\"}'\n```", "field_renames": [], "fields": [ { @@ -76783,10 +77188,25 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "entity_fieldname": "apikey_count", "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "entity_fieldname": "application_count", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -77176,6 +77596,7 @@ "created_at", "updated_at", "user_count", + "application_count", "apikey_count" ], "group_id": "Accounts", @@ -77189,7 +77610,7 @@ "_key": "update" }, { - "description": "Retrieve an array of users associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users associated with a policy group.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -77207,7 +77628,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -77259,7 +77680,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -77294,7 +77715,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -77738,7 +78159,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -78050,11 +78471,27 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "api_fieldname": "apikey_count", "readOnly": true, "required": false, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "api_fieldname": "application_count", + "readOnly": true, + "required": false, + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -78127,7 +78564,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload new trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", + "description": "Upload new trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", "field_renames": [], "fields": [ { @@ -78605,7 +79042,7 @@ "_key": "401" }, { - "description": "Forbidden, only available for admins of commercial accounts.", + "description": "Forbidden, only available for administrators of commercial accounts.", "schema": { "type": "object", "required": [ @@ -78787,7 +79224,7 @@ "_key": "create" }, { - "description": "Delete a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -78907,7 +79344,7 @@ "_key": "401" }, { - "description": "Forbidden, only available for admins of commercial accounts.", + "description": "Forbidden, only available for administrators of commercial accounts.", "schema": { "type": "object", "required": [ @@ -78980,7 +79417,7 @@ "_key": "403" }, { - "description": "Account or certificate with the given ID not found.", + "description": "An account or certificate with the given ID not found.", "schema": { "type": "object", "required": [ @@ -79489,7 +79926,7 @@ "_key": "get_developer_certificate_info" }, { - "description": "Retrieve a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -79828,7 +80265,7 @@ "_key": "401" }, { - "description": "Forbidden, only available for admins of commercial accounts.", + "description": "Forbidden, only available for administrators of commercial accounts.", "schema": { "type": "object", "required": [ @@ -79901,7 +80338,7 @@ "_key": "403" }, { - "description": "Account or certificate with the given ID not found.", + "description": "An account or certificate with the given ID not found.", "schema": { "type": "object", "required": [ @@ -80017,7 +80454,7 @@ "_key": "read" }, { - "description": "Update a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json' \\\n -d {\"description\": \"very important cert\"}\n ```", + "description": "Update a trusted certificate.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json' \\\n -d {\"description\": \"very important cert\"}\n ```", "field_renames": [], "fields": [ { @@ -80507,7 +80944,7 @@ "_key": "401" }, { - "description": "Forbidden, only available for admins of commercial accounts.", + "description": "Forbidden, only available for administrators of commercial accounts.", "schema": { "type": "object", "required": [ @@ -80909,7 +81346,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create or invite a new user to the account. Only email address is used; other attributes are set in the second step.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Create or invite a new user to the account. Only email address is used; other attributes are set in the second step.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -82011,7 +82448,7 @@ "_key": "create" }, { - "description": "Delete a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -82366,7 +82803,7 @@ "_key": "delete" }, { - "description": "Retrieve an array of policy groups associated with a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -82384,7 +82821,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -82436,7 +82873,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -82471,7 +82908,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -82509,8 +82946,21 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -82606,7 +83056,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -82893,7 +83343,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -83679,7 +84129,7 @@ "_key": "read" }, { - "description": "Update user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", + "description": "Update user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", "field_renames": [], "fields": [ { @@ -84768,7 +85218,7 @@ "_key": "update" }, { - "description": "Validate user email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/validate-email \\\n-H 'Authorization: Bearer '\n```", + "description": "Validate user email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/validate-email \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -85525,7 +85975,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Invite a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accouns/{account_id}/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Invite a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/accouns/{account_id}/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -86096,7 +86546,7 @@ "_key": "create" }, { - "description": "Delete an active user invitation sent to a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an active user invitation sent to a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -86378,7 +86828,7 @@ "_key": "delete" }, { - "description": "Retrieve details of an active user invitation sent for a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve details of an active user invitation sent for a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -87028,7 +87478,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload new trusted certificates.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", + "description": "Upload new trusted certificates.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"name\": \"myCert1\", \"description\": \"very important cert\", \"certificate\": \"certificate_data\", \"service\": \"lwm2m\"}\n```", "field_renames": [], "fields": [ { @@ -87471,7 +87921,7 @@ "_key": "401" }, { - "description": "Forbidden, only available for admins of commercial accounts.", + "description": "Forbidden, only available for administrators of commercial accounts.", "schema": { "type": "object", "required": [ @@ -87654,7 +88104,7 @@ "_key": "create" }, { - "description": "Delete a trusted certificate.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a trusted certificate.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -87835,7 +88285,7 @@ "_key": "403" }, { - "description": "Certificate not found.", + "description": "A certificate not found.", "schema": { "type": "object", "required": [ @@ -88344,13 +88794,13 @@ "_key": "get_developer_certificate_info" }, { - "description": "Retrieve an array of trusted certificates.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of trusted certificates.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -88401,7 +88851,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -88436,7 +88886,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -88886,7 +89336,7 @@ "_key": "list" }, { - "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve a trusted certificate.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -89263,7 +89713,7 @@ "_key": "403" }, { - "description": "Certificate not found.", + "description": "A certificate not found.", "schema": { "type": "object", "required": [ @@ -89380,7 +89830,7 @@ "_key": "read" }, { - "description": "Update existing trusted certificates.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"description\": \"very important cert\"}\n```", + "description": "Update existing trusted certificates.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"description\": \"very important cert\"}\n```", "field_renames": [], "fields": [ { @@ -89908,7 +90358,7 @@ "_key": "403" }, { - "description": "Certificate not found.", + "description": "A certificate not found.", "schema": { "type": "object", "required": [ @@ -92961,7 +93411,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create or invite a new user to the account. The invited user has to accept the invitation by clicking the link in the invitation email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/users?action=invite \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Create or invite a new user to the account. The invited user has to accept the invitation by clicking the link in the invitation email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/users?action=invite \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -93940,7 +94390,7 @@ "_key": "create" }, { - "description": "Delete a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -94283,13 +94733,13 @@ "_key": "delete" }, { - "description": "Retrieve an array of users.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of users.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -94329,7 +94779,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -94364,7 +94814,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -95023,13 +95473,13 @@ "_key": "list" }, { - "description": "Retrieve an array of policy groups associated with a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of policy groups associated with a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -95081,7 +95531,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -95116,7 +95566,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -95149,8 +95599,21 @@ "format": "int32", "example": 0, "description": "The number of API keys in this group.", + "x-deprecation": { + "issued_at": "2020-08-01T00:00:00+00:00", + "end_of_life_at": "2021-08-01T00:00:00+00:00", + "comment": "This property is deprecated. See 'application_count' property.", + "links": [] + }, "_key": "apikey_count" }, + { + "type": "integer", + "format": "int32", + "example": 0, + "description": "The number of applications in this group.", + "_key": "application_count" + }, { "type": "string", "format": "date-time", @@ -95520,7 +95983,7 @@ "_key": "policy_groups" }, { - "description": "Retrieve the details of a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the details of a user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -96256,7 +96719,7 @@ "_key": "read" }, { - "description": "Update user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", + "description": "Update user details.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d '{\"username\": \"myusername\"}'\n```", "field_renames": [], "fields": [ { @@ -97745,7 +98208,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Invite a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", + "description": "Invite a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\n-d {\"email\": \"myemail@company.com\"}\n```", "field_renames": [], "fields": [ { @@ -98293,7 +98756,7 @@ "_key": "create" }, { - "description": "Delete an active user invitation sent to a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Delete an active user invitation sent to a new or existing user.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -98563,13 +99026,13 @@ "_key": "delete" }, { - "description": "Retrieve an array of active user invitations sent by email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve an array of active user invitations sent by email.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -98597,7 +99060,7 @@ }, { "type": "string", - "description": "Record order based on creation time. Acceptable values: ASC, DESC. Default: ASC.", + "description": "Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.", "enum": [ "ASC", "DESC" @@ -98632,7 +99095,7 @@ { "type": "string", "example": "01619571f3c00242ac12000600000000", - "description": "The entity ID to fetch after the given one.", + "description": "The entity ID to retrieve after the given one.", "pattern": "[a-f0-9]{32}", "api_fieldname": "after", "entity_fieldname": "after", @@ -99040,7 +99503,7 @@ "_key": "list" }, { - "description": "Retrieve the details of an active user invitation.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", + "description": "Retrieve the details of an active user invitation.\nNote: This endpoint is restricted to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index ac2cae45c..390c2bcac 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -642,7 +642,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -660,7 +660,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -707,7 +707,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -744,7 +744,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -867,8 +867,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -1044,7 +1044,11 @@ entities: type: subtenant_api_key return_type: paginated_response(subtenant_api_key) summary: Get all API keys. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: key: - eq @@ -1062,7 +1066,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -3137,7 +3141,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -3188,7 +3192,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -3451,7 +3455,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -3502,7 +3506,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -3787,7 +3791,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -3838,7 +3842,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -4101,7 +4105,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -4152,7 +4156,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -4437,7 +4441,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -4460,7 +4464,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -4554,7 +4558,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -5685,7 +5689,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/me?include=policies \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -6923,7 +6927,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -8216,7 +8220,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -8243,7 +8247,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -8290,7 +8294,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -8327,7 +8331,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -8485,8 +8489,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -8561,7 +8565,7 @@ entities: - type type: object - _key: '403' - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden, only available for administrators of commercial accounts. schema: properties: - _key: code @@ -8702,7 +8706,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -10332,7 +10336,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -10349,7 +10353,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -10385,7 +10389,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -10422,7 +10426,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -10578,8 +10582,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -10772,7 +10776,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -10793,7 +10797,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -10840,7 +10844,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -10877,7 +10881,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -11224,8 +11228,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -11594,7 +11598,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/api-keys -d ''{"name": "MyKey1"}'' \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' @@ -11923,7 +11927,11 @@ entities: type: api_key return_type: api_key summary: Create a new API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: delete description: 'Delete the API key. @@ -11935,7 +11943,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -12066,7 +12074,7 @@ entities: - type type: object - _key: '404' - description: The API key with the specified ID does not exist. + description: An API key with the specified ID does not exist. schema: properties: - _key: code @@ -12119,7 +12127,11 @@ entities: type: api_key return_type: api_key summary: Delete API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use DELETE https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: list description: 'Retrieve an array of API keys, optionally filtered by the owner. @@ -12131,7 +12143,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -12148,7 +12160,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -12185,7 +12197,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -12223,7 +12235,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -12457,7 +12469,11 @@ entities: type: api_key return_type: paginated_response(api_key) summary: Get all API keys. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: key: - eq @@ -12473,7 +12489,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/me \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -12715,7 +12731,11 @@ entities: type: api_key return_type: api_key summary: Get current API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: policy_groups description: 'Retrieve an array of policy groups associated with an API key. @@ -12730,7 +12750,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -12745,7 +12765,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -12792,7 +12812,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -12828,7 +12848,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -12858,6 +12878,16 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + description: The number of applications in this group. + example: 0 + format: int32 + type: integer - _key: created_at description: Creation UTC time RFC3339. example: '2018-02-13T09:35:20Z' @@ -12931,8 +12961,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -13108,7 +13138,11 @@ entities: type: policy_group return_type: paginated_response(policy_group) summary: Get policy groups of an API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/groups + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: read description: 'Retrieve details of an API key. @@ -13120,7 +13154,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -13364,7 +13398,7 @@ entities: - type type: object - _key: '404' - description: API key with the specified ID does not exist. + description: An API key with the specified ID does not exist. schema: properties: - _key: code @@ -13417,7 +13451,11 @@ entities: type: api_key return_type: api_key summary: Get API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: update additional_operations: @@ -13431,7 +13469,7 @@ entities: `curl -X PUT https://api.us-east-1.mbedcloud.com/v3/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -13765,7 +13803,7 @@ entities: - type type: object - _key: '404' - description: The API key with the specified ID does not exist. + description: An API key with the specified ID does not exist. schema: properties: - _key: code @@ -13818,7 +13856,11 @@ entities: type: api_key return_type: api_key summary: Update API key details. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use PUT https://api.us-east-1.mbedcloud.com/v3/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} primary_key_field: id swagger_models: @@ -19602,7 +19644,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -19815,7 +19857,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -19860,7 +19902,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -20073,7 +20115,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -20330,7 +20372,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/dark/primary \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -20728,7 +20770,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference}/clear \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -20958,7 +21000,7 @@ entities: `curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -21003,7 +21045,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -21238,7 +21280,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -22477,7 +22519,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -22610,7 +22652,7 @@ entities: - type type: object - _key: '404' - description: Certificate not found. + description: A certificate not found. schema: properties: - _key: code @@ -22676,7 +22718,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -22980,7 +23022,7 @@ entities: - type type: object - _key: '404' - description: Certificate not found. + description: A certificate not found. schema: properties: - _key: code @@ -35141,30 +35183,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -35409,30 +35458,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -35683,30 +35739,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -36155,7 +36218,7 @@ entities: - type type: object - _key: '404' - description: Identity provider not found. + description: An identity provider not found. schema: properties: - _key: code @@ -36347,30 +36410,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -36631,7 +36701,7 @@ entities: - type type: object - _key: '404' - description: Identity provider not found. + description: An identity provider not found. schema: properties: - _key: code @@ -36859,30 +36929,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -37192,7 +37269,7 @@ entities: - type type: object - _key: '404' - description: Identity provider not found. + description: An identity provider not found. schema: properties: - _key: code @@ -37265,7 +37342,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -37302,7 +37379,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -37340,7 +37417,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -37418,30 +37495,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -37878,30 +37962,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -38162,7 +38253,7 @@ entities: - type type: object - _key: '404' - description: Identity provider not found. + description: An identity provider not found. schema: properties: - _key: code @@ -38354,30 +38445,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -38686,7 +38784,7 @@ entities: - type type: object - _key: '404' - description: Identity provider not found. + description: An identity provider not found. schema: properties: - _key: code @@ -38841,30 +38939,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -39104,30 +39209,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -39436,7 +39548,7 @@ entities: - type type: object - _key: '404' - description: Identity provider not found. + description: An identity provider not found. schema: properties: - _key: code @@ -39587,7 +39699,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -39800,7 +39912,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -39845,7 +39957,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -40058,7 +40170,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -40331,7 +40443,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/branding-colors/light/primary \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -40747,7 +40859,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference}/clear \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -40979,7 +41091,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -41024,7 +41136,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -41259,7 +41371,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/branding-images/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -41984,30 +42096,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -42154,6 +42273,7 @@ entities: - _key: email_verified api_fieldname: email_verified description: Custom claim name for 'email_verified'. + example: email_verified readOnly: true required: false type: string @@ -42161,6 +42281,7 @@ entities: - _key: family_name api_fieldname: family_name description: Custom claim name for 'family_name'. + example: family_name readOnly: true required: false type: string @@ -42168,6 +42289,7 @@ entities: - _key: given_name api_fieldname: given_name description: Custom claim name for 'given_name'. + example: given_name readOnly: true required: false type: string @@ -42175,6 +42297,7 @@ entities: - _key: name api_fieldname: name description: Custom claim name for 'name'. + example: name readOnly: true required: false type: string @@ -42182,6 +42305,7 @@ entities: - _key: phone_number api_fieldname: phone_number description: Custom claim name for 'phone_number'. + example: phone_number readOnly: true required: false type: string @@ -42189,6 +42313,7 @@ entities: - _key: sub api_fieldname: sub description: Custom claim name for 'sub'. + example: sub readOnly: true required: false type: string @@ -42196,6 +42321,7 @@ entities: - _key: updated_at api_fieldname: updated_at description: Custom claim name for 'updated_at'. + example: updated_at readOnly: true required: false type: string @@ -42352,6 +42478,19 @@ entities: readOnly: true required: false type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + example: 0 + format: int32 + readOnly: true + required: false + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -42405,7 +42544,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -42420,7 +42559,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -42467,7 +42606,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -42503,7 +42642,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -42626,8 +42765,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -42803,7 +42942,11 @@ entities: type: api_key return_type: paginated_response(api_key) summary: Get the API keys of a policy group. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated, GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/applications + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: create description: 'Create a new group. @@ -42817,7 +42960,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/policy-groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' -d ''{"name": "MyGroup1"}'' @@ -42832,6 +42975,7 @@ entities: - updated_at - account_id - user_count + - application_count - apikey_count field_renames: [] fields: @@ -42849,6 +42993,16 @@ entities: items: type: string type: array + x-deprecation: + comment: This field is deprecated, use 'applications' + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: applications + description: An array of applicationIDs. + items: + type: string + type: array - _key: users description: An array of user IDs. items: @@ -42900,6 +43054,18 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + entity_fieldname: application_count + example: 0 + format: int32 + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -43170,7 +43336,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -43365,7 +43531,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -43381,7 +43547,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -43418,7 +43584,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -43456,7 +43622,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -43486,6 +43652,16 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + description: The number of applications in this group. + example: 0 + format: int32 + type: integer - _key: created_at description: Creation UTC time RFC3339. example: '2018-02-13T09:35:20Z' @@ -43559,8 +43735,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -43703,7 +43879,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -43716,6 +43892,7 @@ entities: - account_id - name - user_count + - application_count - apikey_count field_renames: [] fields: @@ -43762,6 +43939,18 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + entity_fieldname: application_count + example: 0 + format: int32 + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -43984,7 +44173,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -44000,6 +44189,7 @@ entities: - updated_at - account_id - user_count + - application_count - apikey_count field_renames: [] fields: @@ -44056,6 +44246,18 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + entity_fieldname: application_count + example: 0 + format: int32 + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -44326,7 +44528,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/policy-groups/{group_id}/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -44344,7 +44546,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -44391,7 +44593,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -44427,7 +44629,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -44774,8 +44976,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -46053,7 +46255,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -46457,7 +46659,11 @@ entities: type: subtenant_api_key return_type: subtenant_api_key summary: Create a new API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: delete description: 'Delete an API key. @@ -46472,7 +46678,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -46665,7 +46871,11 @@ entities: type: subtenant_api_key return_type: subtenant_api_key summary: Delete the API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: policy_groups description: 'Retrieve an array of policy groups associated with an API key. @@ -46680,7 +46890,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -46705,7 +46915,7 @@ entities: type: string - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -46752,7 +46962,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -46788,7 +46998,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -46818,6 +47028,16 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + description: The number of applications in this group. + example: 0 + format: int32 + type: integer - _key: created_at description: Creation UTC time RFC3339. example: '2018-02-13T09:35:20Z' @@ -46891,8 +47111,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -47068,12 +47288,16 @@ entities: type: subtenant_policy_group return_type: paginated_response(subtenant_policy_group) summary: Get policy groups of an API key. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/groups + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: read description: "Retrieve details of an API key.\nNote: This endpoint is restricted\ \ to administrators.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id}\ - \ \\\n -H 'Authorization: Bearer '\n```" + \ \\\n -H 'Authorization: Bearer '\n```" drop_fields: - object - etag @@ -47393,7 +47617,11 @@ entities: type: subtenant_api_key return_type: subtenant_api_key summary: Get API key details. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: update description: 'Update API key details. @@ -47408,7 +47636,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/api-keys/{apikey_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -47819,7 +48047,11 @@ entities: type: subtenant_api_key return_type: subtenant_api_key summary: Update API key details. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/applications/{application_id}/access-keys/{access_key_id} + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} primary_key_field: id swagger_models: @@ -47895,7 +48127,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -48121,7 +48353,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -48404,7 +48636,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/dark/primary \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -48829,7 +49061,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference}/clear \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -49074,7 +49306,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/dark/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -49785,30 +50017,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -50050,30 +50289,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -50335,30 +50581,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -50873,7 +51126,7 @@ entities: - type type: object - _key: '404' - description: Account or identity provider not found. + description: An account or identity provider not found. schema: properties: - _key: code @@ -51082,30 +51335,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -51376,7 +51636,7 @@ entities: - type type: object - _key: '404' - description: Account or identity provider not found. + description: An account or identity provider not found. schema: properties: - _key: code @@ -51621,30 +51881,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -51964,7 +52231,7 @@ entities: - type type: object - _key: '404' - description: Account or identity provider not found. + description: An account or identity provider not found. schema: properties: - _key: code @@ -52045,7 +52312,7 @@ entities: type: string - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -52082,7 +52349,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -52120,7 +52387,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -52203,30 +52470,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -52412,8 +52686,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -52741,30 +53015,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -53035,7 +53316,7 @@ entities: - type type: object - _key: '404' - description: Account or identity provider not found. + description: An account or identity provider not found. schema: properties: - _key: code @@ -53244,30 +53525,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -53586,7 +53874,7 @@ entities: - type type: object - _key: '404' - description: Account or identity provider not found. + description: An account or identity provider not found. schema: properties: - _key: code @@ -53738,30 +54026,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -54012,30 +54307,37 @@ entities: x-nullable: true - _key: email_verified description: Custom claim name for 'email_verified'. + example: email_verified type: string x-nullable: true - _key: family_name description: Custom claim name for 'family_name'. + example: family_name type: string x-nullable: true - _key: given_name description: Custom claim name for 'given_name'. + example: given_name type: string x-nullable: true - _key: name description: Custom claim name for 'name'. + example: name type: string x-nullable: true - _key: phone_number description: Custom claim name for 'phone_number'. + example: phone_number type: string x-nullable: true - _key: sub description: Custom claim name for 'sub'. + example: sub type: string x-nullable: true - _key: updated_at description: Custom claim name for 'updated_at'. + example: updated_at type: string x-nullable: true - _key: updated_at_pattern @@ -54354,7 +54656,7 @@ entities: - type type: object - _key: '404' - description: Account or identity provider not found. + description: An account or identity provider not found. schema: properties: - _key: code @@ -54484,7 +54786,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -54709,7 +55011,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-colors/light/{reference} - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -54992,7 +55294,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id)/branding-colors/light/primary \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -55415,7 +55717,7 @@ entities: ```curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference}/clear \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -55660,7 +55962,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/branding-images/light/{reference} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -56306,6 +56608,19 @@ entities: readOnly: true required: false type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + example: 0 + format: int32 + readOnly: true + required: false + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -56365,7 +56680,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/api-keys \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -56390,7 +56705,7 @@ entities: type: string - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -56437,7 +56752,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -56473,7 +56788,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -56596,8 +56911,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -56773,7 +57088,11 @@ entities: type: subtenant_api_key return_type: paginated_response(subtenant_api_key) summary: Get API keys in a group. - x_deprecation: null + x_deprecation: + comment: This endpoint is deprecated. Use GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/applications + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] x_filter: {} - _key: create description: 'Create a new group. @@ -56788,7 +57107,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -56804,6 +57123,7 @@ entities: - created_at - updated_at - user_count + - application_count - apikey_count field_renames: [] fields: @@ -56831,6 +57151,16 @@ entities: items: type: string type: array + x-deprecation: + comment: This field is deprecated, use 'applications' + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: applications + description: An array of applicationIDs. + items: + type: string + type: array - _key: users description: An array of user IDs. items: @@ -56882,6 +57212,18 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + entity_fieldname: application_count + example: 0 + format: int32 + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -57206,7 +57548,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -57414,7 +57756,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -57440,7 +57782,7 @@ entities: type: string - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -57477,7 +57819,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -57515,7 +57857,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -57545,6 +57887,16 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + description: The number of applications in this group. + example: 0 + format: int32 + type: integer - _key: created_at description: Creation UTC time RFC3339. example: '2018-02-13T09:35:20Z' @@ -57618,8 +57970,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -57812,7 +58164,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -57824,6 +58176,7 @@ entities: - updated_at - name - user_count + - application_count - apikey_count field_renames: [] fields: @@ -57880,6 +58233,18 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + entity_fieldname: application_count + example: 0 + format: int32 + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -58108,7 +58473,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/ \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -58123,6 +58488,7 @@ entities: - created_at - updated_at - user_count + - application_count - apikey_count field_renames: [] fields: @@ -58189,6 +58555,18 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + api_fieldname: application_count + description: The number of applications in this group. + entity_fieldname: application_count + example: 0 + format: int32 + type: integer - _key: created_at api_fieldname: created_at description: Creation UTC time RFC3339. @@ -58465,7 +58843,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/policy-groups/{group_id}/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -58493,7 +58871,7 @@ entities: type: string - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -58540,7 +58918,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -58576,7 +58954,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -58923,8 +59301,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -59295,7 +59673,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -59689,7 +60067,7 @@ entities: - type type: object - _key: '403' - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden, only available for administrators of commercial accounts. schema: properties: - _key: code @@ -59805,7 +60183,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -59907,7 +60285,7 @@ entities: - type type: object - _key: '403' - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden, only available for administrators of commercial accounts. schema: properties: - _key: code @@ -59955,7 +60333,7 @@ entities: - type type: object - _key: '404' - description: Account or certificate with the given ID not found. + description: An account or certificate with the given ID not found. schema: properties: - _key: code @@ -60511,7 +60889,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -60803,7 +61181,7 @@ entities: - type type: object - _key: '403' - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden, only available for administrators of commercial accounts. schema: properties: - _key: code @@ -60851,7 +61229,7 @@ entities: - type type: object - _key: '404' - description: Account or certificate with the given ID not found. + description: An account or certificate with the given ID not found. schema: properties: - _key: code @@ -60909,7 +61287,7 @@ entities: - _key: update description: "Update a trusted certificate.\nNote: This endpoint is restricted\ \ to administrators.\n\n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/trusted-certificates/{cert_id}\ - \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n -d {\"description\": \"very important cert\"}\n ```" drop_fields: - object @@ -61304,7 +61682,7 @@ entities: - type type: object - _key: '403' - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden, only available for administrators of commercial accounts. schema: properties: - _key: code @@ -61809,7 +62187,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -62671,7 +63049,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -62927,7 +63305,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -62952,7 +63330,7 @@ entities: type: string - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -62999,7 +63377,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -63035,7 +63413,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -63065,6 +63443,16 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + description: The number of applications in this group. + example: 0 + format: int32 + type: integer - _key: created_at description: Creation UTC time RFC3339. example: '2018-02-13T09:35:20Z' @@ -63138,8 +63526,8 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, - DESC. Default: ASC.' + description: 'Record order based on creation. Acceptable values: ASC, DESC. + Default: ASC.' entity_fieldname: order enum: - ASC @@ -63330,7 +63718,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -63952,7 +64340,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -64798,7 +65186,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/users/{user_id}/validate-email \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -65143,7 +65531,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/accouns/{account_id}/user-invitations \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -65585,7 +65973,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -65794,7 +66182,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/accounts/{account_id}/user-invitations/{invitation_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -66312,7 +66700,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -66673,7 +67061,7 @@ entities: - type type: object - _key: '403' - description: Forbidden, only available for admins of commercial accounts. + description: Forbidden, only available for administrators of commercial accounts. schema: properties: - _key: code @@ -66787,7 +67175,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -66927,7 +67315,7 @@ entities: - type type: object - _key: '404' - description: Certificate not found. + description: A certificate not found. schema: properties: - _key: code @@ -67480,7 +67868,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -67507,7 +67895,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -67553,7 +67941,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -67589,7 +67977,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -67892,7 +68280,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -68200,7 +68588,7 @@ entities: - type type: object - _key: '404' - description: Certificate not found. + description: A certificate not found. schema: properties: - _key: code @@ -68266,7 +68654,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/trusted-certificates/{cert_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -68681,7 +69069,7 @@ entities: - type type: object - _key: '404' - description: Certificate not found. + description: A certificate not found. schema: properties: - _key: code @@ -71527,7 +71915,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/users?action=invite \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -72292,7 +72680,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -72537,7 +72925,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/users \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -72557,7 +72945,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -72594,7 +72982,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -72632,7 +73020,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -73112,7 +73500,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id}/groups \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -73127,7 +73515,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -73174,7 +73562,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -73210,7 +73598,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -73235,6 +73623,16 @@ entities: example: 0 format: int32 type: integer + x-deprecation: + comment: This property is deprecated. See 'application_count' property. + end_of_life_at: '2021-08-01T00:00:00+00:00' + issued_at: '2020-08-01T00:00:00+00:00' + links: [] + - _key: application_count + description: The number of applications in this group. + example: 0 + format: int32 + type: integer - _key: created_at description: Creation UTC time RFC3339. example: '2018-02-13T09:35:20Z' @@ -73486,7 +73884,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -74059,7 +74457,7 @@ entities: curl -X PUT https://api.us-east-1.mbedcloud.com/v3/users/{user_id} \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -74986,7 +75384,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/user-invitations \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -75407,7 +75805,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -75604,7 +76002,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -75620,7 +76018,7 @@ entities: fields: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 external_param: true @@ -75646,7 +76044,7 @@ entities: - _key: order api_fieldname: order default: ASC - description: 'Record order based on creation time. Acceptable values: ASC, DESC. + description: 'Record order based on creation. Acceptable values: ASC, DESC. Default: ASC.' entity_fieldname: order enum: @@ -75684,7 +76082,7 @@ entities: properties: - _key: after api_fieldname: after - description: The entity ID to fetch after the given one. + description: The entity ID to retrieve after the given one. entity_fieldname: after example: 01619571f3c00242ac12000600000000 pattern: '[a-f0-9]{32}' @@ -75968,7 +76366,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/user-invitations/{invitation_id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: From 1532910af23d8f0c59ed297fdfa4ed0182ba0821 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 5 Aug 2020 16:48:33 +0000 Subject: [PATCH 093/111] new SDK config changes via api-contract @ 2020-08-05 16:48 --- .../public/pelion_dm_public_openapi.yaml | 124 +++++++++--------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 9186c7230..8a0ed0e08 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9280,57 +9280,57 @@ paths: \ Protocol) methods on a device and send commands to device resources.\n\n\ As part of the request body, you must specify the CoAP method you want to\ \ call on the device:\n\n- Use the GET method to read resource values.\n\n\ - \ For example, to read the value of resource `/3200/0/5501`, use:\n\n \ - \ ```\n curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id}\ - \ \\\n -H 'Authorization: Bearer {api_key}' \\\n -H 'content-type: application/json'\ - \ \\\n -d '{\"method\": \"GET\", \"uri\": \"/3200/0/5501\"}'\n ```\n\ - \n For `GET` methods, the API may fetch values from an internal cache,\ - \ instead of contacting the device.\n\n If the value is not in the cache,\ - \ the read command goes all the way to the device.\n\n\n- Use the PUT method\ - \ to write [notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)\ + \ For example, to read the value of resource `/3200/0/5501`, use:\n\n```\n\ + curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id}\ + \ \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'content-type: application/json'\ + \ \\\n-d '{\"method\": \"GET\", \"uri\": \"/3200/0/5501\"}'\n```\n\n For\ + \ `GET` methods, the API may fetch values from an internal cache, instead\ + \ of contacting the device.\n\n If the value is not in the cache, the read\ + \ command goes all the way to the device.\n\n\n- Use the PUT method to write\ + \ [notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)\ \ or resource values for a resource.\n\n Example payload to write a notification\ - \ rule:\n\n ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?lt=10>=60&pmax=120\"\ - \ }\n ```\n\n Example payload to write a value to resource `/5/0/1`:\n\ - \n ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?k1=v1&k2=v2\", \"\ - accept\": \"text/plain\", \"content-type\": \"text/plain\", \"payload-b64\"\ - : \"dmFsdWUxCg==\" }\n ```\n\n- Use the POST method to execute or create\ - \ a resource on a LWM2M supporting device.\n\n When you create a resource,\ - \ `uri` must refer to an object, and `payload-b64` must be in LWM2M TLV format;\ - \ for example:\n\n ```\n { \"method\": \"POST\", \"uri\": \"/123\",\ - \ \"content-type\": \"application/vnd.oma.lwm2m+tlv\", \"payload-b64\": \"\ - BwHFAnZhbHVl\" }\n ```\n\n Example payload to execute LWM2M resource\ - \ `/123/1/1`:\n\n ```\n { \"method\": \"POST\", \"uri\": \"/123/1/1\"\ - \ }\n ```\n\nDevice Management sends responses through the currently configured\ - \ notification channel as `AsyncIDResponse`.\n\nExample `AsyncIDResponse`\ - \ delivered through the notification channel:\n- ```\n { \"async-responses\"\ - : [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\", \"status\": 200, \"\ - payload\": \"dmFsdWUxCg==\", \"ct\": \"text/plain\", \"max-age\": 600 } ]\ - \ }\n ```\n\n- ```\n { \"async-responses\": [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\"\ - , \"status\": 504, \"error\": \"TIMEOUT\" } ] }\n ```\n\nIf it cannot reach\ - \ the device at the time of the request, Device Management puts the requests\ - \ in a queue.\n\n**Queueing behavior**\n\nIf Device Management does not reach\ - \ the device, or the device fails to respond, the server queues the request\ - \ and retries the delivery, for the period of time defined by `expiry-seconds`,\ - \ the next time the device contacts the server.\n\nThe queue is limited to\ - \ 20 requests.\n\nDevice Management delivers requests from the queue in the\ - \ order of insertion, one at a time, and not concurrently.\n\nDelivery attempts\ - \ follow protocol-specific retransmission logic. There can be multiple transmissions,\ - \ depending on the protocol. For CoAP, the retransmissions have an exponential\ - \ backoff of 2, 4, 8, 16, and up to 64 seconds, taking in total over two minutes.\n\ - If the device does not respond within this two-minute period, the delivery\ - \ fails, Device Management performs one retry and then puts the request back\ - \ into the queue until the retry count reaches its limit.\n\nDevice Management\ - \ attempts to redeliver the request when the device next contacts the server.\n\ - \nWhen Device Management reaches the `retry` or `expiry-seconds` limit, the\ - \ server discards the request and sends an error in `AsyncIDResponse`.\n\n\ - For example:\n\n- Retries could be exhausted if the device periodically contacts\ - \ the server and receives the request from the queue, but then fails to respond\ - \ to the server.\n\n- The device may lose its network connectivity, and the\ - \ requests in the queue may expire and get discarded before the device regains\ - \ connectivity. When Device Management delivers the request to the device,\ - \ the status code in `AsyncIDResponse` is *2xx* or *4xx*, based on the device's\ - \ response. If Device Management could not deliver the request, the server\ - \ generates a status code of *429* or *5xx*." + \ rule:\n\n```\n{ \"method\": \"PUT\", \"uri\": \"/5/0/1?lt=10>=60&pmax=120\"\ + \ }\n```\n\n Example payload to write a value to resource `/5/0/1`:\n\n\ + ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?k1=v1&k2=v2\", \"accept\"\ + : \"text/plain\", \"content-type\": \"text/plain\", \"payload-b64\": \"dmFsdWUxCg==\"\ + \ }\n```\n\n- Use the POST method to execute or create a resource on a LWM2M\ + \ supporting device.\n\n When you create a resource, `uri` must refer to\ + \ an object, and `payload-b64` must be in LWM2M TLV format; for example:\n\ + \n ```\n { \"method\": \"POST\", \"uri\": \"/123\", \"content-type\"\ + : \"application/vnd.oma.lwm2m+tlv\", \"payload-b64\": \"BwHFAnZhbHVl\" }\n\ + \ ```\n\n Example payload to execute LWM2M resource `/123/1/1`:\n\n\ + \ ```\n{ \"method\": \"POST\", \"uri\": \"/123/1/1\" }\n ```\n\nDevice\ + \ Management sends responses through the currently configured notification\ + \ channel as `AsyncIDResponse`.\n\nExample `AsyncIDResponse` delivered through\ + \ the notification channel:\n- ```\n{ \"async-responses\": [ { \"id\": \"\ + 123e4567-e89b-12d3-a456-426655440000\", \"status\": 200, \"payload\": \"dmFsdWUxCg==\"\ + , \"ct\": \"text/plain\", \"max-age\": 600 } ] }\n ```\n\n- ```\n{ \"async-responses\"\ + : [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\", \"status\": 504, \"\ + error\": \"TIMEOUT\" } ] }\n```\n\nIf it cannot reach the device at the time\ + \ of the request, Device Management puts the requests in a queue.\n\n**Queueing\ + \ behavior**\n\nIf Device Management does not reach the device, or the device\ + \ fails to respond, the server queues the request and retries the delivery,\ + \ for the period of time defined by `expiry-seconds`, the next time the device\ + \ contacts the server.\n\nThe queue is limited to 20 requests.\n\nDevice Management\ + \ delivers requests from the queue in the order of insertion, one at a time,\ + \ and not concurrently.\n\nDelivery attempts follow protocol-specific retransmission\ + \ logic. There can be multiple transmissions, depending on the protocol. For\ + \ CoAP, the retransmissions have an exponential backoff of 2, 4, 8, 16, and\ + \ up to 64 seconds, taking in total over two minutes.\nIf the device does\ + \ not respond within this two-minute period, the delivery fails, Device Management\ + \ performs one retry and then puts the request back into the queue until the\ + \ retry count reaches its limit.\n\nDevice Management attempts to redeliver\ + \ the request when the device next contacts the server.\n\nWhen Device Management\ + \ reaches the `retry` or `expiry-seconds` limit, the server discards the request\ + \ and sends an error in `AsyncIDResponse`.\n\nFor example:\n\n- Retries could\ + \ be exhausted if the device periodically contacts the server and receives\ + \ the request from the queue, but then fails to respond to the server.\n\n\ + - The device may lose its network connectivity, and the requests in the queue\ + \ may expire and get discarded before the device regains connectivity. When\ + \ Device Management delivers the request to the device, the status code in\ + \ `AsyncIDResponse` is *2xx* or *4xx*, based on the device's response. If\ + \ Device Management could not deliver the request, the server generates a\ + \ status code of *429* or *5xx*." operationId: createAsyncRequest parameters: - description: The device ID generated by Device Management. @@ -10506,7 +10506,7 @@ paths: x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/subscriptions: delete: - description: 'Remove pre-subscriptions. + description: 'Remove presubscriptions. **Example:** @@ -10526,13 +10526,13 @@ paths: description: Unauthorized. 403: description: 'Forbidden: the authorization token used is not an API key.' - summary: Remove pre-subscriptions. + summary: Remove presubscriptions. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml get: - description: 'Retrieve pre-subscription data. The server returns a JSON structure. - If there are no pre-subscribed resources, the server returns an empty array. + description: 'Retrieve presubscription data. The server returns a JSON structure. + If there are no presubscribed resources, the server returns an empty array. **Example:** @@ -10556,21 +10556,21 @@ paths: description: Unauthorized. 403: description: 'Forbidden: the authorization token used is not an API key.' - summary: View pre-subscriptions. + summary: View presubscriptions. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml put: consumes: - application/json - description: "A pre-subscription is a set of rules you define to subscribe to\ + description: "A presubscription is a set of rules you define to subscribe to\ \ specific resources automatically when certain devices register or does a\ \ register update.\nYou can set subscription rules based on the endpoint ID\ \ (optionally having an `*` character at the end), endpoint type, a list of\ \ resources, or expressions with an `*` character at the end.\nWhen a device\ \ that meets the subscription rules registered, Device Management Connect\ \ automatically sends subscription requests to the device for the resources\ - \ you specify.\nTo remove the pre-subscription data, put an empty array as\ + \ you specify.\nTo remove the presubscription data, put an empty array as\ \ a rule.\nTo place dynamic observation rules for individual object instances\ \ and resources and define when the device sends observations, set [notification\ \ rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html).\n\ @@ -10592,14 +10592,14 @@ paths: \ resources of all endpoints.\n\n**Limits**:\n\n- The maximum length of the\ \ endpoint name and endpoint type is 64 characters.\n- The maximum length\ \ of the resource path is 128 characters.\n- You can subscribe to 256 separate\ - \ resource paths.\n- The maximum number of pre-subscription entries is 1024.\n\ + \ resource paths.\n- The maximum number of presubscription entries is 1024.\n\ \n**Note**: To save bandwidth and avoid unnecessary traffic, use resource\ - \ path patterns to limit the matching resources in the pre-subscription data.\ + \ path patterns to limit the matching resources in the presubscription data.\ \ This prevents your web application from receiving unwanted resource notifications.\ \ See [Subscribe only to what you need](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)." operationId: updatePreSubscriptions parameters: - - description: Array of pre-subscriptions. + - description: Array of presubscriptions. in: body name: presubscription required: true @@ -10616,7 +10616,7 @@ paths: description: Unauthorized. 403: description: 'Forbidden: the authorization token used is not an API key.' - summary: Set pre-subscriptions. + summary: Set presubscriptions. tags: - Device data - subscriptions x-origin: /home/circleci/project/device-server/public/swagger.yaml @@ -10783,7 +10783,7 @@ paths: **Note:** Device Management removes all manual subscriptions during a full device registration, at which point applications must re-subscribe. To avoid - this, use `/subscriptions` to set a pre-subscription. + this, use `/subscriptions` to set a presubscription. You can subscribe to resources, objects and object instances. From 428bc3a01b30f9a7169f6b211949020c1e4a191c Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 6 Aug 2020 10:37:13 +0000 Subject: [PATCH 094/111] new SDK config changes via api-contract @ 2020-08-06 10:37 --- .../public/pelion_dm_public_openapi.yaml | 114 +++++++++--------- .../public/sdk_foundation_definition.json | 56 ++++----- .../public/sdk_foundation_definition.yaml | 81 ++++++------- 3 files changed, 124 insertions(+), 127 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 8a0ed0e08..bf8f6e11c 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9146,7 +9146,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/factory_configurator_utility.zip \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ``` @@ -9192,7 +9192,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/inf \ - -H ''Authorization: Bearer '' o + -H ''Authorization: Bearer '' o ``` @@ -9240,7 +9240,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/release_notes \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ``` @@ -21810,7 +21810,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -21823,7 +21823,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -21886,10 +21886,9 @@ paths: post: description: "Configure the certificate issuer to use when creating device custom\ \ certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\"\ - ,\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n\ - ```" + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\"\ + : \"01621a36719d507b9d48a91b00000000\"\n}'\n```" operationId: createCertificateIssuerConfig parameters: - description: Certificate issuer configuration request. @@ -21955,9 +21954,9 @@ paths: put: description: "Configure the certificate issuer used when creating device certificates\n\ for LwM2M.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations/lwm2m\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\n-d '{\n \"certificate_issuer_id\":\ - \ \"01621a36719d507b9d48a91b00000000\"\n}'\n```" + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\ + \n}'\n```" operationId: updateCertificateIssuerConfig parameters: - description: Certificate Issuer Configuration Request @@ -22142,12 +22141,12 @@ paths: \ issuers of the same type, provided they have different names. This allows\ \ verification of the certificate issuer configuration before activation.\n\
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\"\ - ,\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate\ - \ issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n\ - \ \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\"\ - ,\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\"\ + ,\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\"\ + : null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\"\ + ,\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \ + \ \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ \ CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\\ nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\\ nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\\ @@ -22215,7 +22214,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ ```' operationId: deleteCertificateIssuer @@ -22287,10 +22286,9 @@ paths: put: description: "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl\ \ -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign\ - \ certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n\ - ```" + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\"\ + ,\n \"name\": \"GlobalSign Issuer\"\n}'\n```" operationId: updateCertificateIssuer parameters: - description: Certificate issuer ID. @@ -22361,7 +22359,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -26562,7 +26560,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -26839,7 +26837,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ - -H ''Authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''Content-Type: multipart/form-data'' \ @@ -26905,7 +26903,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -27137,7 +27135,7 @@ paths: post: description: "Create a new upload job\n
\n**Usage example:**\n```\ncurl -X\ \ POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs\ - \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"name\": \"New Linux update\",\n \"description\": \"New Linux\ \ update for my devices\"\n}'\n```\n" operationId: Upload_Job_Create @@ -27189,7 +27187,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -27233,7 +27231,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -27266,8 +27264,8 @@ paths: put: description: "Update an upload job.\n
\n**Usage example:**\n```\ncurl -X\ \ PUT https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012\ - \ \\\n-H 'Authorization: ' \\\n-d '{\n \"name\": \"New\ - \ Linux update\",\n \"description\": \"New Linux update for my class XX devices\"\ + \ \\\n-H 'Authorization: Bearer ' \\\n-d '{\n \"name\": \"New Linux\ + \ update\",\n \"description\": \"New Linux update for my class XX devices\"\ \n}'\n```\n" operationId: Upload_Job_Update parameters: @@ -27320,7 +27318,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -27540,7 +27538,7 @@ paths: \ chunk.\n
**Note:** Chunk size must be between 5MB and 100MB, the last\ \ chunk can be less than 5MB; the maximum number of chunks is limited to 10,000.\n\
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks\ - \ \\\n-H 'Authorization: ' \\\n-H 'Content-MD5: Q2h1Y2sgSW51ZwDIAXR5IQ=='\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'Content-MD5: Q2h1Y2sgSW51ZwDIAXR5IQ=='\ \ \\\n-H 'Content-Type: binary/octet-stream' \\\n-H 'Content-Length: 999'\ \ \\\n-d '{\n \"IGh0dHBzOi8vYXBpLnVzLWVhc3QtMS5tYmVkY2xvdWQuY29tLy92My9maXJtd2FyZS1pbWFnZXMvdXBsb2FkLWpvYnMve3VwbG9hZF9qb2JfaWR9W5rcw==\"\ \n}'\n```\n" @@ -27610,7 +27608,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks/12345678901234567890123456789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -27659,7 +27657,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/11234567f9012ab56790120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -27697,7 +27695,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/1123456f9012ab567890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -27737,7 +27735,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -28036,7 +28034,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ - -H ''Authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''Content-Type: multipart/form-data'' \ @@ -28110,7 +28108,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/11234567f9012ab56780120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -28148,7 +28146,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/1123467f9012ab567890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -28616,7 +28614,7 @@ paths: ``` curl -X GET https://api.us-east-1.mbedcloud.com/v3/manufacturing/statistics?start=2020-06-23T21:00:00.000Z&end=2020-07-01T20:59:59.999Z - --header ''Authorization: Bearer '' + --header ''Authorization: Bearer '' ``` @@ -30854,7 +30852,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31196,7 +31194,7 @@ paths: description: "Create an update campaign.\n\nTo include a filter for targeted\ \ devices, refer to the filter using `` in the message body.\n\
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns\ - \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"\ Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\"\ : \"campaign\",\n \"root_manifest_id\": \"56780000000000a5b70000000000bd98\"\ @@ -31238,7 +31236,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123457f9012ab567890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31284,7 +31282,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31318,8 +31316,8 @@ paths: put: description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123007f9012ab567890120000789012\ - \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\"\ - : \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\"\ + \ \\\n-H 'Authorization: Bearer ' \\\nd '{\n \"description\": \"\ + Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\"\ ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ ,\n}'\n```\n" operationId: Update_Campaign_update @@ -31370,7 +31368,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc649000000000001001000b8/archive \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31411,7 +31409,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56790120000789012/campaign-device-metadata \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31469,7 +31467,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a89900000655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31517,7 +31515,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123467f9012ab567890120000789012/metrics \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31561,7 +31559,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8900002e655cd94fa8/start \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31603,7 +31601,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56780120000789012/statistics \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31646,7 +31644,7 @@ paths: curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/fail \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31699,7 +31697,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/skipped/event_types \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31749,7 +31747,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -31838,7 +31836,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 3121ab572..452a3ac14 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -19149,7 +19149,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get update campaign metadata for a specific device.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a89900000655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \\\n-H 'Authorization: '\n```\n", + "description": "Get update campaign metadata for a specific device.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a89900000655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [ { "api_fieldname": "campaign", @@ -19473,7 +19473,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get a list of events grouped by summary.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/skipped/event_types \\\n-H 'Authorization: '\n```\n", + "description": "Get a list of events grouped by summary.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/skipped/event_types \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -19825,7 +19825,7 @@ "_key": "events" }, { - "description": "Get a list of statistics for a campaign, including the number of devices reporting specific event codes.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56780120000789012/statistics \\\n-H 'Authorization: '\n```\n", + "description": "Get a list of statistics for a campaign, including the number of devices reporting specific event codes.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56780120000789012/statistics \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -20158,7 +20158,7 @@ "_key": "list" }, { - "description": "Get the count of successfully updated, skipped, and failed devices.\n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/fail \\\n-H 'Authorization: '\n```\n", + "description": "Get the count of successfully updated, skipped, and failed devices.\n
\n**Usage example:**\n```\ncurl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/fail \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -20517,7 +20517,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \\\n-H 'Authorization: '\n```\n", + "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -21946,7 +21946,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a certificate issuer.\n
\nThe maximum number of issuers is limited to 20 per account.\n
\nYou can create multiple certificate issuers of the same type, provided they have different names. This allows verification of the certificate issuer configuration before activation.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\n7sqzPlmRF0N3I4lwKVj+PfQTVz43QoCnpxOjuSEL4liBrc2agY2xH1O0PFyHimz9\\n3XM9HR/iuPHW0N2D+NPjXlWKacerupH9d4i9IYIagzB+HTgej8limdo03GmmxcZ6\\nYNa58n5yQSaqu0TPRU9DsrKeGjadHTlZQGdzfq1SWsROCnHLrXFKE2ozIG3+hxA5\\nujBF/QWpX5+inXUwDJhBxp8isHbPEnBEUUd6ZRzCTjvN0jaUti5B9yFhO2G6mbE8\\nCvhyzQK8oJqsjZXnlcpPf95LP+9XbcCDjLSIaWJstzXO9tPiv6+x1MVWmivtRHcC\\nSTzpx8jAGCiG6ejLqWB87ZXiZm7ujlCBheHSf5RHwNHhUvoP2JEYalDDRxjcDMSx\\n4uV42Np4yJlIQEDlGHcBlXoL7vEukFpuWgkYdpcZy/Ou9qz8mXrpLcu8C8MhLmSC\\nixGoR5iRhV7cxoHLyuCzj87eYEA73Xu238DQorSEEuiVFnLzQ2+PJMs4qoI14q/L\\notlBDz+Ko6DrU/EZROYmiqMkLKXR2sx9zNAJwPYRs6nSH08tZ3dwqzZbgtP3Wazi\\nhLWHt5/En7wQRA5a+/dDEHXSoLvvSQ9jvhclhWf+eCYuq2eH+g54oyJGRSY+8GV7\\nujhLxkzl/3OZdhZPWoz4U13KpbSTcNWu5Y7oGDoabw19UbvqmLf1PJkpDH/tQgzB\\nxYtsLBRUcofpYoeIiIxfAA4do5WilJc8xqrGhkE4WcHfY24HXAiOvsjbxV+BRprX\\n1jtgJpV/9nJESMap+8PxipGUFRGjB83/uwJaa6mLftEKflX8i4MZ+HnqraXERsqA\\nWRUcDHIWmFfpzIB3iNuxawVvPH8NdCSPmQ9qTb8Cozl0AuOK2E9S+ke8oiYQScWR\\nLdu+zhej7GjuQ9R+Ub+wPWqvOA5qLXejqnCexVScDUuN+z9JWM3N2FG1MwxhAzhP\\ndEfoQHoBn6uyOmrVGP6fosV3chqhPoec42KeOAm1xDvx692isaIy1jPgIyPxeqhm\\n2Tw4E+02R7dlP8Ljf7JzfLm4oKpWHWlcHeqg24x6lY/wXU1RBcWaTa0AQUwoGm2m\\nIQCPfIqOEv/QC2HpO7SVCYkl65KwR0oTd1AzYxdxEq3xHQbh69EL0FGZPVxVCPI+\\nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n }\n}'\n```", + "description": "Create a certificate issuer.\n
\nThe maximum number of issuers is limited to 20 per account.\n
\nYou can create multiple certificate issuers of the same type, provided they have different names. This allows verification of the certificate issuer configuration before activation.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\n7sqzPlmRF0N3I4lwKVj+PfQTVz43QoCnpxOjuSEL4liBrc2agY2xH1O0PFyHimz9\\n3XM9HR/iuPHW0N2D+NPjXlWKacerupH9d4i9IYIagzB+HTgej8limdo03GmmxcZ6\\nYNa58n5yQSaqu0TPRU9DsrKeGjadHTlZQGdzfq1SWsROCnHLrXFKE2ozIG3+hxA5\\nujBF/QWpX5+inXUwDJhBxp8isHbPEnBEUUd6ZRzCTjvN0jaUti5B9yFhO2G6mbE8\\nCvhyzQK8oJqsjZXnlcpPf95LP+9XbcCDjLSIaWJstzXO9tPiv6+x1MVWmivtRHcC\\nSTzpx8jAGCiG6ejLqWB87ZXiZm7ujlCBheHSf5RHwNHhUvoP2JEYalDDRxjcDMSx\\n4uV42Np4yJlIQEDlGHcBlXoL7vEukFpuWgkYdpcZy/Ou9qz8mXrpLcu8C8MhLmSC\\nixGoR5iRhV7cxoHLyuCzj87eYEA73Xu238DQorSEEuiVFnLzQ2+PJMs4qoI14q/L\\notlBDz+Ko6DrU/EZROYmiqMkLKXR2sx9zNAJwPYRs6nSH08tZ3dwqzZbgtP3Wazi\\nhLWHt5/En7wQRA5a+/dDEHXSoLvvSQ9jvhclhWf+eCYuq2eH+g54oyJGRSY+8GV7\\nujhLxkzl/3OZdhZPWoz4U13KpbSTcNWu5Y7oGDoabw19UbvqmLf1PJkpDH/tQgzB\\nxYtsLBRUcofpYoeIiIxfAA4do5WilJc8xqrGhkE4WcHfY24HXAiOvsjbxV+BRprX\\n1jtgJpV/9nJESMap+8PxipGUFRGjB83/uwJaa6mLftEKflX8i4MZ+HnqraXERsqA\\nWRUcDHIWmFfpzIB3iNuxawVvPH8NdCSPmQ9qTb8Cozl0AuOK2E9S+ke8oiYQScWR\\nLdu+zhej7GjuQ9R+Ub+wPWqvOA5qLXejqnCexVScDUuN+z9JWM3N2FG1MwxhAzhP\\ndEfoQHoBn6uyOmrVGP6fosV3chqhPoec42KeOAm1xDvx692isaIy1jPgIyPxeqhm\\n2Tw4E+02R7dlP8Ljf7JzfLm4oKpWHWlcHeqg24x6lY/wXU1RBcWaTa0AQUwoGm2m\\nIQCPfIqOEv/QC2HpO7SVCYkl65KwR0oTd1AzYxdxEq3xHQbh69EL0FGZPVxVCPI+\\nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n }\n}'\n```", "field_renames": [], "fields": [ { @@ -22462,7 +22462,7 @@ "_key": "create" }, { - "description": "Delete a certificate issuer by ID.\n
\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n```", + "description": "Delete a certificate issuer by ID.\n
\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n```", "field_renames": [], "fields": [ { @@ -23540,7 +23540,7 @@ "_key": "read" }, { - "description": "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n```", + "description": "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n```", "field_renames": [], "fields": [ { @@ -24114,7 +24114,7 @@ "_key": "update" }, { - "description": "Validates the certificate issuer by sending a signing request for a test certificate. This should be done before the configuration is made active.\n
\n**Note:**\nThe API requests the 3rd party CA to sign a test certificate.\nFor some 3rd party CAs, this operation may use the account quota.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```", + "description": "Validates the certificate issuer by sending a signing request for a test certificate. This should be done before the configuration is made active.\n
\n**Note:**\nThe API requests the 3rd party CA to sign a test certificate.\nFor some 3rd party CAs, this operation may use the account quota.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```", "field_renames": [], "fields": [ { @@ -24597,7 +24597,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Configure the certificate issuer to use when creating device custom certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```", + "description": "Configure the certificate issuer to use when creating device custom certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```", "field_renames": [], "fields": [ { @@ -25604,7 +25604,7 @@ "_key": "get_default" }, { - "description": "Get certificate issuer configurations, optionally filtered by reference.\n
\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n
\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n**Note:** This endpoint does not implement pagination, and therefore ignores list control parameters such as `limit` or `after`.", + "description": "Get certificate issuer configurations, optionally filtered by reference.\n
\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n
\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n**Note:** This endpoint does not implement pagination, and therefore ignores list control parameters such as `limit` or `after`.", "field_renames": [], "fields": [ { @@ -43490,7 +43490,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a firmware image.\n
**Note:** Only use this API for images smaller than 100 MB. For larger images, [upload in chunks](https://www.pelion.com/docs/device-management/current/updating-firmware/uploading-a-large-firmware-image.html).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla bla' \\\n-F 'name=My Linux Image'\n```\n", + "description": "Create a firmware image.\n
**Note:** Only use this API for images smaller than 100 MB. For larger images, [upload in chunks](https://www.pelion.com/docs/device-management/current/updating-firmware/uploading-a-large-firmware-image.html).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: Bearer ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream'\n-F 'description=bla bla' \\\n-F 'name=My Linux Image'\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -43683,7 +43683,7 @@ "_key": "create" }, { - "description": "Delete a firmware image.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/11234567f9012ab56790120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Delete a firmware image.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/11234567f9012ab56790120000789012 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -43752,7 +43752,7 @@ "_key": "delete" }, { - "description": "List all firmware images.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: '\n```\n", + "description": "List all firmware images.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44089,7 +44089,7 @@ "_key": "list" }, { - "description": "Retrieve a firmware image.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/1123456f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Retrieve a firmware image.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/1123456f9012ab567890120000789012 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44350,7 +44350,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload a firmware manifest. The API enforces a maximum manifest size of 2KB.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \\\n-H 'Authorization: ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream' \\\n-F 'description=bla bla' \\\n-F 'key_table=@myKeyTable.proto;type=' \\\n-F 'name=My Manifest'\n```\n", + "description": "Upload a firmware manifest. The API enforces a maximum manifest size of 2KB.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \\\n-H 'Authorization: Bearer ' \\\n-H 'Content-Type: multipart/form-data' \\\n-F 'datafile=@myimage.bin;type=application/octet-stream' \\\n-F 'description=bla bla' \\\n-F 'key_table=@myKeyTable.proto;type=' \\\n-F 'name=My Manifest'\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44657,7 +44657,7 @@ "_key": "create" }, { - "description": "Delete a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/11234567f9012ab56780120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Delete a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/11234567f9012ab56780120000789012 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -44730,7 +44730,7 @@ "_key": "delete" }, { - "description": "List all firmware manifests.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \\\n-H 'Authorization: '\n```\n", + "description": "List all firmware manifests.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -45149,7 +45149,7 @@ "_key": "list" }, { - "description": "Retrieve a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/1123467f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Retrieve a firmware manifest.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/1123467f9012ab567890120000789012 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [ { "api_fieldname": "datafile", @@ -90748,7 +90748,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Archive a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc649000000000001001000b8/archive \\\n-H 'Authorization: '\n```\n", + "description": "Archive a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc649000000000001001000b8/archive \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -90829,7 +90829,7 @@ "_key": "archive" }, { - "description": "Create an update campaign.\n\nTo include a filter for targeted devices, refer to the filter using `` in the message body.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"56780000000000a5b70000000000bd98\"\n}'\n```\n", + "description": "Create an update campaign.\n\nTo include a filter for targeted devices, refer to the filter using `` in the message body.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"56780000000000a5b70000000000bd98\"\n}'\n```\n", "field_renames": [], "fields": [ { @@ -91251,7 +91251,7 @@ "_key": "create" }, { - "description": "Delete an update campaign.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123457f9012ab567890120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Delete an update campaign.\n
\n**Usage example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123457f9012ab567890120000789012 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -91401,7 +91401,7 @@ "_key": "delete" }, { - "description": "Get metadata for all devices in a campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56790120000789012/campaign-device-metadata \\\n-H 'Authorization: '\n```\n", + "description": "Get metadata for all devices in a campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56790120000789012/campaign-device-metadata \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -91728,7 +91728,7 @@ "_key": "device_metadata" }, { - "description": "Get update campaigns for devices specified by a filter.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: '\n```\n", + "description": "Get update campaigns for devices specified by a filter.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -92224,7 +92224,7 @@ "_key": "list" }, { - "description": "Get an update campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56890120000789012 \\\n-H 'Authorization: '\n```\n", + "description": "Get an update campaign.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56890120000789012 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -92561,7 +92561,7 @@ "_key": "read" }, { - "description": "Start a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8900002e655cd94fa8/start \\\n-H 'Authorization: '\n```\n", + "description": "Start a campaign.\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8900002e655cd94fa8/start \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -92642,7 +92642,7 @@ "_key": "start" }, { - "description": "Stop a campaign. Stopping is a process that requires the campaign go through several [phases](https://www.pelion.com/docs/device-management/current/updating-firmware/device-management-update-using-the-apis.html).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \\\n-H 'Authorization: '\n```\n", + "description": "Stop a campaign. Stopping is a process that requires the campaign go through several [phases](https://www.pelion.com/docs/device-management/current/updating-firmware/device-management-update-using-the-apis.html).\n
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { @@ -92723,7 +92723,7 @@ "_key": "stop" }, { - "description": "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123007f9012ab567890120000789012 \\\n-H 'Authorization: ' \\\nd '{\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", + "description": "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123007f9012ab567890120000789012 \\\n-H 'Authorization: Bearer ' \\\nd '{\n \"description\": \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\",\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\",\n}'\n```\n", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 390c2bcac..f0a98554c 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -13971,7 +13971,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a89900000655cd94fa8/campaign-device-metadata/016e83ddc645000000000001001000f6 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -14193,7 +14193,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/skipped/event_types \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -14460,7 +14460,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56780120000789012/statistics \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -14714,7 +14714,7 @@ entities: curl https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/fail \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -14996,7 +14996,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -16071,12 +16071,12 @@ entities: \ of the same type, provided they have different names. This allows verification\ \ of the certificate issuer configuration before activation.\n
\n**Example:**\n\ ```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\"\ - ,\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate\ - \ issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \ - \ \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\"\ - ,\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\"\ + ,\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\"\ + : null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\"\ + ,\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \ + \ \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END\ \ CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\\ nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\\ nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\\ @@ -16478,7 +16478,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ ```' drop_fields: @@ -17249,10 +17249,9 @@ entities: - _key: update description: "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X\ \ PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign\ - \ certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n\ - ```" + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\"\ + ,\n \"name\": \"GlobalSign Issuer\"\n}'\n```" drop_fields: - object - etag @@ -17680,7 +17679,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -18005,9 +18004,9 @@ entities: - _key: create description: "Configure the certificate issuer to use when creating device custom\ \ certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type:\ - \ application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\"\ - ,\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```" + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\"\ + : \"01621a36719d507b9d48a91b00000000\"\n}'\n```" drop_fields: - object - etag @@ -18714,7 +18713,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -18727,7 +18726,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -33297,7 +33296,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images \ - -H ''Authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''Content-Type: multipart/form-data'' \ @@ -33475,7 +33474,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-images/11234567f9012ab56790120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -33538,7 +33537,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -33824,7 +33823,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-images/1123456f9012ab567890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -34139,7 +34138,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ - -H ''Authorization: '' \ + -H ''Authorization: Bearer '' \ -H ''Content-Type: multipart/form-data'' \ @@ -34431,7 +34430,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/11234567f9012ab56780120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -34496,7 +34495,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -34859,7 +34858,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/firmware-manifests/1123467f9012ab567890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -69403,7 +69402,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc649000000000001001000b8/archive \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -69472,7 +69471,7 @@ entities: description: "Create an update campaign.\n\nTo include a filter for targeted devices,\ \ refer to the filter using `` in the message body.\n
\n**Usage\ \ example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns\ - \ \\\n-H 'Authorization: ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"campaign_strategy\": \"one-shot\",\n \"description\": \"Campaign\ \ is for ...\",\n \"device_filter\": \"\",\n \"name\": \"campaign\"\ ,\n \"root_manifest_id\": \"56780000000000a5b70000000000bd98\"\n}'\n```\n" @@ -69860,7 +69859,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123457f9012ab567890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -69986,7 +69985,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56790120000789012/campaign-device-metadata \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -70265,7 +70264,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -70705,7 +70704,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/11234567f9012ab56890120000789012 \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -71018,7 +71017,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/5d645eaec2315a8900002e655cd94fa8/start \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -71096,7 +71095,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/update-campaigns/016e83ddc645000000000001001000b5/stop \ - -H ''Authorization: '' + -H ''Authorization: Bearer '' ``` @@ -71164,9 +71163,9 @@ entities: - _key: update description: "Modify an update campaign.\n
\n**Usage example:**\n```\ncurl\ \ -X PUT https://api.us-east-1.mbedcloud.com/v3/update-campaigns/1123007f9012ab567890120000789012\ - \ \\\n-H 'Authorization: ' \\\nd '{\n \"description\":\ - \ \"Campaign is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\"\ - ,\n \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ + \ \\\n-H 'Authorization: Bearer ' \\\nd '{\n \"description\": \"Campaign\ + \ is for ...\",\n \"device_filter\": \"123400000000000000000000000ae45\",\n\ + \ \"name\": \"campaign\",\n \"root_manifest_id\": \"5678000000000000000000000000bd98\"\ ,\n}'\n```\n" drop_fields: - object From 304a2f5b0c5ba8e0c4aef1241e3fdbd44fd88481 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 7 Aug 2020 12:41:43 +0000 Subject: [PATCH 095/111] new SDK config changes via api-contract @ 2020-08-07 12:41 --- .../public/pelion_dm_public_openapi.yaml | 48 +++++++++---------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index bf8f6e11c..7529ab31d 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6233,10 +6233,7 @@ definitions: RegisterWebsocketChannel: properties: serialization: - description: Serialization configuration for a channel - schema: - $ref: '#/definitions/SerializationConfigData' - type: object + $ref: '#/definitions/SerializationConfigData' type: object RegistrationDeletesCounter: description: The number of deregistration requests received from devices. @@ -6572,13 +6569,10 @@ definitions: minimum: 0 type: integer SerializationConfigData: + description: Serialization configuration for a channel. properties: cfg: - description: Serialization configuration object according to configuration - type. - schema: - $ref: '#/definitions/SerializationConfigObjectV2' - type: object + $ref: '#/definitions/SerializationConfigObjectV2' max_chunk_size: description: Maximum number of messages in NotificationMessage container delivered in one request. Default is 10000. Using a very low value for high troughput @@ -6602,6 +6596,7 @@ definitions: - type type: object SerializationConfigObjectV2: + description: Serialization configuration object according to configuration type. properties: deregistrations_as_object: default: false @@ -8587,10 +8582,7 @@ definitions: example: '{"authorization" : "f4b93d6e-4652-4874-82e4-41a3ced0cd56"}' type: object serialization: - description: Serialization configuration for a channel. - schema: - $ref: '#/definitions/SerializationConfigData' - type: object + $ref: '#/definitions/SerializationConfigData' url: description: The URL to which the notifications are sent. We recommend that you serve this URL over HTTPS. @@ -8608,10 +8600,7 @@ definitions: example: 0 type: integer serialization: - description: Serialization configuration for a channel. - schema: - $ref: '#/definitions/SerializationConfigData' - type: object + $ref: '#/definitions/SerializationConfigData' status: default: disconnected description: Channel status is 'connected' when the channel has an active @@ -10337,6 +10326,11 @@ paths: exists. + **Note**: The current version does not yet have the capability to determine + the channel status and will always return status ''unknown'' and queue size + ''-1''. + + **Example:** @@ -10378,15 +10372,17 @@ paths: \ be active at a time. If you register a new websocket channel while another\ \ one is active, it replaces the previously active one. If another type of\ \ channel is already present, you need to delete it before registering a websocket\ - \ channel.\n\n**Expiration of a websocket:**\n\nA websocket channel is expired\ - \ if the channel does not have an opened websocket connection for a 24-hour\ - \ period. Channel expiration means the channel is deleted and any undelivered\ - \ notifications stored in its internal queue is removed. As long as the channel\ - \ has an opened websocket connection or time between successive websocket\ - \ connections is less than 24 hours,\nthe channel is considered active, notifications\ - \ are stored in its internal queue and delivered when a websocket connection\ - \ is active. A channel can be also deleted explicitly with a DELETE call.\n\ - \nMore about [notification sending logic](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html#notification-sending-logic).\n\ + \ channel.\n\n**Note**: The current version does not yet have the capability\ + \ to determine the channel status and will always return status 'unknown'\ + \ and queue size '-1'.\n\n**Expiration of a websocket:**\n\nA websocket channel\ + \ is expired if the channel does not have an opened websocket connection for\ + \ a 24-hour period. Channel expiration means the channel is deleted and any\ + \ undelivered notifications stored in its internal queue is removed. As long\ + \ as the channel has an opened websocket connection or time between successive\ + \ websocket connections is less than 24 hours,\nthe channel is considered\ + \ active, notifications are stored in its internal queue and delivered when\ + \ a websocket connection is active. A channel can be also deleted explicitly\ + \ with a DELETE call.\n\nMore about [notification sending logic](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html#notification-sending-logic).\n\ \n**Configuration options:**\n\nThe event notification channel provides configurations\ \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ From 65734e1e6f73de5068c1c4990ba45b8ffcaa26fd Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 10 Aug 2020 12:50:47 +0000 Subject: [PATCH 096/111] new SDK config changes via api-contract @ 2020-08-10 12:50 --- .../public/pelion_dm_public_openapi.yaml | 263 +++++++++--------- .../public/sdk_foundation_definition.json | 42 +-- .../public/sdk_foundation_definition.yaml | 46 +-- 3 files changed, 175 insertions(+), 176 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 7529ab31d..bca1cdb42 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -6482,7 +6482,7 @@ definitions: type: string type: object RestApiRequestsWithApiKeyTokenCounter: - description: The number of REST API requests from API key sessions in web applications + description: The number of REST API requests made with access keys in web applications or other service integrations. format: int64 minimum: 0 @@ -9271,7 +9271,7 @@ paths: \ call on the device:\n\n- Use the GET method to read resource values.\n\n\ \ For example, to read the value of resource `/3200/0/5501`, use:\n\n```\n\ curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id}\ - \ \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'content-type: application/json'\ + \ \\\n-H 'Authorization: Bearer {access_key}' \\\n-H 'content-type: application/json'\ \ \\\n-d '{\"method\": \"GET\", \"uri\": \"/3200/0/5501\"}'\n```\n\n For\ \ `GET` methods, the API may fetch values from an internal cache, instead\ \ of contacting the device.\n\n If the value is not in the cache, the read\ @@ -9411,7 +9411,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' operationId: listPreSharedKeys @@ -9453,7 +9453,7 @@ paths: \ re-setting a PSK for an endpoint.\n\n**Note**: The PSK APIs are available\ \ only to accounts that have this feature enabled.\n\n**Example:**\n```\n\ curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n\ - -H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\"\ + -H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\"\ \ \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\"\ : \"4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```" operationId: uploadPreSharedKey @@ -9501,7 +9501,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' operationId: deletePreSharedKey @@ -9541,7 +9541,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' operationId: getPreSharedKey @@ -9583,7 +9583,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/endpoints/{device-id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getEndpointResources @@ -9628,7 +9628,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/endpoints/{device-id}/{resourcePath} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteResourcePath @@ -9722,7 +9722,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/endpoints/{device-id}/{resourcePath} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getResourceValue @@ -9836,7 +9836,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v2/endpoints/{device-id}/3303/0/5605 \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: executeOrCreateResource @@ -9960,7 +9960,7 @@ paths: -H "content-type: text/plain" \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -d ''1'' @@ -10040,7 +10040,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/notification/callback \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deregisterWebhook @@ -10050,7 +10050,7 @@ paths: 401: &id023 description: Unauthorized. 403: &id024 - description: Forbidden. The authorization token used is not an API key. + description: Forbidden. The authorization token used is not an access key. 404: description: Callback URL does not exist. summary: Delete callback URL. @@ -10067,7 +10067,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/callback \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getWebhook @@ -10102,24 +10102,24 @@ paths: \n**Optional headers in a callback message:**\n\nYou can set optional headers\ \ to a callback in a **Webhook** object. Device Management Connect includes\ \ the header and key pairs in the notification messages send them to callback\ - \ URL. The callback URLs and headers are API key-specific.\n\nOne possible\ + \ URL. The callback URLs and headers are application-specific.\n\nOne possible\ \ use for additional headers is checking the origin of a PUT request, as well\ - \ as distinguishing the application (API key) to which the notification belongs.\n\ - \n**Note**: Only one callback URL for each API key can be active. If you register\ - \ a new URL while another one is active, it replaces the active one. There\ - \ can be only one notification channel at a time for each API key. If another\ - \ type of channel is already present, you need to delete it before setting\ - \ the callback URL.\n\n**Expiration of a callback URL:**\n\nA callback can\ - \ expire when Device Management cannot deliver a notification due to a connection\ - \ timeout or error response (4xx or 5xx). After each delivery failure, Device\ - \ Management sets an exponential back-off time and makes a retry attempt after\ - \ that. The first retry delay is 1 second, then 2s, 4s, 8s, up to a maximum\ - \ delay of two minutes. The retry delay is applied when the response is received,\ - \ or in case of timeout, after the timeout expires. The request timeout is\ - \ 20 seconds; in the case of timeout, the first retry happens 20 + 1 seconds\ - \ after the first delivery attempt, then 20 + 2 seconds, and so on. The callback\ - \ URL is removed if all retries fail within 24 hours. More about [notification\ - \ sending logic](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html#notification-sending-logic)\ + \ as distinguishing the application to which the notification belongs.\n\n\ + **Note**: Only one callback URL for each application can be active. If you\ + \ register a new URL while another one is active, it replaces the active one.\ + \ There can be only one notification channel at a time for each application.\ + \ If another type of channel is already present, you need to delete it before\ + \ setting the callback URL.\n\n**Expiration of a callback URL:**\n\nA callback\ + \ can expire when Device Management cannot deliver a notification due to a\ + \ connection timeout or error response (4xx or 5xx). After each delivery failure,\ + \ Device Management sets an exponential back-off time and makes a retry attempt\ + \ after that. The first retry delay is 1 second, then 2s, 4s, 8s, up to a\ + \ maximum delay of two minutes. The retry delay is applied when the response\ + \ is received, or in case of timeout, after the timeout expires. The request\ + \ timeout is 20 seconds; in the case of timeout, the first retry happens 20\ + \ + 1 seconds after the first delivery attempt, then 20 + 2 seconds, and so\ + \ on. The callback URL is removed if all retries fail within 24 hours. More\ + \ about [notification sending logic](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html#notification-sending-logic)\ \ in the Device Management documentation.\n\n**Supported callback URL protocols:**\n\ \nCurrently, only HTTP and HTTPS protocols are supported.\n\n**HTTPS callback\ \ URLs:**\n\nWhen delivering a notification to an HTTPS-based callback URL,\ @@ -10128,11 +10128,11 @@ paths: \ with a Common Name (CN) set to `notifications.mbedcloud.com`.\n\n**Configuration\ \ options:**\n\nThe event notification channel provides configurations options\ \ defined in [Serialization config](#SerializationConfigObjectV2).\n\n**Example:**\n\ - \nThis example command shows how to set your callback URL and API key. It\ - \ also sets an optional header authorization. When Device Management Connect\ - \ calls your callback URL, the call contains the authorization header with\ - \ the defined value.\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/callback\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ + \nThis example command shows how to set your callback URL. It also sets an\ + \ optional header authorization. When Device Management Connect calls your\ + \ callback URL, the call contains the authorization header with the defined\ + \ value.\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/callback\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ \ \\\n-d '{\n \"url\": \"{callback-url}\",\n \"headers\": {\"authorization\"\ : \"f4b93d6e-4652-4874-82e4-41a3ced0cd56\"},\n \"serialization\": {\"type\"\ : \"v2\", \"max_chunk_size\": \"100\",\n \"cfg\": {\"deregistrations_as_object\"\ @@ -10165,7 +10165,7 @@ paths: get: description: "Get channel delivery mechanism.\n\n**Example:**\n\n curl -X\ \ GET https://api.us-east-1.mbedcloud.com/v2/notification/channel \\\n \ - \ -H 'Authorization: Bearer '\n" + \ -H 'Authorization: Bearer '\n" operationId: getChannelMetadata responses: 200: @@ -10195,7 +10195,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/notification/pull \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteLongPollChannel @@ -10222,7 +10222,7 @@ paths: requests. The HTTP request is kept open until one or more event notifications are delivered to the client, or the request times out (response code 204). In both cases, the client should open a new polling connection after the previous - one closes. Only a single long polling connection per API key can be ongoing + one closes. Only a single long polling connection per application can be ongoing at any given time. We recommend using a persistent connection (Connection keep-alive header in the request) to avoid excess TLS handshakes. @@ -10241,9 +10241,9 @@ paths: proper method to receive notifications is a **notification callback**. - There can only be one notification channel per API key in Device Management - Connect. If a notification channel of other type already exists for the API - key, delete it before creating a long poll notification channel. + There can only be one notification channel per application in Device Management + Connect. If a notification channel of other type already exists for the application, + delete it before creating a long poll notification channel. **Example:** @@ -10252,7 +10252,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/pull \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: longPollNotifications @@ -10292,7 +10292,7 @@ paths: x-origin: /home/circleci/project/notification-service/public/swagger.yaml /v2/notification/websocket: delete: - description: 'Delete a notification websocket channel bound to the API key. + description: 'Delete a notification websocket channel bound to the application. This is required to change the channel from websocket to another type. @@ -10307,7 +10307,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/notification/websocket \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteWebsocket @@ -10339,7 +10339,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getWebsocket @@ -10368,8 +10368,8 @@ paths: \nA websocket channel can have only one active websocket connection at a time.\ \ If a websocket connection for a channel exists and a new connection to the\ \ same channel is made, the connection is accepted and the older connection\ - \ is closed.\n\n**Note**: Only one websocket channel for each API key can\ - \ be active at a time. If you register a new websocket channel while another\ + \ is closed.\n\n**Note**: Only one websocket channel for each application\ + \ can be active at a time. If you register a new websocket channel while another\ \ one is active, it replaces the previously active one. If another type of\ \ channel is already present, you need to delete it before registering a websocket\ \ channel.\n\n**Note**: The current version does not yet have the capability\ @@ -10386,7 +10386,7 @@ paths: \n**Configuration options:**\n\nThe event notification channel provides configurations\ \ options defined in [Serialization config](#SerializationConfigObjectV2)\n\ \n**Example:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/notification/websocket\ - \ \\\n-H 'Authorization: Bearer ' \\\n-d '{\n \"serialization\"\ + \ \\\n-H 'Authorization: Bearer ' \\\n-d '{\n \"serialization\"\ : {\"type\": \"v2\", \"max_chunk_size\": \"100\",\n \"cfg\": {\"deregistrations_as_object\"\ : \"true\", \"include_uid\": \"true\", \"include_timestamp\": \"true\", \"\ include_original_ep\": \"true\"\n }\n }\n}\n```" @@ -10426,24 +10426,24 @@ paths: \ \n \n 1006\n Abnormal closure.\ \ The client should reconnect after receiving this status code. A short reconnect\ \ delay is recommended.\n \n \n 1008\n\ - \ Policy violation. Set if the API key is lost or invalidated after\ - \ a successful WebSocket handshake.\n \n \n 1011\n\ - \ Unexpected condition. The socket is closed with this status in\ - \ an attempt to open a socket to a nonexistent channel (without a prior PUT\ - \ request). This code is also used to indicate a closing socket for any other\ - \ unexpected condition in the server.\n \n \n 1012\n\ - \ Service restart. Set when the server restarts for update, maintenance,\ - \ and so on. The client should reconnect after receiving this status code.\ - \ A short reconnect delay is recommended.\n \n \n\n\ - \n**Expected client behaviour:**\n\nIf the connection is closed with code\ - \ 1006 or 1012, the client should try to reconnect to maintain the notification\ - \ flow. The client might disconnect several times in a relatively short period,\ - \ for example, during service updates. This is normal. The desired client\ - \ behavior is to reconnect after each disconnect.\n\n**Example:**\n\nThe curl\ - \ examples provided are meant only for testing. For production devices, use\ - \ a websocket client library.\nAs the curl example doesn't know how to responsd\ - \ to websocket ping, it will stop working shortly after receiving first ping.\n\ - ```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ + \ Policy violation. Set if the access key is lost or invalidated\ + \ after a successful WebSocket handshake.\n \n \n \ + \ 1011\n Unexpected condition. The socket is closed\ + \ with this status in an attempt to open a socket to a nonexistent channel\ + \ (without a prior PUT request). This code is also used to indicate a closing\ + \ socket for any other unexpected condition in the server.\n \n\ + \ \n 1012\n Service restart. Set when\ + \ the server restarts for update, maintenance, and so on. The client should\ + \ reconnect after receiving this status code. A short reconnect delay is recommended.\n\ + \ \n \n\n\n**Expected client behaviour:**\n\nIf the\ + \ connection is closed with code 1006 or 1012, the client should try to reconnect\ + \ to maintain the notification flow. The client might disconnect several times\ + \ in a relatively short period, for example, during service updates. This\ + \ is normal. The desired client behavior is to reconnect after each disconnect.\n\ + \n**Example:**\n\nThe curl examples provided are meant only for testing. For\ + \ production devices, use a websocket client library.\nAs the curl example\ + \ doesn't know how to responsd to websocket ping, it will stop working shortly\ + \ after receiving first ping.\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ \ \\\n-H \"Authorization:Bearer {apikey}\" \\\n-H \"Connection:upgrade\" \\\ \n-H \"Upgrade:websocket\" \\\n-H \"Sec-WebSocket-Version: 13\" \\\n-H \"\ Sec-WebSocket-Key: {base64nonce}\" \\\n--no-buffer \\\n--head\n```" @@ -10459,8 +10459,8 @@ paths: name: Upgrade required: true type: string - - description: 'API key or user token must be present in the `Sec-WebSocket-Protocol` - header **if Authorization header cannot be provided**: `Sec-WebSocket-Protocol:"wss,pelion_ak_{api_key}"`. + - description: 'Access key or user token must be present in the `Sec-WebSocket-Protocol` + header **if Authorization header cannot be provided**: `Sec-WebSocket-Protocol:"wss,pelion_ak_{access_key}"`. Refer to the notification service documentation for examples.' in: header @@ -10511,7 +10511,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/subscriptions \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deletePreSubscriptions @@ -10521,7 +10521,7 @@ paths: 401: description: Unauthorized. 403: - description: 'Forbidden: the authorization token used is not an API key.' + description: 'Forbidden: the authorization token used is not an access key.' summary: Remove presubscriptions. tags: - Device data - subscriptions @@ -10537,7 +10537,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/subscriptions \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getPreSubscriptions @@ -10551,7 +10551,7 @@ paths: 401: description: Unauthorized. 403: - description: 'Forbidden: the authorization token used is not an API key.' + description: 'Forbidden: the authorization token used is not an access key.' summary: View presubscriptions. tags: - Device data - subscriptions @@ -10570,29 +10570,30 @@ paths: \ a rule.\nTo place dynamic observation rules for individual object instances\ \ and resources and define when the device sends observations, set [notification\ \ rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html).\n\ - \n**Note:** The subscription is bound to the API key your application is using.\ - \ To get notifications of the resource value changes, you need to create an\ - \ [event notification channel](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html)\ - \ with the same API key.\n\n**Example request:**\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v2/subscriptions\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json'\ - \ \\\n-d '[\n {\n \"endpoint-name\": \"node-001\",\n \ - \ \"resource-path\": [\"/dev\"]\n },\n {\n \"endpoint-type\"\ - : \"Light\",\n \"resource-path\": [\"/sen/*\"]\n },\n \ - \ {\n \"endpoint-name\": \"node*\"\n },\n {\n \ - \ \"endpoint-type\": \"Sensor\"\n },\n {\n \"resource-path\"\ - : [\"/dev/temp\",\"/dev/hum\"]\n }\n ]'\n```\n\n- Subscribe to `/dev`\ - \ resource of endpoint named `node-001`.\n- Subscribe to `Light` type of endpoints\ - \ and their resources prefixed with `/sen/`.\n- Subscribe to all observable\ - \ resources of endpoint names prefixed with `node`.\n- Subscribe to all observable\ - \ resources of `Sensor` type endpoints.\n- Subscribe to `/dev/temp` and `/dev/hum`\ - \ resources of all endpoints.\n\n**Limits**:\n\n- The maximum length of the\ - \ endpoint name and endpoint type is 64 characters.\n- The maximum length\ - \ of the resource path is 128 characters.\n- You can subscribe to 256 separate\ - \ resource paths.\n- The maximum number of presubscription entries is 1024.\n\ - \n**Note**: To save bandwidth and avoid unnecessary traffic, use resource\ - \ path patterns to limit the matching resources in the presubscription data.\ - \ This prevents your web application from receiving unwanted resource notifications.\ - \ See [Subscribe only to what you need](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)." + \n**Note:** The subscription is bound to the application you are using. To\ + \ get notifications of the resource value changes, you need to create an [event\ + \ notification channel](https://www.pelion.com/docs/device-management/current/integrate-web-app/event-notification.html)\ + \ with an access key of the same application.\n\n**Example request:**\n```\n\ + curl -X PUT https://api.us-east-1.mbedcloud.com/v2/subscriptions \\\n-H 'Authorization:\ + \ Bearer ' \\\n-H 'content-type: application/json' \\\n-d '[\n\ + \ {\n \"endpoint-name\": \"node-001\",\n \"resource-path\"\ + : [\"/dev\"]\n },\n {\n \"endpoint-type\": \"Light\",\n\ + \ \"resource-path\": [\"/sen/*\"]\n },\n {\n \"\ + endpoint-name\": \"node*\"\n },\n {\n \"endpoint-type\"\ + : \"Sensor\"\n },\n {\n \"resource-path\": [\"/dev/temp\"\ + ,\"/dev/hum\"]\n }\n ]'\n```\n\n- Subscribe to `/dev` resource of\ + \ endpoint named `node-001`.\n- Subscribe to `Light` type of endpoints and\ + \ their resources prefixed with `/sen/`.\n- Subscribe to all observable resources\ + \ of endpoint names prefixed with `node`.\n- Subscribe to all observable resources\ + \ of `Sensor` type endpoints.\n- Subscribe to `/dev/temp` and `/dev/hum` resources\ + \ of all endpoints.\n\n**Limits**:\n\n- The maximum length of the endpoint\ + \ name and endpoint type is 64 characters.\n- The maximum length of the resource\ + \ path is 128 characters.\n- You can subscribe to 256 separate resource paths.\n\ + - The maximum number of presubscription entries is 1024.\n\n**Note**: To save\ + \ bandwidth and avoid unnecessary traffic, use resource path patterns to limit\ + \ the matching resources in the presubscription data. This prevents your web\ + \ application from receiving unwanted resource notifications. See [Subscribe\ + \ only to what you need](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)." operationId: updatePreSubscriptions parameters: - description: Array of presubscriptions. @@ -10611,7 +10612,7 @@ paths: 401: description: Unauthorized. 403: - description: 'Forbidden: the authorization token used is not an API key.' + description: 'Forbidden: the authorization token used is not an access key.' summary: Set presubscriptions. tags: - Device data - subscriptions @@ -10628,7 +10629,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/subscriptions/{device-id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteEndpointSubscriptions @@ -10657,7 +10658,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v2/subscriptions/{device-id} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getEndpointSubscriptions @@ -10696,7 +10697,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/subscriptions/{device-id}/{resourcePath} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: deleteResourceSubscription @@ -10792,7 +10793,7 @@ paths: curl -X PUT https://api.us-east-1.mbedcloud.com/v2/subscriptions/{device-id}/{resourcePath} \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ``` @@ -19819,7 +19820,7 @@ paths: \ - rest_api_requests_with_api_key_token\n - pelion_to_webapp_notifications\n\ \ - device_to_pelion_messages\n - pelion_to_device_messages\n\n**Example:**\n\ ```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-report?month=2018-07\ - \ \\\n-H 'Authorization: Bearer '\n```" + \ \\\n-H 'Authorization: Bearer '\n```" operationId: getBillingReport parameters: - description: Queried year and month of billing report. @@ -20040,7 +20041,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-report-active-devices?month=2018-07 \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getBillingReportActiveDevices @@ -20147,7 +20148,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-report-firmware-updates?month=2018-07 \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getBillingReportFirmwareUpdates @@ -20245,7 +20246,7 @@ paths: Range start is inclusive, while range end is exclusive. The specified range\ \ must be equal to or greater than the specified interval.\n\nReturned data\ \ does not include any tenant usage.\n\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/billing-statistics?start=2019-11-01T00:00:00.000Z&end=2019-12-01T00:00:00.000Z&interval=1d\ - \ \\\n -H 'Authorization: Bearer '\n```" + \ \\\n -H 'Authorization: Bearer '\n```" operationId: getStatisticsView parameters: - description: 'Start time of the statistics view in RFC3339 date-time format, @@ -21589,7 +21590,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ``` @@ -21599,7 +21600,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments?device_id__eq=01612df56f3b0a580a010fc700000000 \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getCertificateEnrollments @@ -21756,7 +21757,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments/01612df56f3b0a580a010fc700000000 \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getCertificateEnrollment @@ -22413,7 +22414,7 @@ paths: curl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -H "content-type: application/json" \ @@ -22721,7 +22722,7 @@ paths: curl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' operationId: getDeveloperCertificate @@ -23126,7 +23127,7 @@ paths: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments @@ -23138,7 +23139,7 @@ paths: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ ''https://api.us-east-1.mbedcloud.com/v3/device-enrollments?limit=10'' @@ -23203,7 +23204,7 @@ paths: curl -X POST \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -23248,7 +23249,7 @@ paths: - multipart/form-data description: "With bulk delete, you can upload a `CSV` file containing a number\ \ of enrollment IDs to delete.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization:\ - \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ + \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ \ \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes\n\ \n```\n**To ensure your CSV file is valid:**\n1. The first line of the file\ \ (header) is ignored.\n1. Each line can contain comma-separated values, where\ @@ -23348,7 +23349,7 @@ paths: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes/{id} @@ -23390,7 +23391,7 @@ paths: - multipart/form-data description: "With bulk upload, you can upload a `CSV` file containing a number\ \ of enrollment IDs.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization:\ - \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ + \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ \ \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads\n\ \n```\n **To ensure your CSV file is valid:**\n 1. The first line of the\ \ file (header) is ignored.\n 1. Each line can contain comma-separated values,\ @@ -23491,7 +23492,7 @@ paths: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/{id} @@ -23542,7 +23543,7 @@ paths: curl -X DELETE \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id} @@ -23580,7 +23581,7 @@ paths: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id} @@ -26215,7 +26216,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/devices/01612df56f3b0a580a010fc700000000/certificates/customer.dlms/renew \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-length: 0'' @@ -26287,7 +26288,7 @@ paths: ``` curl -X GET https://api.us-east-1.mbedcloud.com/v3/devices/{device-id}/echo - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getDeviceEchoObject @@ -28662,8 +28663,7 @@ paths: \ using [Connect API](https://www.pelion.com/docs/device-management-api/connect/)\ \ endpoints. New metrics will be added to monitor the response delivery\ \ to client callback URLs later.\n\n**Example usage:**\n\n```\ncurl -X\ - \ GET \\\n -H \"Authorization : Bearer \"\n \ - \ 'https://api.us-east-1.mbedcloud.com/v3/metrics?include=transactions,total_count&start=20170207&end=20170407&interval=1d'\n\ + \ GET \\\n -H \"Authorization : Bearer \"\n 'https://api.us-east-1.mbedcloud.com/v3/metrics?include=transactions,total_count&start=20170207&end=20170407&interval=1d'\n\ \n{\n \"object\": \"list\",\n \"limit\": 20,\n \"total_count\"\ : 54,\n \"after\": \"2017-07-26T00:00:00Z\",\n \"has_more\": true,\n\ \ \"data\": [\n {\n \"id\": \"015d8157c800015e306fffff005374617473000\"\ @@ -28728,8 +28728,7 @@ paths: type: integer - description: "The metric ID after which to start fetching. This also can be\ \ used for pagination as follows:\n\n**Example usage:**\n\n```\ncurl -X\ - \ GET \\\n -H \"Authorization : Bearer \"\n \ - \ 'https://api.us-east-1.mbedcloud.com/v3/metrics?include=transactions,total_count&start=20170707&end=20170829&interval=1d&limit=20'\n\ + \ GET \\\n -H \"Authorization : Bearer \"\n 'https://api.us-east-1.mbedcloud.com/v3/metrics?include=transactions,total_count&start=20170707&end=20170829&interval=1d&limit=20'\n\ {\n \"object\": \"list\",\n \"limit\": 20,\n \"total_count\": 54,\n\ \ \"has_more\": true,\n \"data\": [\n {\n \"id\": \"\ 015d1a589800015e306fffff005374617473000\",\n \"timestamp\": \"\ @@ -28741,7 +28740,7 @@ paths: \ You can give the last ID of the list as the value of the `after` query\ \ parameter, and you get the next page of values. You can keep doing this\ \ until `has more` is false.\n```\ncurl -X GET \\\n -H \"Authorization\ - \ : Bearer \"\n 'https://api.us-east-1.mbedcloud.com/v3/metrics?include=transactions,total_count&start=20170707&end=20170829&interval=1d&limit=20&after=015d7c316c00015e306fffff005374617473000'\n\ + \ : Bearer \"\n 'https://api.us-east-1.mbedcloud.com/v3/metrics?include=transactions,total_count&start=20170707&end=20170829&interval=1d&limit=20&after=015d7c316c00015e306fffff005374617473000'\n\ \n{\n \"object\": \"list\",\n \"limit\": 20,\n \"total_count\": 54,\n\ \ \"after\": \"2017-07-26T00:00:00Z\",\n \"has_more\": true,\n \"\ data\": [\n {\n \"id\": \"015d8157c800015e306fffff005374617473000\"\ @@ -30053,7 +30052,7 @@ paths: curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' operationId: getAllServerCredentials @@ -30107,7 +30106,7 @@ paths: curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' operationId: getBootstrapServerCredentials @@ -30160,7 +30159,7 @@ paths: curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' operationId: getL2M2MServerCredentials @@ -30216,7 +30215,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/service-packages \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getServicePackages @@ -30317,7 +30316,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/service-packages-quota \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getServicePackageQuota @@ -30383,7 +30382,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/service-packages-quota-history \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' operationId: getServicePackageQuotaHistory diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 452a3ac14..529051e3c 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -20896,7 +20896,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get certificate enrollments list, optionally filtered.\n\n**Examples:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments \\\n-H 'Authorization: Bearer '\n```\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments?device_id__eq=01612df56f3b0a580a010fc700000000 \\\n-H 'Authorization: Bearer '\n```", + "description": "Get certificate enrollments list, optionally filtered.\n\n**Examples:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments \\\n-H 'Authorization: Bearer '\n```\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments?device_id__eq=01612df56f3b0a580a010fc700000000 \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -21410,7 +21410,7 @@ "_key": "list" }, { - "description": "Get a certificate enrollment by ID.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments/01612df56f3b0a580a010fc700000000 \\\n-H 'Authorization: Bearer '\n```", + "description": "Get a certificate enrollment by ID.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments/01612df56f3b0a580a010fc700000000 \\\n-H 'Authorization: Bearer '\n```", "field_renames": [], "fields": [ { @@ -30031,7 +30031,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a developer certificate (a certificate that can be flashed to multiple devices to connect to the bootstrap server).\n\n**Note:** The number of developer certificates allowed per account is limited. Please see [Setting up a Certificate Authority](https://www.pelion.com/docs/device-management/current/provisioning-process/integrating-with-a-third-party-ca.html).\n\n**Example:**\n```\ncurl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n-d { \"name\": \"\", \"description\": \"\" }\n```", + "description": "Create a developer certificate (a certificate that can be flashed to multiple devices to connect to the bootstrap server).\n\n**Note:** The number of developer certificates allowed per account is limited. Please see [Setting up a Certificate Authority](https://www.pelion.com/docs/device-management/current/provisioning-process/integrating-with-a-third-party-ca.html).\n\n**Example:**\n```\ncurl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n-d { \"name\": \"\", \"description\": \"\" }\n```", "field_renames": [ { "api_fieldname": "developer_certificate", @@ -31314,7 +31314,7 @@ "_key": "get_trusted_certificate_info" }, { - "description": "Return an existing developer certificate (a certificate that can be flashed to multiple devices to connect to bootstrap server).\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \\\n-H \"Authorization: Bearer \"\n```", + "description": "Return an existing developer certificate (a certificate that can be flashed to multiple devices to connect to bootstrap server).\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [ { "api_fieldname": "developer_certificate", @@ -34414,7 +34414,7 @@ "_key": "remove_from_group" }, { - "description": "Request a certificate renewal.\n\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/devices/01612df56f3b0a580a010fc700000000/certificates/customer.dlms/renew \\\n-H 'Authorization: Bearer ' \\\n-H 'content-length: 0'\n```", + "description": "Request a certificate renewal.\n\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/devices/01612df56f3b0a580a010fc700000000/certificates/customer.dlms/renew \\\n-H 'Authorization: Bearer ' \\\n-H 'content-length: 0'\n```", "field_renames": [], "fields": [ { @@ -36000,7 +36000,7 @@ "primary_key_field": "id", "methods": [ { - "description": "When the device connects to the bootstrap server and provides the enrollment ID, it is assigned to your account.\n
\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments \\\n-d '{\"enrollment_identity\": \"A-35:e7:72:8a:07:50:3b:3d:75:96:57:52:72:41:0d:78:cc:c6:e5:53:48:c6:65:58:5b:fa:af:4d:2d:73:95:c5\"}'\n```", + "description": "When the device connects to the bootstrap server and provides the enrollment ID, it is assigned to your account.\n
\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments \\\n-d '{\"enrollment_identity\": \"A-35:e7:72:8a:07:50:3b:3d:75:96:57:52:72:41:0d:78:cc:c6:e5:53:48:c6:65:58:5b:fa:af:4d:2d:73:95:c5\"}'\n```", "field_renames": [], "fields": [ { @@ -36370,7 +36370,7 @@ "_key": "create" }, { - "description": "To free a device from your account, delete the enrollment claim. To bypass the device ownership, you need to delete the enrollment and factory reset the device. For more information, see [Transferring ownership using First-to-Claim](https://www.pelion.com/docs/device-management/current/connecting/device-ownership-first-to-claim-by-enrollment-list.html).\n
\n**Example:**\n```\ncurl -X DELETE \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id}\n```", + "description": "To free a device from your account, delete the enrollment claim. To bypass the device ownership, you need to delete the enrollment and factory reset the device. For more information, see [Transferring ownership using First-to-Claim](https://www.pelion.com/docs/device-management/current/connecting/device-ownership-first-to-claim-by-enrollment-list.html).\n
\n**Example:**\n```\ncurl -X DELETE \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id}\n```", "field_renames": [], "fields": [ { @@ -36564,7 +36564,7 @@ "_key": "delete" }, { - "description": "Provides a list of pending and claimed enrollments.\n\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments\n```\nWith query parameters:\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\n'https://api.us-east-1.mbedcloud.com/v3/device-enrollments?limit=10'\n```", + "description": "Provides a list of pending and claimed enrollments.\n\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments\n```\nWith query parameters:\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\n'https://api.us-east-1.mbedcloud.com/v3/device-enrollments?limit=10'\n```", "field_renames": [], "fields": [ { @@ -36975,7 +36975,7 @@ "_key": "list" }, { - "description": "Check detailed enrollment info, for example, date of claim or expiration date.\n\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id}\n```", + "description": "Check detailed enrollment info, for example, date of claim or expiration date.\n\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id}\n```", "field_renames": [], "fields": [ { @@ -37354,7 +37354,7 @@ "primary_key_field": "id", "methods": [ { - "description": "With bulk upload, you can upload a `CSV` file containing a number of enrollment IDs.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads\n\n```\n **To ensure your CSV file is valid:**\n 1. The first line of the file (header) is ignored.\n 1. Each line can contain comma-separated values, where the first value is the Enrollment ID. Everything after the first comma is ignored.\n 1. Valid enrollments begin with A followed by a - and 95 characters (examples below).\n 1. One enrollment ID per line. Empty lines are ignored.\n 1. Trailing comma at the end of the line is optional.\n 1. Lines are terminated with either a line feed \\n, a carriage return \\r, or both \\r\\n.\n 1. Leading and trailing whitespace characters (Unicode U+0000 - U+0020) are removed from the identity before validation.\n 1. Empty identities are ignored.\n 1. Valid enrollment identities may be enclosed within quotation marks. Whitespace inside quotation marks is not trimmed and will cause validation to fail. Empty quotation marks are also invalid.\n 1. Use UTF-8 encoding.\n\n\n**A valid enrollment file:**\n```\n\"Examples of valid identites, notes\"\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\",\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\"\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:24:44:71:22:15:43:23:12, This text is ignored.\n A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12 , Whitespace is trimmed before validation.\n \"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12\" , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A file containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\", First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Too-short identity.\n\"\", Empty quotation marks are an invalid identity\n\" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12 \", Whitespace inside quotation marks is not trimmed, causing an error.\n\n```\n\n**An empty file:**\n```\n\"Examples of blank lines that are ignored\"\n\n,,\n, This is also considered a blank line.\n```", + "description": "With bulk upload, you can upload a `CSV` file containing a number of enrollment IDs.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads\n\n```\n **To ensure your CSV file is valid:**\n 1. The first line of the file (header) is ignored.\n 1. Each line can contain comma-separated values, where the first value is the Enrollment ID. Everything after the first comma is ignored.\n 1. Valid enrollments begin with A followed by a - and 95 characters (examples below).\n 1. One enrollment ID per line. Empty lines are ignored.\n 1. Trailing comma at the end of the line is optional.\n 1. Lines are terminated with either a line feed \\n, a carriage return \\r, or both \\r\\n.\n 1. Leading and trailing whitespace characters (Unicode U+0000 - U+0020) are removed from the identity before validation.\n 1. Empty identities are ignored.\n 1. Valid enrollment identities may be enclosed within quotation marks. Whitespace inside quotation marks is not trimmed and will cause validation to fail. Empty quotation marks are also invalid.\n 1. Use UTF-8 encoding.\n\n\n**A valid enrollment file:**\n```\n\"Examples of valid identites, notes\"\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\",\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\"\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:24:44:71:22:15:43:23:12, This text is ignored.\n A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12 , Whitespace is trimmed before validation.\n \"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12\" , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A file containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\", First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Too-short identity.\n\"\", Empty quotation marks are an invalid identity\n\" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12 \", Whitespace inside quotation marks is not trimmed, causing an error.\n\n```\n\n**An empty file:**\n```\n\"Examples of blank lines that are ignored\"\n\n,,\n, This is also considered a blank line.\n```", "field_renames": [], "fields": [ { @@ -37756,7 +37756,7 @@ "_key": "download_full_report_file" }, { - "description": "Provides information on bulk upload for the given ID, for example, bulk status and number of processed enrollment identities. Provides links to bulk upload reports as well.\n\n**Report file format:**\nThe report files have a header line, and the values are separated by commas. Delimit lines with a line break (CRLF). Make sure the report file is compliant with IETF Informal CSV common format [RFC 4180](https://tools.ietf.org/html/rfc4180).\n\nAn example of a full report file:\n```\n\"entity__id\",\"entity__created_at\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n```\nAn example of an error report file:\n```\n\"entity__id\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n```\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/{id}\n```", + "description": "Provides information on bulk upload for the given ID, for example, bulk status and number of processed enrollment identities. Provides links to bulk upload reports as well.\n\n**Report file format:**\nThe report files have a header line, and the values are separated by commas. Delimit lines with a line break (CRLF). Make sure the report file is compliant with IETF Informal CSV common format [RFC 4180](https://tools.ietf.org/html/rfc4180).\n\nAn example of a full report file:\n```\n\"entity__id\",\"entity__created_at\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n```\nAn example of an error report file:\n```\n\"entity__id\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n```\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/{id}\n```", "field_renames": [], "fields": [ { @@ -38276,7 +38276,7 @@ "primary_key_field": "id", "methods": [ { - "description": "With bulk delete, you can upload a `CSV` file containing a number of enrollment IDs to delete.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes\n\n```\n**To ensure your CSV file is valid:**\n1. The first line of the file (header) is ignored.\n1. Each line can contain comma-separated values, where the first value is the Enrollment ID. Everything after the first comma is ignored.\n1. Valid enrollments begin with A followed by a - and 95 characters (examples below).\n1. One enrollment ID per line. Empty lines are ignored.\n1. Trailing comma at the end of the line is optional.\n1. Lines are terminated with either a line feed \\n, a carriage return \\r, or both \\r\\n.\n1. Leading and trailing whitespace characters (Unicode U+0000 - U+0020) are removed from the identity before validation.\n1. Empty identities are ignored.\n1. Valid enrollment identities may be enclosed within quotation marks. Whitespace inside quotation marks is not trimmed and will cause validation to fail. Empty quotation marks are also invalid.\n1. Use UTF-8 encoding.\n\n**A valid enrollment file:**\n```\n\"Examples of valid identites, notes\"\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\",\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\"\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:24:44:71:22:15:43:23:12, This text is ignored,\n A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12 , Whitespace is trimmed before validation.\n \"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12\" , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A file containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\", First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23, Too-short identity.\n\"\", Empty quotation marks are an invalid identity.\n\" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12 \", Whitespace inside quotation marks is not trimmed, causing an error.\n\n```\n\n**An empty file:**\n```\n\"Examples of blank lines that are ignored.\"\n\n,,\n, This is also considered to a blank line.\n```", + "description": "With bulk delete, you can upload a `CSV` file containing a number of enrollment IDs to delete.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization: Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes\n\n```\n**To ensure your CSV file is valid:**\n1. The first line of the file (header) is ignored.\n1. Each line can contain comma-separated values, where the first value is the Enrollment ID. Everything after the first comma is ignored.\n1. Valid enrollments begin with A followed by a - and 95 characters (examples below).\n1. One enrollment ID per line. Empty lines are ignored.\n1. Trailing comma at the end of the line is optional.\n1. Lines are terminated with either a line feed \\n, a carriage return \\r, or both \\r\\n.\n1. Leading and trailing whitespace characters (Unicode U+0000 - U+0020) are removed from the identity before validation.\n1. Empty identities are ignored.\n1. Valid enrollment identities may be enclosed within quotation marks. Whitespace inside quotation marks is not trimmed and will cause validation to fail. Empty quotation marks are also invalid.\n1. Use UTF-8 encoding.\n\n**A valid enrollment file:**\n```\n\"Examples of valid identites, notes\"\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\",\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\"\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:24:44:71:22:15:43:23:12, This text is ignored,\n A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12 , Whitespace is trimmed before validation.\n \"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:60:25:48:44:71:22:15:43:23:12\" , Whitespace around quotation marks is also trimmed.\n\n```\n\n**A file containing invalid identities:**\n```\n\"A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12\", First line is ignored.\nA_4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23:12, Invalid version identifier.\nA-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:25:48:44:71:22:15:43:23, Too-short identity.\n\"\", Empty quotation marks are an invalid identity.\n\" A-4E:63:2D:AE:14:BC:D1:09:77:21:95:44:ED:34:06:57:1E:03:B1:EF:0E:F2:59:44:71:93:23:22:15:43:23:12 \", Whitespace inside quotation marks is not trimmed, causing an error.\n\n```\n\n**An empty file:**\n```\n\"Examples of blank lines that are ignored.\"\n\n,,\n, This is also considered to a blank line.\n```", "field_renames": [], "fields": [ { @@ -38681,7 +38681,7 @@ "_key": "download_full_report_file" }, { - "description": "Provides information on bulk delete for the given ID, for example, bulk status and the number of processed enrollment identities. Provides links to bulk delete reports as well.\n\n**Report file format:**\nThe report files have a header line and the value are separated by commas. The lines are delimited by a line break (CRLF). Make sure the report file is compliant with IETF Informal CSV common format [RFC 4180](https://tools.ietf.org/html/rfc4180).\n\nAn example of a full report file:\n```\n\"entity__id\",\"entity__deleted_at\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n```\nAn example of an error report file:\n```\n\"entity__id\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n```\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes/{id}\n```", + "description": "Provides information on bulk delete for the given ID, for example, bulk status and the number of processed enrollment identities. Provides links to bulk delete reports as well.\n\n**Report file format:**\nThe report files have a header line and the value are separated by commas. The lines are delimited by a line break (CRLF). Make sure the report file is compliant with IETF Informal CSV common format [RFC 4180](https://tools.ietf.org/html/rfc4180).\n\nAn example of a full report file:\n```\n\"entity__id\",\"entity__deleted_at\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"2018-09-07T12:10:58.428Z\",\"\",\"\",\"\",\"\"\n```\nAn example of an error report file:\n```\n\"entity__id\",\"error__code\",\"error__type\",\"error__message\",\"error__fields\"\n\"A-F9:AA:AA:AA:DE:31:C7:30:72:55:27:AE:8B:E1:1C:6F:42:7D:06:CF:FB:18:6F:59:48:29:B3:98:4B:76:8F:9E\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n\"A-FF:AA:AA:AA:3B:43:EB:D7:C7:30:03:5F:C8:D0:15:91:70:C2:5D:4F:EB:24:E9:3A:BB:D8:3C:FE:20:EA:B1:72\",\"409\",\"duplicate\",\"Enrollment identity is already claimed in the mbed Cloud.\",\"\"\n```\n**Example:**\n```\ncurl -X GET \\\n-H 'Authorization: Bearer ' \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes/{id}\n```", "field_renames": [], "fields": [ { @@ -59309,7 +59309,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Upload a PSK for an endpoint to allow it to bootstrap. The existing key cannot be overwritten, but needs\nto be deleted first in the case of re-setting a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```", + "description": "Upload a PSK for an endpoint to allow it to bootstrap. The existing key cannot be overwritten, but needs\nto be deleted first in the case of re-setting a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\" \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```", "field_renames": [], "fields": [ { @@ -59410,7 +59410,7 @@ "_key": "create" }, { - "description": "Remove a PSK.\n\n**Example:**\n\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", + "description": "Remove a PSK.\n\n**Example:**\n\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [ { @@ -59483,7 +59483,7 @@ "_key": "delete" }, { - "description": "Retrieve pre-shared keys (PSKs) with pagination. Default page size of 50 entries.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \"\n```", + "description": "Retrieve pre-shared keys (PSKs) with pagination. Default page size of 50 entries.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [ { @@ -59687,7 +59687,7 @@ "_key": "list" }, { - "description": "Check if a PSK for an endpoint exists or not. The response does not contain the secret itself.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", + "description": "Check if a PSK for an endpoint exists or not. The response does not contain the secret itself.\n\n**Example:**\n\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [ { @@ -59918,7 +59918,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Return bootstrap server credentials for client to connect to bootstrap server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \\\n-H \"Authorization: Bearer \"\n```", + "description": "Return bootstrap server credentials for client to connect to bootstrap server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [], "method": "get", @@ -60182,7 +60182,7 @@ "_key": "get_bootstrap" }, { - "description": "Return LwM2M server credentials for client to connect to LwM2M server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \\\n-H \"Authorization: Bearer \"\n```", + "description": "Return LwM2M server credentials for client to connect to LwM2M server.\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [], "method": "get", @@ -79518,7 +79518,7 @@ "_key": "delete" }, { - "description": "Return an existing developer certificate (a certificate that can be flashed to multiple devices to connect to bootstrap server).\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \\\n-H \"Authorization: Bearer \"\n```", + "description": "Return an existing developer certificate (a certificate that can be flashed to multiple devices to connect to bootstrap server).\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [ { @@ -88386,7 +88386,7 @@ "_key": "delete" }, { - "description": "Return an existing developer certificate (a certificate that can be flashed to multiple devices to connect to bootstrap server).\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \\\n-H \"Authorization: Bearer \"\n```", + "description": "Return an existing developer certificate (a certificate that can be flashed to multiple devices to connect to bootstrap server).\n\n**Example:**\n```\ncurl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \\\n-H \"Authorization: Bearer \"\n```", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index f0a98554c..d032e9e55 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -15303,7 +15303,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ``` @@ -15313,7 +15313,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments?device_id__eq=01612df56f3b0a580a010fc700000000 \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -15699,7 +15699,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-enrollments/01612df56f3b0a580a010fc700000000 \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ```' drop_fields: @@ -21955,7 +21955,7 @@ entities: curl -X POST http://api.us-east-1.mbedcloud.com/v3/developer-certificates \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -H "content-type: application/json" \ @@ -23089,7 +23089,7 @@ entities: curl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: @@ -26276,7 +26276,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/devices/01612df56f3b0a580a010fc700000000/certificates/customer.dlms/renew \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-length: 0'' @@ -27304,7 +27304,7 @@ entities: curl -X POST \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -27590,7 +27590,7 @@ entities: curl -X DELETE \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id} @@ -27737,7 +27737,7 @@ entities: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments @@ -27749,7 +27749,7 @@ entities: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ ''https://api.us-east-1.mbedcloud.com/v3/device-enrollments?limit=10'' @@ -28067,7 +28067,7 @@ entities: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments/{id} @@ -28387,7 +28387,7 @@ entities: - _key: create description: "With bulk upload, you can upload a `CSV` file containing a number\ \ of enrollment IDs.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization:\ - \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ + \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ \ \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads\n\ \n```\n **To ensure your CSV file is valid:**\n 1. The first line of the file\ \ (header) is ignored.\n 1. Each line can contain comma-separated values, where\ @@ -28774,7 +28774,7 @@ entities: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-uploads/{id} @@ -29176,7 +29176,7 @@ entities: - _key: delete description: "With bulk delete, you can upload a `CSV` file containing a number\ \ of enrollment IDs to delete.\n\n**Example:**\n```\ncurl -X POST \\\n-H 'Authorization:\ - \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ + \ Bearer ' \\\n-F 'enrollment_identities=@/path/to/enrollments/enrollments.csv'\ \ \\\nhttps://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes\n\ \n```\n**To ensure your CSV file is valid:**\n1. The first line of the file\ \ (header) is ignored.\n1. Each line can contain comma-separated values, where\ @@ -29566,7 +29566,7 @@ entities: curl -X GET \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ https://api.us-east-1.mbedcloud.com/v3/device-enrollments-bulk-deletes/{id} @@ -45207,7 +45207,7 @@ entities: \ key cannot be overwritten, but needs\nto be deleted first in the case of re-setting\ \ a PSK for an endpoint.\n\n**Note**: The PSK APIs are available only to accounts\ \ that have this feature enabled.\n\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v2/device-shared-keys\ - \ \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\"\ + \ \\\n-H \"Authorization: Bearer \" \\\n-H \"content-type: application/json\"\ \ \\\n -d '{ \"endpoint_name\": \"my-endpoint-0001\", \"secret_hex\": \"\ 4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a\" }'\n```" drop_fields: @@ -45301,7 +45301,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: @@ -45370,7 +45370,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: @@ -45551,7 +45551,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v2/device-shared-keys/my-endpoint-0001 \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: @@ -45750,7 +45750,7 @@ entities: curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/bootstrap \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: @@ -45947,7 +45947,7 @@ entities: curl -X GET http://api.us-east-1.mbedcloud.com/v3/server-credentials/lwm2m \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: @@ -60399,7 +60399,7 @@ entities: curl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: @@ -67381,7 +67381,7 @@ entities: curl -X GET http://api.us-east-1.mbedcloud.com/v3/developer-certificates/THE_CERTIFICATE_ID \ - -H "Authorization: Bearer " + -H "Authorization: Bearer " ```' drop_fields: From 0d34a21e710f90a3602b1b7109a5c3bf5c1e6c49 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 20 Aug 2020 08:49:27 +0000 Subject: [PATCH 097/111] new SDK config changes via api-contract @ 2020-08-20 08:49 --- .../public/pelion_dm_public_openapi.yaml | 47 +++++++------------ .../public/sdk_foundation_definition.json | 12 ++--- .../public/sdk_foundation_definition.yaml | 14 +++--- 3 files changed, 29 insertions(+), 44 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index bca1cdb42..0886a6f35 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9135,7 +9135,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/factory_configurator_utility.zip \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ``` @@ -9168,24 +9168,9 @@ paths: x-origin: /home/circleci/project/factory-tool-download/public/swagger.yaml /downloads/fcu/info: get: - description: 'Returns information about the Factory Configurator Utility (FCU) - archive. - -
- - **Example:** - -
- - ``` - - curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/inf \ - - -H ''Authorization: Bearer '' o - - ``` - - ' + description: "Returns information about the Factory Configurator Utility (FCU)\ + \ archive.\n
\n**Example:**\n
\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/inf\ + \ \\\n-H 'Authorization: Bearer ' \n```\n" operationId: getFactoryToolInfo produces: - application/json @@ -9229,7 +9214,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/downloads/fcu/release_notes \ - -H ''Authorization: Bearer '' + -H ''Authorization: Bearer '' ``` @@ -21807,7 +21792,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -21820,7 +21805,7 @@ paths: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -21883,7 +21868,7 @@ paths: post: description: "Configure the certificate issuer to use when creating device custom\ \ certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\"\ : \"01621a36719d507b9d48a91b00000000\"\n}'\n```" operationId: createCertificateIssuerConfig @@ -21951,7 +21936,7 @@ paths: put: description: "Configure the certificate issuer used when creating device certificates\n\ for LwM2M.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations/lwm2m\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\ \n}'\n```" operationId: updateCertificateIssuerConfig @@ -22138,7 +22123,7 @@ paths: \ issuers of the same type, provided they have different names. This allows\ \ verification of the certificate issuer configuration before activation.\n\
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\"\ ,\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\"\ : null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\"\ @@ -22211,7 +22196,7 @@ paths: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ ```' operationId: deleteCertificateIssuer @@ -22283,7 +22268,7 @@ paths: put: description: "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl\ \ -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\"\ ,\n \"name\": \"GlobalSign Issuer\"\n}'\n```" operationId: updateCertificateIssuer @@ -22356,7 +22341,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -26456,7 +26441,7 @@ paths: curl -X POST https://api.us-east-1.mbedcloud.com/v3/devices//resume \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json'' \ @@ -26515,7 +26500,7 @@ paths: \ unreliable data to your system.\n\n ***Example:*\n\n The following example\ \ suspends a device with category \"Lost or stolen\". You can see available\ \ categories with '/v3/device-block-categories/'.\n ```\n curl -X POST https://api.us-east-1.mbedcloud.com/v3/devices//suspend\ - \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ + \ \\\n -H 'Authorization: Bearer ' \\\n -H 'content-type: application/json'\ \ \\\n -d '{ \"category\": \"lost_or_stolen\", \"description\": \"EXAMPLE:\ \ Customer contacted via phone and reported device being stolen. Specific\ \ time of the theft was not know. Device last used in May/2019\"}'\n ```" @@ -28611,7 +28596,7 @@ paths: ``` curl -X GET https://api.us-east-1.mbedcloud.com/v3/manufacturing/statistics?start=2020-06-23T21:00:00.000Z&end=2020-07-01T20:59:59.999Z - --header ''Authorization: Bearer '' + --header ''Authorization: Bearer '' ``` diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 529051e3c..27db86ca2 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -21946,7 +21946,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Create a certificate issuer.\n
\nThe maximum number of issuers is limited to 20 per account.\n
\nYou can create multiple certificate issuers of the same type, provided they have different names. This allows verification of the certificate issuer configuration before activation.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\n7sqzPlmRF0N3I4lwKVj+PfQTVz43QoCnpxOjuSEL4liBrc2agY2xH1O0PFyHimz9\\n3XM9HR/iuPHW0N2D+NPjXlWKacerupH9d4i9IYIagzB+HTgej8limdo03GmmxcZ6\\nYNa58n5yQSaqu0TPRU9DsrKeGjadHTlZQGdzfq1SWsROCnHLrXFKE2ozIG3+hxA5\\nujBF/QWpX5+inXUwDJhBxp8isHbPEnBEUUd6ZRzCTjvN0jaUti5B9yFhO2G6mbE8\\nCvhyzQK8oJqsjZXnlcpPf95LP+9XbcCDjLSIaWJstzXO9tPiv6+x1MVWmivtRHcC\\nSTzpx8jAGCiG6ejLqWB87ZXiZm7ujlCBheHSf5RHwNHhUvoP2JEYalDDRxjcDMSx\\n4uV42Np4yJlIQEDlGHcBlXoL7vEukFpuWgkYdpcZy/Ou9qz8mXrpLcu8C8MhLmSC\\nixGoR5iRhV7cxoHLyuCzj87eYEA73Xu238DQorSEEuiVFnLzQ2+PJMs4qoI14q/L\\notlBDz+Ko6DrU/EZROYmiqMkLKXR2sx9zNAJwPYRs6nSH08tZ3dwqzZbgtP3Wazi\\nhLWHt5/En7wQRA5a+/dDEHXSoLvvSQ9jvhclhWf+eCYuq2eH+g54oyJGRSY+8GV7\\nujhLxkzl/3OZdhZPWoz4U13KpbSTcNWu5Y7oGDoabw19UbvqmLf1PJkpDH/tQgzB\\nxYtsLBRUcofpYoeIiIxfAA4do5WilJc8xqrGhkE4WcHfY24HXAiOvsjbxV+BRprX\\n1jtgJpV/9nJESMap+8PxipGUFRGjB83/uwJaa6mLftEKflX8i4MZ+HnqraXERsqA\\nWRUcDHIWmFfpzIB3iNuxawVvPH8NdCSPmQ9qTb8Cozl0AuOK2E9S+ke8oiYQScWR\\nLdu+zhej7GjuQ9R+Ub+wPWqvOA5qLXejqnCexVScDUuN+z9JWM3N2FG1MwxhAzhP\\ndEfoQHoBn6uyOmrVGP6fosV3chqhPoec42KeOAm1xDvx692isaIy1jPgIyPxeqhm\\n2Tw4E+02R7dlP8Ljf7JzfLm4oKpWHWlcHeqg24x6lY/wXU1RBcWaTa0AQUwoGm2m\\nIQCPfIqOEv/QC2HpO7SVCYkl65KwR0oTd1AzYxdxEq3xHQbh69EL0FGZPVxVCPI+\\nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n }\n}'\n```", + "description": "Create a certificate issuer.\n
\nThe maximum number of issuers is limited to 20 per account.\n
\nYou can create multiple certificate issuers of the same type, provided they have different names. This allows verification of the certificate issuer configuration before activation.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\",\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\": null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\",\n \"api_secret\": \"a477a8393d17a55ecb2ba6a61f58feb84770b621\",\n \"client_certificate\": \"-----BEGIN CERTIFICATE-----MIIC7zCCAdegAwIBAgIJANTlU4x5S74VMA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNVBAoMA0FybTAeFw0xODAzMTExMzE5MTFaFw0xOTAzMTExMzE5MTFaMA4xDDAKBgNVBAoMA0FybTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJWLStsVMJULZtxdieK9qocM4ymDXMaAusmd9TZLzBgznKQe/CW2yxyA8C8K5e6MmvMYGeKDd4Lkw/ezOj2OsUj2xzNIltUxpGi/GhsNYiN/khNJa/Y1SllLoihJAPm/xbMywOBRu/dM88PiJsNZccOk0I8DYvvyAs9wCTkbKLnfHygl98DCRqXw7nBCplU6F03qpUd/4BUtMtugyqt7yboGH+4YewnUh4Yh4QNOJIvE93Ob++eKjO3pIOYEhQmUxzOLaLNuWXlv2l1WuN281hUP4XBcV8mCzRQfTBBDYTWt+5BEWoLOUkXjW0Um6EAaN3usph1IKDEH6Ia5VHP4Pj0CAwEAAaNQME4wHQYDVR0OBBYEFLsfYZxFcQTjPJKYMjHI2In316fmMB8GA1UdIwQYMBaAFLsfYZxFcQTjPJKYMjHI2In316fmMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFl08GFsIkkUs6M7QgCWmsnwP6PtD8V87wM1GAqQQlOOeztaeRR2TEOeYiKRZQugYszJ/FVfVp4ggqzepJMn6UZ42j5nmSJs+6t79i23QAzX1zNQ354lr/t7kt3fMdhuL3AP0oZGzdy+EnXXiWeAD22UwzvVmLt38ypJIl+pmTsx9jJy4PN7yoRgtP9k+50m3X6oDxVruehC/JPSeTvEhqyLW3fLcG6IoJMX3vIwfO9uXbFJumTowQeViNJJ9duWvD2KBXn/muOOBe97TPuvAms1gOtMmmPT9/jpo9b4+NsfFiAN6bMici81aIKZzLC+lLGOUmR2fFJyM5OsVLxKsko=-----END CERTIFICATE-----\",\n \"private_key\":\"-----BEGIN RSA PRIVATE KEY-----\\nProc-Type: 4,ENCRYPTED\\nDEK-Info: DES-EDE3-CBC,CCAC26A4133947CB\\n\\np3KJ4FI3wcz3I0MtiLkrznkjWFvprVmoNywySUGb5IqZViJZqCMEsyU9a9iDsSfP\\nZ07cg9GviV21WYIPSxZOQrpy1g1VWILzFnH+J6z8dSH4mxXh0PwdOzYgAeqkrIVM\\nJ7KRm6t222dZFjjXK3eEcLmBLGo29XwVJxKHx+l4++gU1LZmeHZR5M8fJ4jejUly\\n7sqzPlmRF0N3I4lwKVj+PfQTVz43QoCnpxOjuSEL4liBrc2agY2xH1O0PFyHimz9\\n3XM9HR/iuPHW0N2D+NPjXlWKacerupH9d4i9IYIagzB+HTgej8limdo03GmmxcZ6\\nYNa58n5yQSaqu0TPRU9DsrKeGjadHTlZQGdzfq1SWsROCnHLrXFKE2ozIG3+hxA5\\nujBF/QWpX5+inXUwDJhBxp8isHbPEnBEUUd6ZRzCTjvN0jaUti5B9yFhO2G6mbE8\\nCvhyzQK8oJqsjZXnlcpPf95LP+9XbcCDjLSIaWJstzXO9tPiv6+x1MVWmivtRHcC\\nSTzpx8jAGCiG6ejLqWB87ZXiZm7ujlCBheHSf5RHwNHhUvoP2JEYalDDRxjcDMSx\\n4uV42Np4yJlIQEDlGHcBlXoL7vEukFpuWgkYdpcZy/Ou9qz8mXrpLcu8C8MhLmSC\\nixGoR5iRhV7cxoHLyuCzj87eYEA73Xu238DQorSEEuiVFnLzQ2+PJMs4qoI14q/L\\notlBDz+Ko6DrU/EZROYmiqMkLKXR2sx9zNAJwPYRs6nSH08tZ3dwqzZbgtP3Wazi\\nhLWHt5/En7wQRA5a+/dDEHXSoLvvSQ9jvhclhWf+eCYuq2eH+g54oyJGRSY+8GV7\\nujhLxkzl/3OZdhZPWoz4U13KpbSTcNWu5Y7oGDoabw19UbvqmLf1PJkpDH/tQgzB\\nxYtsLBRUcofpYoeIiIxfAA4do5WilJc8xqrGhkE4WcHfY24HXAiOvsjbxV+BRprX\\n1jtgJpV/9nJESMap+8PxipGUFRGjB83/uwJaa6mLftEKflX8i4MZ+HnqraXERsqA\\nWRUcDHIWmFfpzIB3iNuxawVvPH8NdCSPmQ9qTb8Cozl0AuOK2E9S+ke8oiYQScWR\\nLdu+zhej7GjuQ9R+Ub+wPWqvOA5qLXejqnCexVScDUuN+z9JWM3N2FG1MwxhAzhP\\ndEfoQHoBn6uyOmrVGP6fosV3chqhPoec42KeOAm1xDvx692isaIy1jPgIyPxeqhm\\n2Tw4E+02R7dlP8Ljf7JzfLm4oKpWHWlcHeqg24x6lY/wXU1RBcWaTa0AQUwoGm2m\\nIQCPfIqOEv/QC2HpO7SVCYkl65KwR0oTd1AzYxdxEq3xHQbh69EL0FGZPVxVCPI+\\nhEAyifKy1/tm3l91Rf/kGpHY7nIQKCXH49tmFwix8gke2nZJmRgX7/zAdMOAKeKH\\nAaIl4nQtv14EbaasMgnn9qgaDYnWzaReEob2QlQ/WYlTor61+KFpGtcf9jAkgudT\\n2op+4CF7wT2+aTXdtkVWfmv++iB8GnlqZdxLvyG1cTYjjYHVFbMSWQnxzQqiE2ms\\nQgp+byjWCumpsWTMdTO+d9NkDOo80vDpaRxEgebmhJ0MbX+eFjBgVg==\\n-----END RSA PRIVATE KEY-----\",\n \"passphrase\": \"helloworld\"\n }\n}'\n```", "field_renames": [], "fields": [ { @@ -22462,7 +22462,7 @@ "_key": "create" }, { - "description": "Delete a certificate issuer by ID.\n
\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n```", + "description": "Delete a certificate issuer by ID.\n
\n**Example:**\n```\ncurl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n```", "field_renames": [], "fields": [ { @@ -23540,7 +23540,7 @@ "_key": "read" }, { - "description": "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n```", + "description": "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000 \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\",\n \"name\": \"GlobalSign Issuer\"\n}'\n```", "field_renames": [], "fields": [ { @@ -24114,7 +24114,7 @@ "_key": "update" }, { - "description": "Validates the certificate issuer by sending a signing request for a test certificate. This should be done before the configuration is made active.\n
\n**Note:**\nThe API requests the 3rd party CA to sign a test certificate.\nFor some 3rd party CAs, this operation may use the account quota.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```", + "description": "Validates the certificate issuer by sending a signing request for a test certificate. This should be done before the configuration is made active.\n
\n**Note:**\nThe API requests the 3rd party CA to sign a test certificate.\nFor some 3rd party CAs, this operation may use the account quota.\n
\n**Example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```", "field_renames": [], "fields": [ { @@ -24597,7 +24597,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Configure the certificate issuer to use when creating device custom certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```", + "description": "Configure the certificate issuer to use when creating device custom certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\": \"01621a36719d507b9d48a91b00000000\"\n}'\n```", "field_renames": [], "fields": [ { @@ -25604,7 +25604,7 @@ "_key": "get_default" }, { - "description": "Get certificate issuer configurations, optionally filtered by reference.\n
\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n
\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n**Note:** This endpoint does not implement pagination, and therefore ignores list control parameters such as `limit` or `after`.", + "description": "Get certificate issuer configurations, optionally filtered by reference.\n
\n**Example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n
\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8' \\\n```\n**Note:** This endpoint does not implement pagination, and therefore ignores list control parameters such as `limit` or `after`.", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index d032e9e55..75f4efc70 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -16071,7 +16071,7 @@ entities: \ of the same type, provided they have different names. This allows verification\ \ of the certificate issuer configuration before activation.\n
\n**Example:**\n\ ```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"issuer_type\": \"GLOBAL_SIGN\",\n \"name\": \"GS Issuer\"\ ,\n \"description\": \"Sample GlobalSign certificate issuer\",\n \"issuer_attributes\"\ : null,\n \"issuer_credentials\": {\n \"api_key\": \"e510e289e6cd8947\"\ @@ -16478,7 +16478,7 @@ entities: curl -X DELETE https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/0162155dc77d507b9d48a91b00000000 \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ ```' drop_fields: @@ -17249,7 +17249,7 @@ entities: - _key: update description: "Update a certificate issuer.\n
\n**Example:**\n\n```\ncurl -X\ \ PUT https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621560be51507b9d48a91b00000000\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"description\": \"Sample GlobalSign certificate issuer - updated.\"\ ,\n \"name\": \"GlobalSign Issuer\"\n}'\n```" drop_fields: @@ -17679,7 +17679,7 @@ entities: curl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuers/01621a36719d507b9d48a91b00000000/verify \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -18004,7 +18004,7 @@ entities: - _key: create description: "Configure the certificate issuer to use when creating device custom\ \ certificates.\n
\n**Example:**\n\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ + \ \\\n-H 'Authorization: Bearer ' \\\n-H 'content-type: application/json;charset=UTF-8'\ \ \\\n-d '{\n \"reference\": \"customer.dlms\",\n \"certificate_issuer_id\"\ : \"01621a36719d507b9d48a91b00000000\"\n}'\n```" drop_fields: @@ -18713,7 +18713,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ @@ -18726,7 +18726,7 @@ entities: curl -X GET https://api.us-east-1.mbedcloud.com/v3/certificate-issuer-configurations?reference__eq=dlms \ - -H ''Authorization: Bearer '' \ + -H ''Authorization: Bearer '' \ -H ''content-type: application/json;charset=UTF-8'' \ From ec015588883c27743fa88ecc46ef677568ed9ed1 Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 24 Aug 2020 13:30:01 +0000 Subject: [PATCH 098/111] new SDK config changes via api-contract @ 2020-08-24 13:30 --- .../public/pelion_dm_public_openapi.yaml | 65 +++----- .../public/sdk_foundation_definition.json | 115 ------------- .../public/sdk_foundation_definition.yaml | 154 ------------------ 3 files changed, 22 insertions(+), 312 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 0886a6f35..7ebec878a 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -3696,31 +3696,12 @@ definitions: type: integer DeviceGroup: properties: - component_attributes: &id028 - additionalProperties: - maxLength: 128 - type: string - description: 'Up to ten component key-value attributes. The key represents - the component name, while its value represents the corresponding component - version. - - Keys cannot begin with a number. Both key and value are limited to 128 characters. - Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits per - sub number, therefore max version number will be 999.999.999' - example: - key: value - maxProperties: 10 - type: object created_at: description: The time the group was created. example: '2017-05-22T12:37:55.576563Z' format: date-time type: string - custom_attributes: &id029 + custom_attributes: &id028 additionalProperties: maxLength: 128 pattern: ^[A-Za-z].* @@ -3732,7 +3713,7 @@ definitions: key: value maxProperties: 10 type: object - description: &id030 + description: &id029 description: The description of the group. example: Devices on the factory floor. maxLength: 1024 @@ -3749,7 +3730,7 @@ definitions: description: The group ID. example: 015c3029f6f7000000000001001000c3 type: string - name: &id031 + name: &id030 description: Name of the group. example: My devices maxLength: 128 @@ -8036,7 +8017,7 @@ definitions: example: false type: boolean created_at: *id014 - description: &id034 + description: &id033 description: Human-readable description. example: New Linux update for my devices maxLength: 2000 @@ -8052,7 +8033,7 @@ definitions: example: 016e652be671000000000001001001e5 pattern: '[A-Fa-f0-9]{32}' type: string - name: &id035 + name: &id034 description: Human-readable name. example: New Linux update maxLength: 128 @@ -24058,10 +24039,9 @@ paths: required: true schema: properties: - component_attributes: *id028 - custom_attributes: *id029 - description: *id030 - name: *id031 + custom_attributes: *id028 + description: *id029 + name: *id030 type: object responses: '201': @@ -24156,10 +24136,9 @@ paths: required: true schema: properties: - component_attributes: *id028 - custom_attributes: *id029 - description: *id030 - name: *id031 + custom_attributes: *id028 + description: *id029 + name: *id030 type: object responses: '200': @@ -24785,7 +24764,7 @@ paths: summary: Get a page of devices. tags: - Device directory - groups - x-filter: &id032 + x-filter: &id031 account_id: - eq - neq @@ -26157,7 +26136,7 @@ paths: summary: List all devices. tags: - Device directory - devices - x-filter: *id032 + x-filter: *id031 x-origin: /home/circleci/project/device-directory/public/swagger.yml post: description: Create a new device in Device Management. Usually you do not need @@ -26460,7 +26439,7 @@ paths: in: body name: Block required: true - schema: &id033 + schema: &id032 properties: category: description: The reference of the block category. @@ -26516,7 +26495,7 @@ paths: in: body name: Block required: true - schema: *id033 + schema: *id032 responses: '204': description: Ok - Device suspended. @@ -27128,8 +27107,8 @@ paths: required: true schema: properties: - description: *id034 - name: *id035 + description: *id033 + name: *id034 type: object responses: 201: @@ -27263,8 +27242,8 @@ paths: required: true schema: properties: - description: *id034 - name: *id035 + description: *id033 + name: *id034 type: object responses: 200: @@ -31638,7 +31617,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: &id036 + enum: &id035 - fail - success - info @@ -31691,7 +31670,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id036 + enum: *id035 in: path name: summary_status_id required: true @@ -31741,7 +31720,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id036 + enum: *id035 in: path name: summary_status_id required: true diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 27db86ca2..7c243fcb3 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -40142,26 +40142,6 @@ "description": "Create a group.", "field_renames": [], "fields": [ - { - "type": "object", - "maxProperties": 10, - "additionalProperties": { - "type": "string", - "maxLength": 128 - }, - "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", - "example": { - "key": "value" - }, - "api_fieldname": "component_attributes", - "entity_fieldname": "component_attributes", - "name": "component_attributes", - "in": "body", - "schema_param": true, - "parameter_fieldname": "component_attributes", - "required": false, - "_key": "component_attributes" - }, { "type": "object", "maxProperties": 10, @@ -40220,21 +40200,6 @@ "schema": { "type": "object", "properties": [ - { - "type": "object", - "maxProperties": 10, - "additionalProperties": { - "type": "string", - "maxLength": 128 - }, - "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", - "example": { - "key": "value" - }, - "api_fieldname": "component_attributes", - "entity_fieldname": "component_attributes", - "_key": "component_attributes" - }, { "type": "string", "format": "date-time", @@ -41885,19 +41850,6 @@ "items": { "type": "object", "properties": [ - { - "type": "object", - "maxProperties": 10, - "additionalProperties": { - "type": "string", - "maxLength": 128 - }, - "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", - "example": { - "key": "value" - }, - "_key": "component_attributes" - }, { "type": "string", "format": "date-time", @@ -42286,21 +42238,6 @@ "schema": { "type": "object", "properties": [ - { - "type": "object", - "maxProperties": 10, - "additionalProperties": { - "type": "string", - "maxLength": 128 - }, - "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", - "example": { - "key": "value" - }, - "api_fieldname": "component_attributes", - "entity_fieldname": "component_attributes", - "_key": "component_attributes" - }, { "type": "string", "format": "date-time", @@ -42630,7 +42567,6 @@ "filter", "name", "description", - "component_attributes", "custom_attributes", "devices_count", "created_at", @@ -42936,26 +42872,6 @@ "description": "Modify the attributes of a group, such as the description.", "field_renames": [], "fields": [ - { - "type": "object", - "maxProperties": 10, - "additionalProperties": { - "type": "string", - "maxLength": 128 - }, - "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", - "example": { - "key": "value" - }, - "api_fieldname": "component_attributes", - "entity_fieldname": "component_attributes", - "name": "component_attributes", - "in": "body", - "schema_param": true, - "parameter_fieldname": "component_attributes", - "required": false, - "_key": "component_attributes" - }, { "type": "object", "maxProperties": 10, @@ -43025,21 +42941,6 @@ "schema": { "type": "object", "properties": [ - { - "type": "object", - "maxProperties": 10, - "additionalProperties": { - "type": "string", - "maxLength": 128 - }, - "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", - "example": { - "key": "value" - }, - "api_fieldname": "component_attributes", - "entity_fieldname": "component_attributes", - "_key": "component_attributes" - }, { "type": "string", "format": "date-time", @@ -43383,22 +43284,6 @@ } ], "fields": [ - { - "type": "object", - "maxProperties": 10, - "additionalProperties": { - "type": "string", - "maxLength": 128 - }, - "description": "Up to ten component key-value attributes. The key represents the component name, while its value represents the corresponding component version.\nKeys cannot begin with a number. Both key and value are limited to 128 characters. Updating this field replaces existing contents.\nComponent name must be the same as in device Component Name resource.\nComponent version must comply to semantic versioning. Maximum 3 digits per sub number, therefore max version number will be 999.999.999", - "example": { - "key": "value" - }, - "api_fieldname": "component_attributes", - "readOnly": false, - "required": false, - "_key": "component_attributes" - }, { "type": "string", "format": "date-time", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 75f4efc70..4b924ccbb 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -30384,27 +30384,6 @@ entities: - _key: device_group field_renames: [] fields: - - _key: component_attributes - additionalProperties: - maxLength: 128 - type: string - api_fieldname: component_attributes - description: 'Up to ten component key-value attributes. The key represents the - component name, while its value represents the corresponding component version. - - Keys cannot begin with a number. Both key and value are limited to 128 characters. - Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits per sub - number, therefore max version number will be 999.999.999' - example: - key: value - maxProperties: 10 - readOnly: false - required: false - type: object - _key: created_at api_fieldname: created_at description: The time the group was created. @@ -30678,31 +30657,6 @@ entities: - updated_at field_renames: [] fields: - - _key: component_attributes - additionalProperties: - maxLength: 128 - type: string - api_fieldname: component_attributes - description: 'Up to ten component key-value attributes. The key represents the - component name, while its value represents the corresponding component version. - - Keys cannot begin with a number. Both key and value are limited to 128 characters. - Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits per - sub number, therefore max version number will be 999.999.999' - entity_fieldname: component_attributes - example: - key: value - in: body - maxProperties: 10 - name: component_attributes - parameter_fieldname: component_attributes - required: false - schema_param: true - type: object - _key: custom_attributes additionalProperties: maxLength: 128 @@ -30764,27 +30718,6 @@ entities: entity: device_group group: Devices properties: - - _key: component_attributes - additionalProperties: - maxLength: 128 - type: string - api_fieldname: component_attributes - description: 'Up to ten component key-value attributes. The key represents - the component name, while its value represents the corresponding component - version. - - Keys cannot begin with a number. Both key and value are limited to 128 - characters. Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits - per sub number, therefore max version number will be 999.999.999' - entity_fieldname: component_attributes - example: - key: value - maxProperties: 10 - type: object - _key: created_at api_fieldname: created_at description: The time the group was created. @@ -32142,25 +32075,6 @@ entities: entity: device_group group: Devices properties: - - _key: component_attributes - additionalProperties: - maxLength: 128 - type: string - description: 'Up to ten component key-value attributes. The key represents - the component name, while its value represents the corresponding component - version. - - Keys cannot begin with a number. Both key and value are limited to - 128 characters. Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits - per sub number, therefore max version number will be 999.999.999' - example: - key: value - maxProperties: 10 - type: object - _key: created_at description: The time the group was created. example: '2017-05-22T12:37:55.576563Z' @@ -32387,7 +32301,6 @@ entities: - filter - name - description - - component_attributes - custom_attributes - devices_count - created_at @@ -32421,27 +32334,6 @@ entities: entity: device_group group: Devices properties: - - _key: component_attributes - additionalProperties: - maxLength: 128 - type: string - api_fieldname: component_attributes - description: 'Up to ten component key-value attributes. The key represents - the component name, while its value represents the corresponding component - version. - - Keys cannot begin with a number. Both key and value are limited to 128 - characters. Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits - per sub number, therefore max version number will be 999.999.999' - entity_fieldname: component_attributes - example: - key: value - maxProperties: 10 - type: object - _key: created_at api_fieldname: created_at description: The time the group was created. @@ -32870,31 +32762,6 @@ entities: - updated_at field_renames: [] fields: - - _key: component_attributes - additionalProperties: - maxLength: 128 - type: string - api_fieldname: component_attributes - description: 'Up to ten component key-value attributes. The key represents the - component name, while its value represents the corresponding component version. - - Keys cannot begin with a number. Both key and value are limited to 128 characters. - Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits per - sub number, therefore max version number will be 999.999.999' - entity_fieldname: component_attributes - example: - key: value - in: body - maxProperties: 10 - name: component_attributes - parameter_fieldname: component_attributes - required: false - schema_param: true - type: object - _key: custom_attributes additionalProperties: maxLength: 128 @@ -32965,27 +32832,6 @@ entities: entity: device_group group: Devices properties: - - _key: component_attributes - additionalProperties: - maxLength: 128 - type: string - api_fieldname: component_attributes - description: 'Up to ten component key-value attributes. The key represents - the component name, while its value represents the corresponding component - version. - - Keys cannot begin with a number. Both key and value are limited to 128 - characters. Updating this field replaces existing contents. - - Component name must be the same as in device Component Name resource. - - Component version must comply to semantic versioning. Maximum 3 digits - per sub number, therefore max version number will be 999.999.999' - entity_fieldname: component_attributes - example: - key: value - maxProperties: 10 - type: object - _key: created_at api_fieldname: created_at description: The time the group was created. From b8120c2aef0c5d85fa31a17c04001b447abe5472 Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 25 Aug 2020 09:37:50 +0000 Subject: [PATCH 099/111] new SDK config changes via api-contract @ 2020-08-25 09:37 --- .../public/pelion_dm_public_openapi.yaml | 5 +++++ .../public/sdk_foundation_definition.json | 12 ++++++++++++ .../public/sdk_foundation_definition.yaml | 10 ++++++++++ 3 files changed, 27 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 7ebec878a..ff2547f70 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -313,6 +313,11 @@ definitions: example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT readOnly: true type: string + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-09-01T00:00:00+00:00' + issued_at: '2020-09-01T00:00:00+00:00' + links: [] x-nullable: true admin_name: description: The username of the admin user created for this account. Present diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 7c243fcb3..679746b59 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -1972,6 +1972,12 @@ "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", "description": "The admin API key created for this account. Present only in the response for account creation.", "readOnly": true, + "x-deprecation": { + "issued_at": "2020-09-01T00:00:00+00:00", + "end_of_life_at": "2021-09-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "admin_key", "entity_fieldname": "admin_key", "_key": "admin_key" @@ -15168,6 +15174,12 @@ "example": "ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT", "description": "The admin API key created for this account. Present only in the response for account creation.", "readOnly": true, + "x-deprecation": { + "issued_at": "2020-09-01T00:00:00+00:00", + "end_of_life_at": "2021-09-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "admin_key", "required": false, "_key": "admin_key" diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 4b924ccbb..a97832ccb 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -58,6 +58,11 @@ entities: readOnly: true required: false type: string + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-09-01T00:00:00+00:00' + issued_at: '2020-09-01T00:00:00+00:00' + links: [] x-nullable: true - _key: admin_name api_fieldname: admin_name @@ -1427,6 +1432,11 @@ entities: example: ak_1MDE2MTk1NzFmNmU4MDI0MmFjMTIwMDA2MDAwMDAwMDA01619571f7020242ac12000600000000B40IkJADMANmAscAj0Ot0n2yeQnyt9tT readOnly: true type: string + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-09-01T00:00:00+00:00' + issued_at: '2020-09-01T00:00:00+00:00' + links: [] x-nullable: true - _key: admin_name api_fieldname: admin_name From 789f0e0673c819cb25a9784e00d29a2cc14f656a Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 28 Aug 2020 13:46:10 +0000 Subject: [PATCH 100/111] new SDK config changes via api-contract @ 2020-08-28 13:46 --- .../public/pelion_dm_public_openapi.yaml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index ff2547f70..127c0234e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -10411,13 +10411,12 @@ paths: \ to maintain the notification flow. The client might disconnect several times\ \ in a relatively short period, for example, during service updates. This\ \ is normal. The desired client behavior is to reconnect after each disconnect.\n\ - \n**Example:**\n\nThe curl examples provided are meant only for testing. For\ - \ production devices, use a websocket client library.\nAs the curl example\ - \ doesn't know how to responsd to websocket ping, it will stop working shortly\ - \ after receiving first ping.\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ - \ \\\n-H \"Authorization:Bearer {apikey}\" \\\n-H \"Connection:upgrade\" \\\ - \n-H \"Upgrade:websocket\" \\\n-H \"Sec-WebSocket-Version: 13\" \\\n-H \"\ - Sec-WebSocket-Key: {base64nonce}\" \\\n--no-buffer \\\n--head\n```" + \n**Example:**\n\nThe example is meant only for testing. For production devices,\ + \ use a WebSocket client library. Websocat (https://github.com/vi/websocat)\ + \ is a command-line client for WebSockets, like netcat or cURL. The example\ + \ command opens a new WebSocket, waits for any data sent to the socket from\ + \ the server, and prints it to `stdout`.\n\n```\nwebsocat wss://api.us-east-1.mbedcloud.com/v2/notification/websocket-connect\ + \ \\\n-H \"Sec-WebSocket-Protocol:wss,pelion_ak_\"\n```" operationId: connectWebsocket parameters: - default: Upgrade From 00a9624b2cd52124443c30593b335615afd6176f Mon Sep 17 00:00:00 2001 From: monty bot Date: Tue, 8 Sep 2020 13:59:00 +0000 Subject: [PATCH 101/111] new SDK config changes via api-contract @ 2020-09-08 13:59 --- .../public/pelion_dm_public_openapi.yaml | 44 +++++++++++ .../public/sdk_foundation_definition.json | 75 +++++++++++++++++++ .../public/sdk_foundation_definition.yaml | 72 ++++++++++++++++++ 3 files changed, 191 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 127c0234e..a04919d84 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -3272,6 +3272,13 @@ definitions: example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string + net_id: + default: '' + description: Private network identifier. Used to group nodes connected to + a specific border router. + example: 0000:0000:0000:0000:0000:0000:0000:0000 + maxLength: 40 + type: string object: description: The API resource entity. example: device @@ -24682,6 +24689,22 @@ paths: in: query name: name__nin type: string + - description: eq filter for the "net_id" field + in: query + name: net_id__eq + type: string + - description: neq filter for the "net_id" field + in: query + name: net_id__neq + type: string + - description: in filter for the "net_id" field + in: query + name: net_id__in + type: string + - description: nin filter for the "net_id" field + in: query + name: net_id__nin + type: string - description: eq filter for the "serial_number" field in: query name: serial_number__eq @@ -24912,6 +24935,11 @@ paths: - neq - in - nin + net_id: + - eq + - neq + - in + - nin operator_suspended: - eq - neq @@ -26060,6 +26088,22 @@ paths: in: query name: name__nin type: string + - description: eq filter for the "net_id" field + in: query + name: net_id__eq + type: string + - description: neq filter for the "net_id" field + in: query + name: net_id__neq + type: string + - description: in filter for the "net_id" field + in: query + name: net_id__in + type: string + - description: nin filter for the "net_id" field + in: query + name: net_id__nin + type: string - description: eq filter for the "serial_number" field in: query name: serial_number__eq diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 679746b59..f83694dee 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -32696,6 +32696,15 @@ "api_fieldname": "name", "entity_fieldname": "name" }, + "net_id": { + "type": "string", + "default": "", + "maxLength": 40, + "description": "Private network identifier. Used to group nodes connected to a specific border router.", + "example": "0000:0000:0000:0000:0000:0000:0000:0000", + "api_fieldname": "net_id", + "entity_fieldname": "net_id" + }, "object": { "type": "string", "description": "The API resource entity.", @@ -32801,6 +32810,7 @@ "id", "firmware_checksum", "manifest_timestamp", + "net_id", "updated_at", "enrolment_list_timestamp" ], @@ -33189,6 +33199,13 @@ "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000" }, + "net_id": { + "type": "string", + "default": "", + "maxLength": 40, + "description": "Private network identifier. Used to group nodes connected to a specific border router.", + "example": "0000:0000:0000:0000:0000:0000:0000:0000" + }, "object": { "type": "string", "description": "The API resource entity.", @@ -33488,6 +33505,12 @@ "in", "nin" ], + "net_id": [ + "eq", + "neq", + "in", + "nin" + ], "serial_number": [ "eq", "neq", @@ -33640,6 +33663,10 @@ "name__neq", "name__in", "name__nin", + "net_id__eq", + "net_id__neq", + "net_id__in", + "net_id__nin", "serial_number__eq", "serial_number__neq", "serial_number__in", @@ -34008,6 +34035,15 @@ "api_fieldname": "name", "entity_fieldname": "name" }, + "net_id": { + "type": "string", + "default": "", + "maxLength": 40, + "description": "Private network identifier. Used to group nodes connected to a specific border router.", + "example": "0000:0000:0000:0000:0000:0000:0000:0000", + "api_fieldname": "net_id", + "entity_fieldname": "net_id" + }, "object": { "type": "string", "description": "The API resource entity.", @@ -34126,6 +34162,7 @@ "mechanism", "mechanism_url", "name", + "net_id", "serial_number", "state", "updated_at", @@ -35438,6 +35475,15 @@ "api_fieldname": "name", "entity_fieldname": "name" }, + "net_id": { + "type": "string", + "default": "", + "maxLength": 40, + "description": "Private network identifier. Used to group nodes connected to a specific border router.", + "example": "0000:0000:0000:0000:0000:0000:0000:0000", + "api_fieldname": "net_id", + "entity_fieldname": "net_id" + }, "object": { "type": "string", "description": "The API resource entity.", @@ -35547,6 +35593,7 @@ "manifest_timestamp", "mechanism", "mechanism_url", + "net_id", "serial_number", "state", "updated_at", @@ -35933,6 +35980,17 @@ "required": false, "_key": "name" }, + { + "type": "string", + "default": "", + "maxLength": 40, + "description": "Private network identifier. Used to group nodes connected to a specific border router.", + "example": "0000:0000:0000:0000:0000:0000:0000:0000", + "api_fieldname": "net_id", + "readOnly": true, + "required": false, + "_key": "net_id" + }, { "type": "boolean", "description": "Device has been suspended by operator.", @@ -41085,6 +41143,13 @@ "description": "The name given by the web application for the device. Device itself provides only the endpoint_name.", "example": "00000000-0000-0000-0000-000000000000" }, + "net_id": { + "type": "string", + "default": "", + "maxLength": 40, + "description": "Private network identifier. Used to group nodes connected to a specific border router.", + "example": "0000:0000:0000:0000:0000:0000:0000:0000" + }, "object": { "type": "string", "description": "The API resource entity.", @@ -41601,6 +41666,12 @@ "in", "nin" ], + "net_id": [ + "eq", + "neq", + "in", + "nin" + ], "serial_number": [ "eq", "neq", @@ -41753,6 +41824,10 @@ "name__neq", "name__in", "name__nin", + "net_id__eq", + "net_id__neq", + "net_id__in", + "net_id__nin", "serial_number__eq", "serial_number__neq", "serial_number__in", diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index a97832ccb..cf8bc3da1 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -23890,6 +23890,16 @@ entities: readOnly: false required: false type: string + - _key: net_id + api_fieldname: net_id + default: '' + description: Private network identifier. Used to group nodes connected to a specific + border router. + example: 0000:0000:0000:0000:0000:0000:0000:0000 + maxLength: 40 + readOnly: true + required: false + type: string - _key: operator_suspended api_fieldname: operator_suspended description: Device has been suspended by operator. @@ -24182,6 +24192,7 @@ entities: - id - firmware_checksum - manifest_timestamp + - net_id - updated_at - enrolment_list_timestamp field_renames: [] @@ -24747,6 +24758,15 @@ entities: example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string + net_id: + api_fieldname: net_id + default: '' + description: Private network identifier. Used to group nodes connected to + a specific border router. + entity_fieldname: net_id + example: 0000:0000:0000:0000:0000:0000:0000:0000 + maxLength: 40 + type: string object: api_fieldname: object description: The API resource entity. @@ -25019,6 +25039,10 @@ entities: - name__neq - name__in - name__nin + - net_id__eq + - net_id__neq + - net_id__in + - net_id__nin - serial_number__eq - serial_number__neq - serial_number__in @@ -25341,6 +25365,13 @@ entities: example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string + net_id: + default: '' + description: Private network identifier. Used to group nodes connected + to a specific border router. + example: 0000:0000:0000:0000:0000:0000:0000:0000 + maxLength: 40 + type: string object: description: The API resource entity. example: device @@ -25587,6 +25618,11 @@ entities: - neq - in - nin + net_id: + - eq + - neq + - in + - nin operator_suspended: - eq - neq @@ -25671,6 +25707,7 @@ entities: - mechanism - mechanism_url - name + - net_id - serial_number - state - updated_at @@ -25996,6 +26033,15 @@ entities: example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string + net_id: + api_fieldname: net_id + default: '' + description: Private network identifier. Used to group nodes connected to + a specific border router. + entity_fieldname: net_id + example: 0000:0000:0000:0000:0000:0000:0000:0000 + maxLength: 40 + type: string object: api_fieldname: object description: The API resource entity. @@ -26728,6 +26774,7 @@ entities: - manifest_timestamp - mechanism - mechanism_url + - net_id - serial_number - state - updated_at @@ -27150,6 +27197,15 @@ entities: example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string + net_id: + api_fieldname: net_id + default: '' + description: Private network identifier. Used to group nodes connected to + a specific border router. + entity_fieldname: net_id + example: 0000:0000:0000:0000:0000:0000:0000:0000 + maxLength: 40 + type: string object: api_fieldname: object description: The API resource entity. @@ -31212,6 +31268,10 @@ entities: - name__neq - name__in - name__nin + - net_id__eq + - net_id__neq + - net_id__in + - net_id__nin - serial_number__eq - serial_number__neq - serial_number__in @@ -31549,6 +31609,13 @@ entities: example: 00000000-0000-0000-0000-000000000000 maxLength: 128 type: string + net_id: + default: '' + description: Private network identifier. Used to group nodes connected + to a specific border router. + example: 0000:0000:0000:0000:0000:0000:0000:0000 + maxLength: 40 + type: string object: description: The API resource entity. example: device @@ -31941,6 +32008,11 @@ entities: - neq - in - nin + net_id: + - eq + - neq + - in + - nin operator_suspended: - eq - neq From 27cab24a2e78f7d84f12118a42c4496159313ad5 Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 9 Sep 2020 18:23:24 +0000 Subject: [PATCH 102/111] new SDK config changes via api-contract @ 2020-09-09 18:23 --- .../public/pelion_dm_public_openapi.yaml | 138 +- .../public/sdk_foundation_definition.json | 3553 ++++++++++++++++- .../public/sdk_foundation_definition.yaml | 2256 +++++++++++ 3 files changed, 5855 insertions(+), 92 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index a04919d84..37451000d 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -26781,10 +26781,16 @@ paths: $ref: '#/definitions/FirmwareImagePage' '400': description: Bad Request. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Unable to find content. + schema: + $ref: '#/definitions/ErrorResponse' summary: List all images tags: - Device update - firmware images @@ -26889,12 +26895,20 @@ paths: $ref: '#/definitions/FirmwareImage' '400': description: Cannot validate the data used to create the firmware image. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '403': description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' 413: description: Firmware image too large. + schema: + $ref: '#/definitions/ErrorResponse' summary: Create an image tags: - Device update - firmware images @@ -27543,14 +27557,32 @@ paths: post: consumes: - application/octet-stream - description: "Append a chunk to an upload job. To finish a job, upload a zero-length\ - \ chunk.\n
**Note:** Chunk size must be between 5MB and 100MB, the last\ - \ chunk can be less than 5MB; the maximum number of chunks is limited to 10,000.\n\ -
\n**Usage example:**\n```\ncurl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks\ - \ \\\n-H 'Authorization: Bearer ' \\\n-H 'Content-MD5: Q2h1Y2sgSW51ZwDIAXR5IQ=='\ - \ \\\n-H 'Content-Type: binary/octet-stream' \\\n-H 'Content-Length: 999'\ - \ \\\n-d '{\n \"IGh0dHBzOi8vYXBpLnVzLWVhc3QtMS5tYmVkY2xvdWQuY29tLy92My9maXJtd2FyZS1pbWFnZXMvdXBsb2FkLWpvYnMve3VwbG9hZF9qb2JfaWR9W5rcw==\"\ - \n}'\n```\n" + description: 'Append a chunk to an upload job. To finish a job, upload a zero-length + chunk. + +
**Note:** Chunk size must be between 5MB and 100MB, the last chunk can + be less than 5MB; the maximum number of chunks is limited to 10,000. + +
+ + **Usage example:** + + ``` + + curl -X POST https://api.us-east-1.mbedcloud.com/v3/firmware-images/upload-jobs/12345678901234567890123456789012/chunks + \ + + -H ''Authorization: Bearer '' \ + + -H ''Content-MD5: Q2h1Y2sgSW51ZwDIAXR5IQ=='' \ + + -H ''Content-Type: binary/octet-stream'' \ + + --data-binary ''@chunkfile.bin'' + + ``` + + ' operationId: Upload_Job_Chunk_Create parameters: - description: The base64-encoded binary digest of the body (chunk data). @@ -27684,10 +27716,16 @@ paths: description: Firmware image deleted. '400': description: Bad Request. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Firmware image not found. + schema: + $ref: '#/definitions/ErrorResponse' summary: Delete an image tags: - Device update - firmware images @@ -27724,10 +27762,16 @@ paths: $ref: '#/definitions/FirmwareImage' '400': description: Bad Request. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Firmware image can't be found. + schema: + $ref: '#/definitions/ErrorResponse' summary: Get an image. tags: - Device update - firmware images @@ -27975,10 +28019,16 @@ paths: $ref: '#/definitions/FirmwareManifestPage' '400': description: Bad Request. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Unable to find content. + schema: + $ref: '#/definitions/ErrorResponse' summary: List all firmware manifests. tags: - Device update - firmware manifests @@ -28096,10 +28146,16 @@ paths: did not validate and/or the manifest uploaded exceeded 2 KB in size. ' + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '403': description: Forbidden. + schema: + $ref: '#/definitions/ErrorResponse' summary: Upload a manifest tags: - Device update - firmware manifests @@ -28135,10 +28191,16 @@ paths: description: Firmware manifest deleted. '400': description: Bad Request. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Firmware manifest not found. + schema: + $ref: '#/definitions/ErrorResponse' summary: Delete a manifest tags: - Device update - firmware manifests @@ -28175,10 +28237,16 @@ paths: $ref: '#/definitions/FirmwareManifest' '400': description: Bad request. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Firmware manifest can't be found. + schema: + $ref: '#/definitions/ErrorResponse' summary: Get a manifest tags: - Device update - firmware manifests @@ -31133,10 +31201,16 @@ paths: not validate. ' + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Unable to find content. + schema: + $ref: '#/definitions/ErrorResponse' summary: List all campaigns tags: - Device update - campaigns @@ -31224,8 +31298,16 @@ paths: not validate. ' + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' + '409': + description: Conflict, a campaign with the same name already exists + schema: + $ref: '#/definitions/ErrorResponse' summary: Create a campaign tags: - Device update - campaigns @@ -31264,10 +31346,16 @@ paths: not validate. ' + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Update campaign can't be found. + schema: + $ref: '#/definitions/ErrorResponse' 409: description: Conflict - Cannot delete the campaign while in the current phase. @@ -31312,10 +31400,16 @@ paths: not validate. ' + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Unable to find campaign. + schema: + $ref: '#/definitions/ErrorResponse' summary: Get a campaign. tags: - Device update - campaigns @@ -31393,12 +31487,20 @@ paths: description: The campaign has been archived. '400': description: Unable to change the phase of the campaign. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Cannot find the campaign. + schema: + $ref: '#/definitions/ErrorResponse' '409': description: Cannot archive the campaign while in the current phase. + schema: + $ref: '#/definitions/ErrorResponse' summary: Archive a campaign. tags: - Device update - campaigns @@ -31542,8 +31644,12 @@ paths: $ref: '#/definitions/CampaignMetrics' 401: description: Unauthorized. + schema: + $ref: '#/definitions/ErrorResponse' 404: description: Unable to find campaign or the campaign hasn't started. + schema: + $ref: '#/definitions/ErrorResponse' summary: Get campaign metrics tags: - Device update - campaigns @@ -31584,12 +31690,20 @@ paths: description: The campaign is starting. '400': description: Unable to change the phase of the campaign. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Cannot find the campaign. + schema: + $ref: '#/definitions/ErrorResponse' '409': description: Cannot start the campaign while in the current phase. + schema: + $ref: '#/definitions/ErrorResponse' summary: Start a campaign. tags: - Device update - campaigns @@ -31861,12 +31975,20 @@ paths: description: The campaign is stopping. '400': description: Unable to change the phase of the campaign. + schema: + $ref: '#/definitions/ErrorResponse' '401': description: Not authenticated. + schema: + $ref: '#/definitions/ErrorResponse' '404': description: Cannot find the campaign. + schema: + $ref: '#/definitions/ErrorResponse' '409': description: Cannot stop the campaign while in the current phase. + schema: + $ref: '#/definitions/ErrorResponse' summary: Stop a campaign. tags: - Device update - campaigns diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index f83694dee..ca3a6ede8 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -43604,18 +43604,294 @@ }, { "description": "Cannot validate the data used to create the firmware image.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "403" }, { "description": "Firmware image too large.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "413" } ], @@ -43686,14 +43962,221 @@ }, { "description": "Bad Request.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Firmware image not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" } ], @@ -43934,35 +44417,242 @@ }, { "description": "Bad Request.", - "_key": "400" - }, - { - "description": "Not authenticated.", - "_key": "401" - }, - { - "description": "Unable to find content.", - "_key": "404" - } - ], - "path": "/v3/firmware-images", - "summary": "List all images", - "return_type": "paginated_response(firmware_image)", - "return_info": { - "self": true, - "custom": false, - "type": "firmware_image" - }, - "x_filter": { - "created_at": [ - "in", - "nin", - "lte", - "gte" - ], - "datafile_url": [ - "eq", - "neq", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "400" + }, + { + "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Unable to find content.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/firmware-images", + "summary": "List all images", + "return_type": "paginated_response(firmware_image)", + "return_info": { + "self": true, + "custom": false, + "type": "firmware_image" + }, + "x_filter": { + "created_at": [ + "in", + "nin", + "lte", + "gte" + ], + "datafile_url": [ + "eq", + "neq", "in", "nin" ], @@ -44177,14 +44867,221 @@ }, { "description": "Bad Request.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Firmware image can't be found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" } ], @@ -44570,14 +45467,221 @@ }, { "description": "Validation error. The data used to create the firmware manifest did not validate and/or the manifest uploaded exceeded 2 KB in size.\n", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Forbidden.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "403" } ], @@ -44664,14 +45768,221 @@ }, { "description": "Bad Request.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Firmware manifest not found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" } ], @@ -44984,43 +46295,250 @@ }, { "description": "Bad Request.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Unable to find content.", - "_key": "404" - } - ], - "path": "/v3/firmware-manifests/", - "summary": "List all firmware manifests.", - "return_type": "paginated_response(firmware_manifest)", - "return_info": { - "self": true, - "custom": false, - "type": "firmware_manifest" - }, - "x_filter": { - "created_at": [ - "in", - "nin", - "lte", - "gte" - ], - "datafile_url": [ - "eq", - "neq", - "in", - "nin" - ], - "datafile_size": [ - "eq", - "neq", - "in", - "nin" + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + } + ], + "path": "/v3/firmware-manifests/", + "summary": "List all firmware manifests.", + "return_type": "paginated_response(firmware_manifest)", + "return_info": { + "self": true, + "custom": false, + "type": "firmware_manifest" + }, + "x_filter": { + "created_at": [ + "in", + "nin", + "lte", + "gte" + ], + "datafile_url": [ + "eq", + "neq", + "in", + "nin" + ], + "datafile_size": [ + "eq", + "neq", + "in", + "nin" ], "description": [ "eq", @@ -45331,14 +46849,221 @@ }, { "description": "Bad request.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Firmware manifest can't be found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" } ], @@ -90758,18 +92483,294 @@ }, { "description": "Unable to change the phase of the campaign.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Cannot find the campaign.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" }, { "description": "Cannot archive the campaign while in the current phase.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "409" } ], @@ -91175,11 +93176,222 @@ }, { "description": "Validation error: The data used to create the campaign did not validate.\n", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" + }, + { + "description": "Conflict, a campaign with the same name already exists", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "409" } ], "path": "/v3/update-campaigns", @@ -91261,18 +93473,6 @@ }, { "description": "Validation error: The data used to update the campaign did not validate.\n", - "_key": "400" - }, - { - "description": "Not authenticated.", - "_key": "401" - }, - { - "description": "Update campaign can't be found.", - "_key": "404" - }, - { - "description": "Conflict - Cannot delete the campaign while in the current phase.", "schema": { "type": "object", "required": [ @@ -91342,20 +93542,239 @@ } ] }, - "_key": "409" - } - ], - "path": "/v3/update-campaigns/{campaign_id}", - "summary": "Delete a campaign", - "return_type": "update_campaign", - "return_info": { - "self": true, - "custom": false, - "type": "update_campaign" - }, - "x_filter": {}, - "x_deprecation": null, - "drop_fields": [ + "_key": "400" + }, + { + "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "401" + }, + { + "description": "Update campaign can't be found.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "404" + }, + { + "description": "Conflict - Cannot delete the campaign while in the current phase.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, + "_key": "409" + } + ], + "path": "/v3/update-campaigns/{campaign_id}", + "summary": "Delete a campaign", + "return_type": "update_campaign", + "return_info": { + "self": true, + "custom": false, + "type": "update_campaign" + }, + "x_filter": {}, + "x_deprecation": null, + "drop_fields": [ "object", "etag", "type", @@ -92038,14 +94457,221 @@ }, { "description": "Validation error: The data used to update the campaign did not validate.\n", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Unable to find content.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" } ], @@ -92473,14 +95099,221 @@ }, { "description": "Validation error: The data used to update the campaign did not validate.\n", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Unable to find campaign.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" } ], @@ -92571,18 +95404,294 @@ }, { "description": "Unable to change the phase of the campaign.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Cannot find the campaign.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" }, { "description": "Cannot start the campaign while in the current phase.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "409" } ], @@ -92652,18 +95761,294 @@ }, { "description": "Unable to change the phase of the campaign.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "400" }, { "description": "Not authenticated.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "401" }, { "description": "Cannot find the campaign.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "404" }, { "description": "Cannot stop the campaign while in the current phase.", + "schema": { + "type": "object", + "required": [ + "code", + "message", + "object", + "request_id", + "type" + ], + "properties": [ + { + "type": "integer", + "format": "int32", + "description": "HTTP response code", + "example": 400, + "_key": "code" + }, + { + "type": "array", + "description": "Request fields which failed validation.", + "items": { + "type": "object", + "required": [ + "name", + "message" + ], + "properties": [ + { + "type": "string", + "description": "Message describing the error condition.", + "_key": "message" + }, + { + "type": "string", + "description": "Name of the field which caused the error.", + "_key": "name" + } + ] + }, + "_key": "fields" + }, + { + "type": "string", + "description": "A human readable informative explanation", + "example": "Validation error", + "_key": "message" + }, + { + "type": "string", + "description": "Entity name, always `error`.", + "enum": [ + "error" + ], + "_key": "object" + }, + { + "type": "string", + "description": "ID of the request.", + "example": "0161991d63150242ac12000600000000", + "_key": "request_id" + }, + { + "type": "string", + "description": "Error type used to categorise the error.", + "example": "validation_error", + "_key": "type" + } + ] + }, "_key": "409" } ], diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index cf8bc3da1..8a0b9299e 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -33375,12 +33375,196 @@ entities: type: string - _key: '400' description: Cannot validate the data used to create the firmware image. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '403' description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '413' description: Firmware image too large. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -33442,10 +33626,148 @@ entities: description: Firmware image deleted. - _key: '400' description: Bad Request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Firmware image not found. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -33687,10 +34009,148 @@ entities: type: integer - _key: '400' description: Bad Request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Unable to find content. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -33868,10 +34328,148 @@ entities: type: string - _key: '400' description: Bad Request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Firmware image can't be found. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -34333,10 +34931,148 @@ entities: did not validate and/or the manifest uploaded exceeded 2 KB in size. ' + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '403' description: Forbidden. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -34400,10 +35136,148 @@ entities: description: Firmware manifest deleted. - _key: '400' description: Bad Request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Firmware manifest not found. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -34717,10 +35591,148 @@ entities: type: integer - _key: '400' description: Bad Request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Unable to find content. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -35003,10 +36015,148 @@ entities: type: string - _key: '400' description: Bad request. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Firmware manifest can't be found. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -69381,12 +70531,196 @@ entities: description: The campaign has been archived. - _key: '400' description: Unable to change the phase of the campaign. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Cannot find the campaign. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '409' description: Cannot archive the campaign while in the current phase. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -69765,8 +71099,148 @@ entities: validate. ' + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object + - _key: '409' + description: Conflict, a campaign with the same name already exists + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -69841,10 +71315,148 @@ entities: validate. ' + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Update campaign can't be found. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '409' description: Conflict - Cannot delete the campaign while in the current phase. schema: @@ -70553,10 +72165,148 @@ entities: validate. ' + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Unable to find content. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -70921,10 +72671,148 @@ entities: validate. ' + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Unable to find campaign. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -70996,12 +72884,196 @@ entities: description: The campaign is starting. - _key: '400' description: Unable to change the phase of the campaign. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Cannot find the campaign. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '409' description: Cannot start the campaign while in the current phase. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true @@ -71074,12 +73146,196 @@ entities: description: The campaign is stopping. - _key: '400' description: Unable to change the phase of the campaign. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '401' description: Not authenticated. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '404' description: Cannot find the campaign. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object - _key: '409' description: Cannot stop the campaign while in the current phase. + schema: + properties: + - _key: code + description: HTTP response code + example: 400 + format: int32 + type: integer + - _key: fields + description: Request fields which failed validation. + items: + properties: + - _key: message + description: Message describing the error condition. + type: string + - _key: name + description: Name of the field which caused the error. + type: string + required: + - name + - message + type: object + type: array + - _key: message + description: A human readable informative explanation + example: Validation error + type: string + - _key: object + description: Entity name, always `error`. + enum: + - error + type: string + - _key: request_id + description: ID of the request. + example: 0161991d63150242ac12000600000000 + type: string + - _key: type + description: Error type used to categorise the error. + example: validation_error + type: string + required: + - code + - message + - object + - request_id + - type + type: object return_info: custom: false self: true From 5873489644fe1285e62a8ba5f22ecac93aa0dfaa Mon Sep 17 00:00:00 2001 From: monty bot Date: Wed, 9 Sep 2020 18:47:29 +0000 Subject: [PATCH 103/111] new SDK config changes via api-contract @ 2020-09-09 18:47 --- api_specifications/public/pelion_dm_public_openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 37451000d..499346fac 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -26597,7 +26597,7 @@ paths: in: query name: include type: string - - description: "URL-encoded query string parameter to filter returned data\n\ + - description: "URL-encoded query string parameter to filter returned data.\n\ \n`?filter={URL-encoded query string}`\n\n###### Filterable fields:\n\n\ The table lists all the fields that can be filtered on with certain filters:\n\ \n\n \n \n \n
Field= / __eq\ From 5d79f2e005a348840e80a59d8d822eedef30e0ba Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 14 Sep 2020 15:46:29 +0000 Subject: [PATCH 104/111] new SDK config changes via api-contract @ 2020-09-14 15:46 --- .../public/pelion_dm_public_openapi.yaml | 372 +++++++++++++++++- 1 file changed, 361 insertions(+), 11 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 499346fac..8b304cf8e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -5613,6 +5613,67 @@ definitions: - has_more - data type: object + Log: + properties: + account_id: + description: The ID of the account associated with the device. + example: 0168e7bff4f2263cf4be560700000000 + type: string + app_name: + description: A tag indicating which application or software module produced + the log message. + example: modbus + type: string + created_at: + description: RFC 3339 UTC timestamp indicating when the resource entity was + created. + example: '2017-07-21T17:32:28Z' + format: date-time + type: string + device_id: + description: Device ID. + example: 00005a4e027f0a580a01081c00000000 + type: string + etag: + description: Entity instance signature, or Unix timestamp of last customer + update. + example: stdout + type: string + id: + description: mUUID Entity ID. Each device log has a unique ID. + example: 2d238a89038b4ddb84699dd36a901063 + pattern: /^[(0-9)(a-f)]{32}$/ + type: string + level: + description: Log entry severity level. + enum: + - DEBUG + - TRACE + - INFO + - WARNING + - ERROR + - CRITICAL + example: ERROR + type: string + message: + description: Log message body. + example: 'ModbusRTU Driver: Failed to start undefined' + type: string + object: + description: Device log resource name. + example: device-log + type: string + timestamp: + description: RFC 3339 UTC timestamp indicating indicating the device time + the message was printed. + example: '2017-07-21T17:40:28Z' + format: date-time + type: string + type: + description: Device log type. + example: syslog + type: string + type: object LoginHistory: description: Represents an entry in login history. properties: @@ -5670,6 +5731,40 @@ definitions: required: - id type: object + LogsPage: + properties: + after: + description: An offset token for current page. + type: string + x-nullable: true + data: + items: + $ref: '#/definitions/Log' + type: array + has_more: + description: Indicates whether more results are available. + example: false + type: boolean + limit: + description: Limit applied on number of device log resource objects retrieved + in the page (2-1000). + example: 100 + maximum: 1000 + minimum: 2 + type: integer + object: + description: Always `list`. + example: list + type: string + order: + description: Entry order based on creation time. + example: DESC + type: string + total_count: + example: 1 + format: integer + type: integer + type: object NotificationData: properties: ct: @@ -8029,7 +8124,7 @@ definitions: example: false type: boolean created_at: *id014 - description: &id033 + description: &id039 description: Human-readable description. example: New Linux update for my devices maxLength: 2000 @@ -8045,7 +8140,7 @@ definitions: example: 016e652be671000000000001001001e5 pattern: '[A-Fa-f0-9]{32}' type: string - name: &id034 + name: &id040 description: Human-readable name. example: New Linux update maxLength: 128 @@ -25037,6 +25132,157 @@ paths: tags: - Device directory - groups x-origin: /home/circleci/project/device-directory/public/swagger.yml + /v3/device-logs: + get: + description: 'List logs for all devices based on a combination of filters. + + + **Example usage:** + + ``` + + curl -X GET \ + + -H ''Authorization: Bearer '' \ + + https://api.us-east-1.mbedcloud.com/v3/device-logs + + ``` + + ' + operationId: ListGatewayDeviceLogs + parameters: + - default: 100 + description: Limit the number of returned results. The default value is 100. + in: query + maximum: 1000 + minimum: 2 + name: limit + required: false + type: integer + - description: The entity ID to fetch after the given one. + in: query + name: after + required: false + type: string + - default: DESC + description: 'Record order. Acceptable values: ASC, DESC.' + enum: &id032 + - ASC + - DESC + in: query + name: order + required: false + type: string + - description: 'Comma separated additional data to return. Currently supported: + total_count' + in: query + name: include + required: false + type: string + - description: lte filter for the "timestamp" field + format: date-time + in: query + name: timestamp__lte + type: string + - description: gte filter for the "timestamp" field + format: date-time + in: query + name: timestamp__gte + type: string + - description: eq filter for the "app_name" field + in: query + name: app_name__eq + type: string + - description: eq filter for the "type" field + in: query + name: type__eq + type: string + - description: eq filter for the "message" field + in: query + name: message__eq + type: string + - description: gte filter for the "level" field + in: query + name: level__gte + type: string + - description: in filter for the "device_id" field + in: query + name: device_id__in + type: string + responses: + '200': + description: Retrieved logs successfully + schema: + $ref: '#/definitions/LogsPage' + '400': + description: Bad request + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Not authenticated + schema: + $ref: '#/definitions/ErrorResponse' + summary: List all device logs based on filters + tags: + - Gateway Logs Public API + x-filter: + app_name: &id033 + - eq + device_id: + - in + level: &id034 + - gte + message: &id035 + - eq + timestamp: &id036 + - lte + - gte + type: &id037 + - eq + x-origin: /home/circleci/project/gateway/public/logs.yaml + /v3/device-logs/{device_log_id}: + get: + description: 'Retrieve a device log from a device by log ID. + + + **Example usage:** + + ``` + + curl -X GET \ + + -H ''Authorization: Bearer '' \ + + https://api.us-east-1.mbedcloud.com/v3/device-logs/(device_log_id) + + ``` + + ' + operationId: GetDeviceLogBasedOnLogID + parameters: + - description: The ID of the device log. + in: path + name: device_log_id + required: true + type: string + responses: + '200': + description: Retrieved result successfully + schema: + $ref: '#/definitions/Log' + '401': + description: Not authenticated + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Not found + schema: + $ref: '#/definitions/ErrorResponse' + summary: Retrieve a device log by ID. + tags: + - Gateway Logs Public API + x-origin: /home/circleci/project/gateway/public/logs.yaml /v3/device-queries/: get: description: List all device queries. @@ -26326,6 +26572,110 @@ paths: tags: - Device Echo x-origin: /home/circleci/project/device-server/public/swagger.yaml + /v3/devices/{device_id}/logs: + get: + description: 'Retrieve logs for a given device based on a combination of filters. + + + **Example usage:** + + ``` + + curl -X GET \ + + -H ''Authorization: Bearer '' \ + + https://api.us-east-1.mbedcloud.com/v3/devices/{device_id}/logs + + ``` + + ' + operationId: ListSingleGatewayDeviceLogs + parameters: + - description: The id of the device + in: path + name: device_id + required: true + type: string + - default: 100 + description: Limit the number of returned results. The default value is 100. + in: query + maximum: 1000 + minimum: 2 + name: limit + required: false + type: integer + - description: The entity ID to fetch after the given one. + in: query + name: after + required: false + type: string + - default: DESC + description: 'Record order. Acceptable values: ASC, DESC.' + enum: *id032 + in: query + name: order + required: false + type: string + - description: 'Comma separated additional data to return. Currently supported: + total_count' + in: query + name: include + required: false + type: string + - description: lte filter for the "timestamp" field + format: date-time + in: query + name: timestamp__lte + type: string + - description: gte filter for the "timestamp" field + format: date-time + in: query + name: timestamp__gte + type: string + - description: eq filter for the "app_name" field + in: query + name: app_name__eq + type: string + - description: eq filter for the "type" field + in: query + name: type__eq + type: string + - description: eq filter for the "message" field + in: query + name: message__eq + type: string + - description: gte filter for the "level" field + in: query + name: level__gte + type: string + responses: + '200': + description: Retrieved logs successfully + schema: + $ref: '#/definitions/LogsPage' + '400': + description: Bad request + schema: + $ref: '#/definitions/ErrorResponse' + '401': + description: Not authenticated + schema: + $ref: '#/definitions/ErrorResponse' + '404': + description: Not found + schema: + $ref: '#/definitions/ErrorResponse' + summary: Return the logs for a specific device. + tags: + - Gateway Logs Public API + x-filter: + app_name: *id033 + level: *id034 + message: *id035 + timestamp: *id036 + type: *id037 + x-origin: /home/circleci/project/gateway/public/logs.yaml /v3/devices/{id}/: delete: description: Delete device. Only available for devices with a developer certificate. @@ -26487,7 +26837,7 @@ paths: in: body name: Block required: true - schema: &id032 + schema: &id038 properties: category: description: The reference of the block category. @@ -26543,7 +26893,7 @@ paths: in: body name: Block required: true - schema: *id032 + schema: *id038 responses: '204': description: Ok - Device suspended. @@ -27169,8 +27519,8 @@ paths: required: true schema: properties: - description: *id033 - name: *id034 + description: *id039 + name: *id040 type: object responses: 201: @@ -27304,8 +27654,8 @@ paths: required: true schema: properties: - description: *id033 - name: *id034 + description: *id039 + name: *id040 type: object responses: 200: @@ -31779,7 +32129,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: &id035 + enum: &id041 - fail - success - info @@ -31832,7 +32182,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id035 + enum: *id041 in: path name: summary_status_id required: true @@ -31882,7 +32232,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id035 + enum: *id041 in: path name: summary_status_id required: true From 71e7f51e06025666cecb06648f4ec5d126d3cc0d Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 21 Sep 2020 09:29:47 +0000 Subject: [PATCH 105/111] new SDK config changes via api-contract @ 2020-09-21 09:29 --- .../public/pelion_dm_public_openapi.yaml | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 8b304cf8e..6f734e744 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -25841,6 +25841,116 @@ paths: in: query name: after type: string + - description: 'URL encoded query string parameter to filter returned data. + + + ##### Filtering + + ```?filter={URL encoded query string}``` + + + The query string is made up of key/value pairs separated by ampersands. + So for a query of + + ```key1=value1&key2=value2&key3=value3``` this would be encoded as follows: + + ```?filter=key1%3Dvalue1%26key2%3Dvalue2%26key3%3Dvalue3``` + + The examples below show the queries in *unencoded* form. + + + ###### By device properties (all properties are filterable): + + ```state=[unenrolled|cloud_enrolling|bootstrapped|registered]``` + + + ```device_class={value}``` + + + ###### On date-time fields: + + Date-time fields should be specified in UTC RFC3339 format ```YYYY-MM-DDThh:mm:ss.msZ```. + There are three permitted + + variations: + + + * UTC RFC3339 with milliseconds e.g. 2016-11-30T16:25:12.1234Z + + * UTC RFC3339 without milliseconds e.g. 2016-11-30T16:25:12Z + + * UTC RFC3339 shortened - without milliseconds and punctuation e.g. 20161130T162512Z + + + Date-time filtering supports three operators: + + + * equality + + * greater than or equal to – field name suffixed with ```__gte``` + + * less than or equal to – field name suffixed with ```__lte``` + + + Lower and upper limits to a date-time range may be specified by including + both the ```__gte``` and ```__lte``` forms in + + the filter. + + + ```{field name}[|__lte|__gte]={UTC RFC3339 date-time}``` + + + ###### On device custom attributes: + + + ```custom_attributes__{param}={value}``` + + ```custom_attributes__tag=TAG1``` + + + ###### On device component attributes: + + + ```component_attributes__{name}={version}``` + + ```component_attributes__ble=1.2.3``` + + + ##### Multi-field example + + + ```state=bootstrapped&created_at__gte=2016-11-30T16:25:12.1234Z&created_at__lte=2016-12-30T00:00:00Z``` + + + Encoded: + + + ```?filter=state%3Dbootstrapped%26created_at__gte%3D2016-11-30T16%3A25%3A12.1234Z%26created_at__lte%3D2016-11-30T00%3A00%3A00Z``` + + + ##### Filtering with filter operators + + + String field filtering supports the following operators: + + + * equality: `__eq` + + * non-equality: `__neq` + + * in : `__in` + + * not in: `__nin` + + + For `__in` and `__nin` filters list of parameters must be comma-separated: + + + `state__nin=unenrolled,dergistered`' + in: query + name: filter + type: string - description: 'Comma-separated list of data fields to return. Currently supported: `total_count`.' in: query From 93879c27f6cff996d4403b77031c16f2532378b4 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 25 Sep 2020 13:47:40 +0000 Subject: [PATCH 106/111] new SDK config changes via api-contract @ 2020-09-25 13:47 --- .../public/pelion_dm_public_openapi.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 6f734e744..f89b92678 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9434,7 +9434,15 @@ paths: name: expiry-seconds required: false type: integer - - description: Device request to send. + - description: Device request to send. The body element has `method', `uri`, + `accept`, `content-type` and `payload-b64` fields. - The `method` is one + of `GET`, `PUT`, `POST`, `DELETE`. - The `uri` field is the path to the + LwM2M object and can include query parameters. This can include key-value + pairs, for example, `/5/0/1?key1=value1;key2=value2`. - The `accept` field + defines the content type that the requesting client will accept. - The `content-type` + describes the content type of the base-64 encoded `payload-b64` field. - + The `payload-b64` is the payload to send to the device in base-64 encoded + form. in: body name: body required: true From 45aae6518e3409a6cb333cb7184e2eac83a850be Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 25 Sep 2020 15:06:02 +0000 Subject: [PATCH 107/111] new SDK config changes via api-contract @ 2020-09-25 15:06 --- .../public/pelion_dm_public_openapi.yaml | 128 ++++++++++-------- 1 file changed, 68 insertions(+), 60 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index f89b92678..f2d6ce65a 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -9342,57 +9342,58 @@ paths: \ Protocol) methods on a device and send commands to device resources.\n\n\ As part of the request body, you must specify the CoAP method you want to\ \ call on the device:\n\n- Use the GET method to read resource values.\n\n\ - \ For example, to read the value of resource `/3200/0/5501`, use:\n\n```\n\ - curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id}\ - \ \\\n-H 'Authorization: Bearer {access_key}' \\\n-H 'content-type: application/json'\ - \ \\\n-d '{\"method\": \"GET\", \"uri\": \"/3200/0/5501\"}'\n```\n\n For\ - \ `GET` methods, the API may fetch values from an internal cache, instead\ - \ of contacting the device.\n\n If the value is not in the cache, the read\ - \ command goes all the way to the device.\n\n\n- Use the PUT method to write\ - \ [notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)\ - \ or resource values for a resource.\n\n Example payload to write a notification\ - \ rule:\n\n```\n{ \"method\": \"PUT\", \"uri\": \"/5/0/1?lt=10>=60&pmax=120\"\ - \ }\n```\n\n Example payload to write a value to resource `/5/0/1`:\n\n\ - ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?k1=v1&k2=v2\", \"accept\"\ - : \"text/plain\", \"content-type\": \"text/plain\", \"payload-b64\": \"dmFsdWUxCg==\"\ - \ }\n```\n\n- Use the POST method to execute or create a resource on a LWM2M\ - \ supporting device.\n\n When you create a resource, `uri` must refer to\ - \ an object, and `payload-b64` must be in LWM2M TLV format; for example:\n\ - \n ```\n { \"method\": \"POST\", \"uri\": \"/123\", \"content-type\"\ - : \"application/vnd.oma.lwm2m+tlv\", \"payload-b64\": \"BwHFAnZhbHVl\" }\n\ - \ ```\n\n Example payload to execute LWM2M resource `/123/1/1`:\n\n\ - \ ```\n{ \"method\": \"POST\", \"uri\": \"/123/1/1\" }\n ```\n\nDevice\ - \ Management sends responses through the currently configured notification\ - \ channel as `AsyncIDResponse`.\n\nExample `AsyncIDResponse` delivered through\ - \ the notification channel:\n- ```\n{ \"async-responses\": [ { \"id\": \"\ - 123e4567-e89b-12d3-a456-426655440000\", \"status\": 200, \"payload\": \"dmFsdWUxCg==\"\ - , \"ct\": \"text/plain\", \"max-age\": 600 } ] }\n ```\n\n- ```\n{ \"async-responses\"\ - : [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\", \"status\": 504, \"\ - error\": \"TIMEOUT\" } ] }\n```\n\nIf it cannot reach the device at the time\ - \ of the request, Device Management puts the requests in a queue.\n\n**Queueing\ - \ behavior**\n\nIf Device Management does not reach the device, or the device\ - \ fails to respond, the server queues the request and retries the delivery,\ - \ for the period of time defined by `expiry-seconds`, the next time the device\ - \ contacts the server.\n\nThe queue is limited to 20 requests.\n\nDevice Management\ - \ delivers requests from the queue in the order of insertion, one at a time,\ - \ and not concurrently.\n\nDelivery attempts follow protocol-specific retransmission\ - \ logic. There can be multiple transmissions, depending on the protocol. For\ - \ CoAP, the retransmissions have an exponential backoff of 2, 4, 8, 16, and\ - \ up to 64 seconds, taking in total over two minutes.\nIf the device does\ - \ not respond within this two-minute period, the delivery fails, Device Management\ - \ performs one retry and then puts the request back into the queue until the\ - \ retry count reaches its limit.\n\nDevice Management attempts to redeliver\ - \ the request when the device next contacts the server.\n\nWhen Device Management\ - \ reaches the `retry` or `expiry-seconds` limit, the server discards the request\ - \ and sends an error in `AsyncIDResponse`.\n\nFor example:\n\n- Retries could\ - \ be exhausted if the device periodically contacts the server and receives\ - \ the request from the queue, but then fails to respond to the server.\n\n\ - - The device may lose its network connectivity, and the requests in the queue\ - \ may expire and get discarded before the device regains connectivity. When\ - \ Device Management delivers the request to the device, the status code in\ - \ `AsyncIDResponse` is *2xx* or *4xx*, based on the device's response. If\ - \ Device Management could not deliver the request, the server generates a\ - \ status code of *429* or *5xx*." + \ For example, to read the value of resource `/3200/0/5501`, use:\n\n \ + \ ```\n curl -X POST https://api.us-east-1.mbedcloud.com/v2/device-requests/{device_id}?async-id={async-response-id}\ + \ \\\n -H 'Authorization: Bearer {access_key}' \\\n -H 'content-type:\ + \ application/json' \\\n -d '{\"method\": \"GET\", \"uri\": \"/3200/0/5501\"\ + }'\n ```\n\n> For `GET` methods, the API may fetch values from an internal\ + \ cache, instead of contacting the device.\n> If the value is not in the cache,\ + \ the read command goes all the way to the device.\n\n\n- Use the PUT method\ + \ to write [notification rules](https://www.pelion.com/docs/device-management/current/resources/resource-change-webapp.html)\ + \ or resource values for a resource.\n\n Example payload to write a notification\ + \ rule:\n\n ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?lt=10>=60&pmax=120\"\ + \ }\n ```\n\n- Example payload to write a value to resource `/5/0/1`:\n\ + \n ```\n { \"method\": \"PUT\", \"uri\": \"/5/0/1?k1=v1&k2=v2\", \"\ + accept\": \"text/plain\", \"content-type\": \"text/plain\", \"payload-b64\"\ + : \"dmFsdWUxCg==\" }\n ```\n\n- Use the POST method to execute or create\ + \ a resource on a LWM2M supporting device.\n\n When you create a resource,\ + \ `uri` must refer to an object, and `payload-b64` must be in LWM2M TLV format\ + \ for example:\n\n ```\n { \"method\": \"POST\", \"uri\": \"/123\",\ + \ \"content-type\": \"application/vnd.oma.lwm2m+tlv\", \"payload-b64\": \"\ + BwHFAnZhbHVl\" }\n ```\n\n- Use the POST method to execute resource on\ + \ a LWM2M supporting device.\n\n Example payload to execute LWM2M resource\ + \ `/123/1/1`:\n\n ```\n { \"method\": \"POST\", \"uri\": \"/123/1/1\"\ + \ }\n ```\n\n- Device Management sends responses through the currently\ + \ configured notification channel as `AsyncIDResponse`.\n\n Example `AsyncIDResponse`\ + \ delivered through the notification channel:\n\n ```\n { \"async-responses\"\ + : [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\", \"status\": 200, \"\ + payload\": \"dmFsdWUxCg==\", \"ct\": \"text/plain\", \"max-age\": 600 } ]\ + \ }\n ```\n\n ```\n { \"async-responses\": [ { \"id\": \"123e4567-e89b-12d3-a456-426655440000\"\ + , \"status\": 504, \"error\": \"TIMEOUT\" } ] }\n ```\n\n> If it cannot\ + \ reach the device at the time of the request, Device Management puts the\ + \ requests in a queue.\n\n**Queueing behavior**\n\nIf Device Management does\ + \ not reach the device, or the device fails to respond, the server queues\ + \ the request and retries the delivery, for the period of time defined by\ + \ `expiry-seconds`, the next time the device contacts the server.\n\nThe queue\ + \ is limited to 20 requests.\n\nDevice Management delivers requests from the\ + \ queue in the order of insertion, one at a time, and not concurrently.\n\n\ + Delivery attempts follow protocol-specific retransmission logic. There can\ + \ be multiple transmissions, depending on the protocol. For CoAP, the retransmissions\ + \ have an exponential backoff of 2, 4, 8, 16, and up to 64 seconds, taking\ + \ in total over two minutes.\nIf the device does not respond within this two-minute\ + \ period, the delivery fails, Device Management performs one retry and then\ + \ puts the request back into the queue until the retry count reaches its limit.\n\ + \nDevice Management attempts to redeliver the request when the device next\ + \ contacts the server.\n\nWhen Device Management reaches the `retry` or `expiry-seconds`\ + \ limit, the server discards the request and sends an error in `AsyncIDResponse`.\n\ + \nFor example:\n\n- Retries could be exhausted if the device periodically\ + \ contacts the server and receives the request from the queue, but then fails\ + \ to respond to the server.\n\n- The device may lose its network connectivity,\ + \ and the requests in the queue may expire and get discarded before the device\ + \ regains connectivity. When Device Management delivers the request to the\ + \ device, the status code in `AsyncIDResponse` is *2xx* or *4xx*, based on\ + \ the device's response. If Device Management could not deliver the request,\ + \ the server generates a status code of *429* or *5xx*." operationId: createAsyncRequest parameters: - description: The device ID generated by Device Management. @@ -9434,15 +9435,22 @@ paths: name: expiry-seconds required: false type: integer - - description: Device request to send. The body element has `method', `uri`, - `accept`, `content-type` and `payload-b64` fields. - The `method` is one - of `GET`, `PUT`, `POST`, `DELETE`. - The `uri` field is the path to the - LwM2M object and can include query parameters. This can include key-value - pairs, for example, `/5/0/1?key1=value1;key2=value2`. - The `accept` field - defines the content type that the requesting client will accept. - The `content-type` - describes the content type of the base-64 encoded `payload-b64` field. - - The `payload-b64` is the payload to send to the device in base-64 encoded - form. + - description: 'Device request to send. The body element has `method`, `uri`, + `accept`, `content-type` and `payload-b64` fields. + + - The `method` is one of `GET`, `PUT`, `POST`, `DELETE`. + + - The `uri` field is the path to the LwM2M object and can include query + parameters. This can include key-value pairs, for example, `/5/0/1?key1=value1;key2=value2`. + + - The `accept` field defines the content type that the requesting client + will accept. + + - The `content-type` describes the content type of the base-64 encoded `payload-b64` + field. + + - The `payload-b64` is the payload to send to the device in base-64 encoded + form.' in: body name: body required: true From 9f3d74981f1d018a45f28990349e40d7b01aaf14 Mon Sep 17 00:00:00 2001 From: monty bot Date: Thu, 8 Oct 2020 07:23:00 +0000 Subject: [PATCH 108/111] new SDK config changes via api-contract @ 2020-10-08 07:23 --- .../public/pelion_dm_public_openapi.yaml | 30 +++- .../public/sdk_foundation_definition.json | 128 ++++++++++++-- .../public/sdk_foundation_definition.yaml | 158 ++++++++++++++---- 3 files changed, 268 insertions(+), 48 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index f2d6ce65a..454abb9ad 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -7368,8 +7368,14 @@ definitions: type: string x-nullable: true enrollment_mode: - description: Certificate is used in enrollment mode. Default value is false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] name: description: Certificate name. maxLength: 100 @@ -7428,9 +7434,15 @@ definitions: format: int32 type: integer enrollment_mode: - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' example: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] etag: description: API resource entity version. example: '1' @@ -16710,6 +16722,11 @@ paths: name: subject__like required: false type: string + - description: Filter for certificate fingerprint. + in: query + name: certificate_fingerprint__eq + required: false + type: string - description: Filter for finding certificates by validity. True returns certificates which are not yet expired. False returns certificates which have expired. in: query @@ -16740,6 +16757,8 @@ paths: tags: - Tenant security and identity - certificates x-filter: + certificate_fingerprint: + - eq device_execution_mode: - eq - neq @@ -31135,6 +31154,11 @@ paths: name: subject__like required: false type: string + - description: Filter for certificate fingerprint. + in: query + name: certificate_fingerprint__eq + required: false + type: string - description: Filter for finding certificates by validity. True returns certificates which are not yet expired. False returns certificates which have expired. in: query @@ -31160,6 +31184,8 @@ paths: tags: - Security and identity - certificates x-filter: + certificate_fingerprint: + - eq device_execution_mode: - eq - neq diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index ca3a6ede8..1d910ab24 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -11100,7 +11100,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "_key": "enrollment_mode" }, { @@ -11528,6 +11534,9 @@ "subject": [ "like" ], + "certificate_fingerprint": [ + "eq" + ], "valid": [ "eq" ] @@ -11552,6 +11561,7 @@ "status__eq", "issuer__like", "subject__like", + "certificate_fingerprint__eq", "valid__eq" ], "group_id": "Accounts", @@ -30931,7 +30941,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "_key": "enrollment_mode" @@ -80303,7 +80319,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", @@ -80449,7 +80471,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", @@ -81745,7 +81773,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", @@ -82193,7 +82227,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", @@ -82351,7 +82391,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", @@ -82892,7 +82938,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", "in": "body", @@ -89205,7 +89257,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", @@ -89345,7 +89403,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "_key": "enrollment_mode" @@ -90652,7 +90716,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "_key": "enrollment_mode" }, { @@ -90994,6 +91064,9 @@ "subject": [ "like" ], + "certificate_fingerprint": [ + "eq" + ], "valid": [ "eq" ] @@ -91018,6 +91091,7 @@ "status__eq", "issuer__like", "subject__like", + "certificate_fingerprint__eq", "valid__eq" ], "foreign_key_priority": "self", @@ -91137,7 +91211,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "_key": "enrollment_mode" @@ -91557,7 +91637,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "parameter_fieldname": "enrollment_mode", @@ -91709,7 +91795,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "entity_fieldname": "enrollment_mode", "_key": "enrollment_mode" @@ -92303,7 +92395,13 @@ { "type": "boolean", "example": false, - "description": "If true, signature is not required. Default value false.", + "description": "DEPRECATED: Certificate is used in enrollment mode. Default value is false.", + "x-deprecation": { + "issued_at": "2020-11-01T00:00:00+00:00", + "end_of_life_at": "2021-11-01T00:00:00+00:00", + "comment": "This field is deprecated, do not use it anymore.", + "links": [] + }, "api_fieldname": "enrollment_mode", "readOnly": false, "required": false, diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 8a0b9299e..07197321c 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -8252,6 +8252,7 @@ entities: - status__eq - issuer__like - subject__like + - certificate_fingerprint__eq - valid__eq field_renames: [] fields: @@ -8391,9 +8392,15 @@ entities: format: int32 type: integer - _key: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' example: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag description: API resource entity version. example: '1' @@ -8678,6 +8685,8 @@ entities: summary: Get trusted certificates. x_deprecation: null x_filter: + certificate_fingerprint: + - eq device_execution_mode: - eq - neq @@ -22831,10 +22840,16 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' entity_fieldname: enrollment_mode example: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag api_fieldname: etag description: API resource entity version. @@ -60627,13 +60642,19 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default value + is false.' example: false in: body parameter_fieldname: enrollment_mode readOnly: false required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: id api_fieldname: id description: Entity ID. @@ -60808,13 +60829,19 @@ entities: x-nullable: true - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default value + is false.' entity_fieldname: enrollment_mode example: false in: body parameter_fieldname: enrollment_mode required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: &id016 [] - _key: is_developer_certificate _override: true api_fieldname: is_developer_certificate @@ -60838,7 +60865,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id016 + enum: &id017 - lwm2m - bootstrap enum_reference: subtenant_trusted_certificate_service_enum @@ -60850,7 +60877,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id017 + enum: &id018 - ACTIVE - INACTIVE enum_reference: subtenant_trusted_certificate_status_enum @@ -60926,13 +60953,19 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' entity_fieldname: enrollment_mode example: false in: body parameter_fieldname: enrollment_mode required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag api_fieldname: etag description: API resource entity version. @@ -62089,13 +62122,19 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' entity_fieldname: enrollment_mode example: false in: body parameter_fieldname: enrollment_mode required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag api_fieldname: etag description: API resource entity version. @@ -62415,13 +62454,19 @@ entities: x-nullable: true - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default value + is false.' entity_fieldname: enrollment_mode example: false in: body parameter_fieldname: enrollment_mode required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: *id016 - _key: id api_fieldname: id description: Entity ID. @@ -62455,7 +62500,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id016 + enum: *id017 enum_reference: subtenant_trusted_certificate_service_enum in: body parameter_fieldname: service @@ -62465,7 +62510,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id017 + enum: *id018 enum_reference: subtenant_trusted_certificate_status_enum example: ACTIVE in: body @@ -62541,13 +62586,19 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' entity_fieldname: enrollment_mode example: false in: body parameter_fieldname: enrollment_mode required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag api_fieldname: etag description: API resource entity version. @@ -63412,7 +63463,7 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: &id018 + enum: &id019 - NATIVE - MBED - SAML2 @@ -63420,7 +63471,7 @@ entities: example: NATIVE readOnly: true type: string - required: &id019 + required: &id020 - id type: object parameter_fieldname: login_profiles @@ -65565,11 +65616,11 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: *id018 + enum: *id019 example: NATIVE readOnly: true type: string - required: *id019 + required: *id020 type: object parameter_fieldname: login_profiles required: false @@ -67665,11 +67716,17 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default value + is false.' example: false readOnly: false required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: id api_fieldname: id description: Entity ID. @@ -67826,13 +67883,19 @@ entities: x-nullable: true - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default value + is false.' entity_fieldname: enrollment_mode example: false in: body parameter_fieldname: enrollment_mode required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: &id021 [] - _key: is_developer_certificate _override: true api_fieldname: is_developer_certificate @@ -67856,7 +67919,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: &id020 + enum: &id022 - lwm2m - bootstrap enum_reference: trusted_certificate_service_enum @@ -67868,7 +67931,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: &id021 + enum: &id023 - ACTIVE - INACTIVE enum_reference: trusted_certificate_status_enum @@ -67938,10 +68001,16 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' entity_fieldname: enrollment_mode example: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag api_fieldname: etag description: API resource entity version. @@ -68967,6 +69036,7 @@ entities: - status__eq - issuer__like - subject__like + - certificate_fingerprint__eq - valid__eq field_renames: [] fields: @@ -69099,9 +69169,15 @@ entities: format: int32 type: integer - _key: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' example: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag description: API resource entity version. example: '1' @@ -69325,6 +69401,8 @@ entities: summary: Get all trusted certificates. x_deprecation: null x_filter: + certificate_fingerprint: + - eq device_execution_mode: - eq - neq @@ -69465,10 +69543,16 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' entity_fieldname: enrollment_mode example: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag api_fieldname: etag description: API resource entity version. @@ -69778,13 +69862,19 @@ entities: x-nullable: true - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default value + is false.' entity_fieldname: enrollment_mode example: false in: body parameter_fieldname: enrollment_mode required: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: *id021 - _key: id api_fieldname: id description: Entity ID. @@ -69818,7 +69908,7 @@ entities: api_fieldname: service description: Service name where the certificate is used. entity_fieldname: service - enum: *id020 + enum: *id022 enum_reference: trusted_certificate_service_enum in: body parameter_fieldname: service @@ -69828,7 +69918,7 @@ entities: api_fieldname: status description: Status of the certificate. entity_fieldname: status - enum: *id021 + enum: *id023 enum_reference: trusted_certificate_status_enum example: ACTIVE in: body @@ -69898,10 +69988,16 @@ entities: type: integer - _key: enrollment_mode api_fieldname: enrollment_mode - description: If true, signature is not required. Default value false. + description: 'DEPRECATED: Certificate is used in enrollment mode. Default + value is false.' entity_fieldname: enrollment_mode example: false type: boolean + x-deprecation: + comment: This field is deprecated, do not use it anymore. + end_of_life_at: '2021-11-01T00:00:00+00:00' + issued_at: '2020-11-01T00:00:00+00:00' + links: [] - _key: etag api_fieldname: etag description: API resource entity version. @@ -74237,7 +74333,7 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: &id022 + enum: &id024 - NATIVE - MBED - SAML2 @@ -74245,7 +74341,7 @@ entities: example: NATIVE readOnly: true type: string - required: &id023 + required: &id025 - id type: object parameter_fieldname: login_profiles @@ -76779,11 +76875,11 @@ entities: api_fieldname: type description: Identity provider type. entity_fieldname: login_profile_type - enum: *id022 + enum: *id024 example: NATIVE readOnly: true type: string - required: *id023 + required: *id025 type: object parameter_fieldname: login_profiles required: false From a91942847eb9fb191d90efbea5dcbce2eb07d24b Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 12 Oct 2020 08:17:17 +0000 Subject: [PATCH 109/111] new SDK config changes via api-contract @ 2020-10-12 08:17 --- api_specifications/public/pelion_dm_public_openapi.yaml | 9 +++++++-- api_specifications/public/sdk_foundation_definition.json | 8 +++++++- api_specifications/public/sdk_foundation_definition.yaml | 9 +++++++-- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 454abb9ad..c4497c56e 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -4546,6 +4546,11 @@ definitions: example: 'null' type: string data: + enum: + - fail + - skipped + - info + - success items: $ref: '#/definitions/EventType' type: array @@ -32358,8 +32363,8 @@ paths: x-origin: /home/circleci/project/update-service/public/swagger.yml /v3/update-campaigns/{campaign_id}/statistics/{summary_status_id}/event_types/{event_type_id}: get: - description: 'Get the count for a specific event type; for example, succeeded, - failed, or skipped. + description: 'Get the count for a specific event type, for example, succeeded, + failed or skipped.
diff --git a/api_specifications/public/sdk_foundation_definition.json b/api_specifications/public/sdk_foundation_definition.json index 1d910ab24..c2c51d2a5 100644 --- a/api_specifications/public/sdk_foundation_definition.json +++ b/api_specifications/public/sdk_foundation_definition.json @@ -19606,6 +19606,12 @@ "entity": "campaign_statistics_events" } }, + "enum": [ + "fail", + "skipped", + "info", + "success" + ], "api_fieldname": "data", "entity_fieldname": "data", "_key": "data" @@ -20539,7 +20545,7 @@ "primary_key_field": "id", "methods": [ { - "description": "Get the count for a specific event type; for example, succeeded, failed, or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \\\n-H 'Authorization: Bearer '\n```\n", + "description": "Get the count for a specific event type, for example, succeeded, failed or skipped.\n
\n**Usage example:**\n```\ncurl -X GET https://api.us-east-1.mbedcloud.com/v3/update-campaigns/12345678901234567890123456789012/statistics/success/event_types/sys_112 \\\n-H 'Authorization: Bearer '\n```\n", "field_renames": [], "fields": [ { diff --git a/api_specifications/public/sdk_foundation_definition.yaml b/api_specifications/public/sdk_foundation_definition.yaml index 07197321c..5cd6e776c 100644 --- a/api_specifications/public/sdk_foundation_definition.yaml +++ b/api_specifications/public/sdk_foundation_definition.yaml @@ -14288,6 +14288,11 @@ entities: - _key: data api_fieldname: data entity_fieldname: data + enum: + - fail + - skipped + - info + - success items: foreign_key: entity: campaign_statistics_events @@ -15003,8 +15008,8 @@ entities: group_id: Device_Update methods: - _key: read - description: 'Get the count for a specific event type; for example, succeeded, - failed, or skipped. + description: 'Get the count for a specific event type, for example, succeeded, + failed or skipped.
From 3c09e191444697d0a395368dda16128b8293d422 Mon Sep 17 00:00:00 2001 From: monty bot Date: Fri, 16 Oct 2020 18:27:19 +0000 Subject: [PATCH 110/111] new SDK config changes via api-contract @ 2020-10-16 18:27 --- .../public/pelion_dm_public_openapi.yaml | 105 +++++++++++------- 1 file changed, 66 insertions(+), 39 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index c4497c56e..7acecf0d5 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -8141,7 +8141,7 @@ definitions: example: false type: boolean created_at: *id014 - description: &id039 + description: &id035 description: Human-readable description. example: New Linux update for my devices maxLength: 2000 @@ -8157,7 +8157,7 @@ definitions: example: 016e652be671000000000001001001e5 pattern: '[A-Fa-f0-9]{32}' type: string - name: &id040 + name: &id036 description: Human-readable name. example: New Linux update maxLength: 128 @@ -25192,6 +25192,11 @@ paths: ' operationId: ListGatewayDeviceLogs parameters: + - description: The device ID for which to retrieve logs. + in: query + name: device_id__in + required: false + type: string - default: 100 description: Limit the number of returned results. The default value is 100. in: query @@ -25214,41 +25219,50 @@ paths: name: order required: false type: string - - description: 'Comma separated additional data to return. Currently supported: + - description: 'Comma-separated additional data to return. Currently supported: total_count' in: query name: include required: false type: string - - description: lte filter for the "timestamp" field + - description: RFC 3339 UTC timestamp range upper limit. format: date-time in: query name: timestamp__lte + required: false type: string - - description: gte filter for the "timestamp" field + - description: RFC 3339 UTC timestamp range lower limit. format: date-time in: query name: timestamp__gte + required: false type: string - - description: eq filter for the "app_name" field + - description: Name of the application on a device that generated logs. in: query name: app_name__eq + required: false type: string - - description: eq filter for the "type" field + - description: Device log type filter. in: query name: type__eq + required: false type: string - - description: eq filter for the "message" field + - description: Device log message filter. in: query name: message__eq + required: false type: string - - description: gte filter for the "level" field + - description: Minimum severity level of logs to retrieve. + enum: &id033 + - DEBUG + - TRACE + - INFO + - WARNING + - ERROR + - CRITICAL in: query name: level__gte - type: string - - description: in filter for the "device_id" field - in: query - name: device_id__in + required: false type: string responses: '200': @@ -25267,18 +25281,18 @@ paths: tags: - Gateway Logs Public API x-filter: - app_name: &id033 + app_name: - eq device_id: - in - level: &id034 + level: - gte - message: &id035 + message: - eq - timestamp: &id036 + timestamp: - lte - gte - type: &id037 + type: - eq x-origin: /home/circleci/project/gateway/public/logs.yaml /v3/device-logs/{device_log_id}: @@ -26767,37 +26781,44 @@ paths: name: order required: false type: string - - description: 'Comma separated additional data to return. Currently supported: + - description: 'Comma-separated additional data to return. Currently supported: total_count' in: query name: include required: false type: string - - description: lte filter for the "timestamp" field + - description: RFC 3339 UTC timestamp range upper limit. format: date-time in: query name: timestamp__lte + required: false type: string - - description: gte filter for the "timestamp" field + - description: RFC 3339 UTC timestamp range lower limit. format: date-time in: query name: timestamp__gte + required: false type: string - - description: eq filter for the "app_name" field + - description: Name of the application on a device that generated logs. in: query name: app_name__eq + required: false type: string - - description: eq filter for the "type" field + - description: Device log type filter. in: query name: type__eq + required: false type: string - - description: eq filter for the "message" field + - description: Device log message filter. in: query name: message__eq + required: false type: string - - description: gte filter for the "level" field + - description: Minimum severity level of logs to retrieve. + enum: *id033 in: query name: level__gte + required: false type: string responses: '200': @@ -26820,11 +26841,17 @@ paths: tags: - Gateway Logs Public API x-filter: - app_name: *id033 - level: *id034 - message: *id035 - timestamp: *id036 - type: *id037 + app_name: + - eq + level: + - gte + message: + - eq + timestamp: + - lte + - gte + type: + - eq x-origin: /home/circleci/project/gateway/public/logs.yaml /v3/devices/{id}/: delete: @@ -26987,7 +27014,7 @@ paths: in: body name: Block required: true - schema: &id038 + schema: &id034 properties: category: description: The reference of the block category. @@ -27043,7 +27070,7 @@ paths: in: body name: Block required: true - schema: *id038 + schema: *id034 responses: '204': description: Ok - Device suspended. @@ -27669,8 +27696,8 @@ paths: required: true schema: properties: - description: *id039 - name: *id040 + description: *id035 + name: *id036 type: object responses: 201: @@ -27804,8 +27831,8 @@ paths: required: true schema: properties: - description: *id039 - name: *id040 + description: *id035 + name: *id036 type: object responses: 200: @@ -32286,7 +32313,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: &id041 + enum: &id037 - fail - success - info @@ -32339,7 +32366,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id041 + enum: *id037 in: path name: summary_status_id required: true @@ -32389,7 +32416,7 @@ paths: required: true type: string - description: The summary status. For example, fail. - enum: *id041 + enum: *id037 in: path name: summary_status_id required: true From dd636718da168a0154ea67760a79c92b71957a4c Mon Sep 17 00:00:00 2001 From: monty bot Date: Mon, 26 Oct 2020 06:02:36 +0000 Subject: [PATCH 111/111] new SDK config changes via api-contract @ 2020-10-26 06:02 --- .../public/pelion_dm_public_openapi.yaml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/api_specifications/public/pelion_dm_public_openapi.yaml b/api_specifications/public/pelion_dm_public_openapi.yaml index 7acecf0d5..5718a52e3 100644 --- a/api_specifications/public/pelion_dm_public_openapi.yaml +++ b/api_specifications/public/pelion_dm_public_openapi.yaml @@ -4216,15 +4216,9 @@ definitions: Echo. properties: desired: - description: Resource value written, or queued to be written to the device. - items: - $ref: '#/definitions/EchoResourceDesired' - type: object + $ref: '#/definitions/EchoResourceDesired' reported: - description: Reported resource data from the device. - items: - $ref: '#/definitions/EchoResourceReported' - type: object + $ref: '#/definitions/EchoResourceReported' resource_path: description: The path of the resource. example: /3/0/1