openapi: 3.2.0 info: version: 2.3.2 title: eUICC Setup Locale API description: '#### Copyright © Aeris Communications, Inc.' x-audience: external-public x-api-id: 8cd4dc59-bfa5-45f1-9567-460c15b817b1 servers: - url: https://iot-api.aeris.com/iot/api description: API server tags: - name: Locale description: Locale paths: /localization-tables/{localizationTableId}/locales/{localeId}: get: tags: - Locale summary: Get locale operationId: getLocale description: Retrieves a single locale parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - $ref: '#/components/parameters/Header-Accept' - name: localizationTableId in: path description: Localization table Id required: true schema: type: integer format: int64 - name: localeId in: path description: Locale Id required: true schema: type: string responses: '200': description: OK allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: $ref: '#/components/schemas/LocaleResponse.0.0.1' examples: Get locale response: $ref: '#/components/examples/LocaleExample' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' security: - OAuth2: - euicc-mgt.agreement.read delete: tags: - Locale summary: Delete single locale operationId: deleteLocalizationTableItem_1 description: Deletes a single locale parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - name: Accept in: header description: Accept content-type and schemas by client content: application/json: schema: type: string allOf: - $ref: '#/components/responses/204' - name: localizationTableId in: path description: Localization table Id required: true schema: type: integer format: int64 - name: localeId in: path description: Locale Id required: true schema: type: string responses: '204': description: Deleted allOf: - $ref: '#/components/responses/RateLimitedResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' security: - OAuth2: - euicc-mgt.agreement.write put: tags: - Locale summary: Update locale description: Updates a locale operationId: updateLocalizationTableItem_1 parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - $ref: '#/components/parameters/Header-Accept' - name: localizationTableId in: path description: Localization table Id required: true schema: type: integer format: int64 - name: localeId in: path description: Locale Id required: true schema: type: string requestBody: description: LocaleInfo.0.0.1 content: application/json: schema: $ref: '#/components/schemas/LocaleInfo.0.0.1' examples: Update locale request: $ref: '#/components/examples/LocaleInfoExample' required: true responses: '200': description: OK allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: $ref: '#/components/schemas/LocaleResponse.0.0.1' examples: Update locale response: $ref: '#/components/examples/UpdatedLocaleExample' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' security: - OAuth2: - euicc-mgt.agreement.write /localization-tables/{localizationTableId}/locales: post: tags: - Locale summary: Add locales into localization table operationId: addLocalizationTableItems_1 description: Adds locales to a localization table parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - $ref: '#/components/parameters/Header-Accept' - name: localizationTableId in: path description: Localization table Id required: true schema: type: integer format: int64 requestBody: description: Locale.0.0.1 content: application/json: schema: type: array items: $ref: '#/components/schemas/Locale.0.0.1' examples: Add locales into localization table request: $ref: '#/components/examples/LocaleArrayExample' required: true responses: '200': description: OK allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: type: array items: $ref: '#/components/schemas/LocaleResponse.0.0.1' examples: Add locales into localization table response: $ref: '#/components/examples/LocaleArrayExample' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' security: - OAuth2: - euicc-mgt.agreement.write get: tags: - Locale summary: List locales for a localization table operationId: listLocalizationTableItem description: Retrieves the locales of a localization table parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - $ref: '#/components/parameters/Header-Accept' - name: localizationTableId in: path description: Localization table Id required: true schema: type: integer format: int64 responses: '200': description: OK allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: $ref: '#/components/schemas/LocaleList.0.0.1' examples: List locales for a localization table response: $ref: '#/components/examples/LocaleListExample' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' security: - OAuth2: - euicc-mgt.agreement.read components: schemas: LocaleResponse.0.0.1: description: Locale response schema for read operations. All fields are optional to accommodate locale records where some properties may be null (e.g. CONSUMER, IOT, CUSTOM locale types). type: object properties: localeId: type: string localeName: type: string organizationId: type: string profileSpecificationId: type: string subscriptionPackageId: type: string features: uniqueItems: true type: array items: $ref: '#/components/schemas/LocaleFeature.0.0.1' localeParameters: uniqueItems: true type: array items: $ref: '#/components/schemas/LocaleParameter.0.0.1' localeType: type: string enum: - STANDARD_INBOUND - EXTENDED_IOTA_IOTA - EXTENDED_IOTA_NON_IOTA - CUSTOM - CONSUMER - IOT LocaleInfo.0.0.1: required: - localeName - organizationId - profileSpecificationId - subscriptionPackageId type: object properties: localeName: type: string organizationId: type: string profileSpecificationId: type: string subscriptionPackageId: type: string features: uniqueItems: true type: array items: $ref: '#/components/schemas/LocaleFeature.0.0.1' localeParameters: uniqueItems: true type: array items: $ref: '#/components/schemas/LocaleParameter.0.0.1' Locale.0.0.1: required: - localeId - localeName - organizationId - profileSpecificationId - subscriptionPackageId type: object properties: localeName: type: string organizationId: type: string profileSpecificationId: type: string subscriptionPackageId: type: string localeId: type: string features: uniqueItems: true type: array items: $ref: '#/components/schemas/LocaleFeature.0.0.1' localeParameters: uniqueItems: true type: array items: $ref: '#/components/schemas/LocaleParameter.0.0.1' localeType: type: string enum: - STANDARD_INBOUND - EXTENDED_IOTA_IOTA - EXTENDED_IOTA_NON_IOTA - CUSTOM - CONSUMER - IOT LocaleParameter.0.0.1: required: - name - value type: object properties: name: type: string enum: - TARGET_SMSR - ES2_NOTIFICATION_ENDPOINT - ES4_NOTIFICATION_ENDPOINT value: type: string LocaleList.0.0.1: required: - localizationTableItems type: object properties: localizationTableItems: type: array items: $ref: '#/components/schemas/LocaleResponse.0.0.1' Problem: type: object properties: type: type: string format: uri description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). ' default: about:blank example: https://your.api.documentation.url title: type: string description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized) ' example: Service Unavailable status: type: integer format: int32 description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' minimum: 100 example: 503 exclusiveMaximum: 600 detail: type: string description: 'A human readable explanation specific to this occurrence of the problem. ' example: Connection to database timed out instance: type: string description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ' example: https://api.documentation.url/request-id LocaleFeature.0.0.1: type: string enum: - SMSR_CHANGE - SMDP_ONLY - ONE_STEP - NO_RETRY headers: Content-Type: description: Handle Content-Type schema: type: string X-RateLimit-Remaining-Second: description: The number of requests remaining in a second. schema: type: integer format: int32 X-RateLimit-Limit-Second: description: The maximum number of requests allowed in a second. schema: type: integer format: int32 X-RateLimit-Remaining-Minute: description: The number of requests remaining in a minute. schema: type: integer format: int32 X-RateLimit-Limit-Minute: description: The maximum number of requests allowed in a minute. schema: type: integer format: int32 responses: '429': description: Too Many Requests allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://your.api.documentation.url/too-many-requests title: Too Many Requests status: 429 detail: The user has sent too many requests in a given amount of time instance: https://api.documentation.url/request-id '401': description: Unauthorized headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://your.api.documentation.url/unauthorized title: Unauthorized status: 401 detail: Authentication credentials were missing or incorrect instance: https://api.documentation.url/request-id RateLimitedResponse: headers: X-RateLimit-Limit-Second: $ref: '#/components/headers/X-RateLimit-Limit-Second' X-RateLimit-Limit-Minute: $ref: '#/components/headers/X-RateLimit-Limit-Minute' X-RateLimit-Remaining-Second: $ref: '#/components/headers/X-RateLimit-Remaining-Second' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/X-RateLimit-Remaining-Minute' Content-Type: $ref: '#/components/headers/Content-Type' '204': description: No Content allOf: - $ref: '#/components/responses/RateLimitedResponse' '403': description: Forbidden headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://your.api.documentation.url/forbidden title: Forbidden status: 403 detail: The server understood the request but refuses to authorize it instance: https://api.documentation.url/request-id '400': description: Bad Request headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://your.api.documentation.url/bad-request title: Bad Request status: 400 detail: The request could not be understood by the server due to malformed syntax instance: https://api.documentation.url/request-id '405': description: Method Not Allowed headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://your.api.documentation.url/method-not-allowed title: Method Not Allowed status: 405 detail: The request method is not supported for this resource instance: https://api.documentation.url/request-id '404': description: Not Found headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://your.api.documentation.url/not-found title: Not Found status: 404 detail: The requested resource could not be found instance: https://api.documentation.url/request-id '500': description: Internal Server Error headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://your.api.documentation.url/internal-server-error title: Internal Server Error status: 500 detail: The server encountered an unexpected condition that prevented it from fulfilling the request instance: https://api.documentation.url/request-id examples: LocaleArrayExample: value: - localeId: ENH-01 localeName: Enhanced Service Locale organizationId: 3.97.2 profileSpecificationId: Smooth_2nd_step_profile subscriptionPackageId: 97000001_001_SP_02 features: [] localeParameters: [] localeType: STANDARD_INBOUND - localeId: ENH-02 localeName: Enhanced Service Locale 2 organizationId: 3.97.2 profileSpecificationId: Smooth_2nd_step_profile subscriptionPackageId: 97000001_002_SP_30 features: [] localeParameters: [] localeType: STANDARD_INBOUND LocaleListExample: value: localizationTableItems: - localeId: ENH-01 localeName: Enhanced Service Locale organizationId: 3.97.2 profileSpecificationId: Smooth_2nd_step_profile subscriptionPackageId: 97000001_001_SP_02 features: [] localeParameters: [] localeType: STANDARD_INBOUND - localeId: ENH-02 localeName: Enhanced Service Locale 2 organizationId: 3.97.2 profileSpecificationId: Smooth_2nd_step_profile subscriptionPackageId: 97000001_002_SP_30 features: [] localeParameters: [] localeType: STANDARD_INBOUND LocaleInfoExample: value: localeName: Updated Enhanced Service Locale organizationId: 3.97.2 profileSpecificationId: Smooth_2nd_step_profile subscriptionPackageId: 97000001_001_SP_02 features: - SMDP_ONLY - ONE_STEP localeParameters: [] UpdatedLocaleExample: value: localeId: ENH-01 localeName: Updated Enhanced Service Locale organizationId: 3.97.2 profileSpecificationId: Smooth_2nd_step_profile subscriptionPackageId: 97000001_001_SP_02 features: - SMDP_ONLY - ONE_STEP localeParameters: [] localeType: STANDARD_INBOUND LocaleExample: value: localeId: ENH-01 localeName: Enhanced Service Locale organizationId: 3.97.2 profileSpecificationId: Smooth_2nd_step_profile subscriptionPackageId: 97000001_001_SP_02 features: [] localeParameters: [] localeType: STANDARD_INBOUND parameters: Header-Content-Type: name: Content-Type in: header description: Content-Type schema: type: string Header-Accept-Version: name: Accept-Version in: header description: Accept version of the response schema: type: string Header-Accept: name: Accept in: header description: Accept content-type by the client schema: type: string securitySchemes: OAuth2: type: oauth2 description: The resources in the API are protected using the OAuth 2.0 protocol flows: clientCredentials: tokenUrl: https://iot-api.aeris.com/iot/api/auth/token scopes: euicc-mgt.agreement.read: Grant client read access to eUICC agreement resources euicc-mgt.agreement.write: Grant client write access to eUICC agreement resources