openapi: 3.2.0 info: version: 2.3.2 title: Eim Info API description: '#### Copyright © Aeris Communications, Inc.' x-audience: external-public x-api-id: 8f546a89-2247-4254-8c9e-0b2900a5f491 servers: - url: https://iot-api.aeris.com/iot/api description: API server tags: - name: EimInfo description: eIM information paths: /eim-info/list: get: tags: - EimInfo summary: List eIM infos operationId: listEimInfos description: Retrieves eIM information records. parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - name: Accept in: header description: Accept content-type and schemas by the client content: application/json: schema: type: string responses: '200': description: OK allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: $ref: '#/components/schemas/EimInfoList001' examples: List eIM infos response: $ref: '#/components/examples/EimInfoListExample' '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: - cnx_eim_read /eim-info/{eimInfoEntityId}: get: tags: - EimInfo summary: Get eIM info operationId: getEimInfo description: Retrieves eIM information by entity id. parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - name: Accept in: header description: Accept content-type and schemas by the client content: application/json: schema: type: string - name: eimInfoEntityId in: path description: eIM entity id. required: true schema: type: string minLength: 1 responses: '200': description: OK allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: $ref: '#/components/schemas/EimInfo001' examples: Get eIM info response: $ref: '#/components/examples/EimInfoExample' '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: - cnx_eim_read /eim-info/{euiccId}/eims: get: tags: - EimInfo summary: Get eIMs mapped to an eUICC operationId: getEuiccEims description: Retrieves eIMs mapped to an eUICC. parameters: - $ref: '#/components/parameters/Header-Content-Type' - $ref: '#/components/parameters/Header-Accept-Version' - name: Accept in: header description: Accept content-type and schemas by the client content: application/json: schema: type: string - name: euiccId in: path description: hexadecimal digit eUICC ID required: true schema: type: string pattern: (^[0-9A-F]{32})|([0-9A-Fa-f]{20,30}$) responses: '200': description: Mapped eIMs found allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: type: array items: $ref: '#/components/schemas/EuiccEim001' examples: Get euicc eims response: $ref: '#/components/examples/EuiccEimListExample' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '500': $ref: '#/components/responses/500' default: description: Internal Server Error content: application/problem+json: schema: $ref: '#/components/schemas/Problem' security: - OAuth2: - cnx_eim_read components: schemas: EimInfo001: type: object required: - entityId - eimId - eimName - eimIdType - eimFqdn - supportedProtocols - indirectProfileDownload properties: entityId: type: string eimId: type: string maxLength: 128 eimName: type: string maxLength: 256 eimIdType: type: string eimFqdn: type: string maxLength: 255 supportedProtocols: type: array items: $ref: '#/components/schemas/SupportedProtocol001' indirectProfileDownload: type: boolean SupportedProtocol001: type: string enum: - EIM_RETRIEVE_HTTPS - EIM_RETRIEVE_COAPS - EIM_INJECT_HTTPS - EIM_INJECT_COAPS - EIM_PROPRIETARY EimInfoList001: type: array items: $ref: '#/components/schemas/EimInfo001' EuiccEim001: type: object properties: eim_id: type: string eim_fqdn: type: string eim_id_type: type: string indirect_profile_download: type: boolean 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 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' '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 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 examples: EimInfoListExample: value: - entityId: EIM000000000006 eimId: 1.3.6.1.4.1.31746.1.800.102.1.3.2.12 eimName: AerisEIMFQDN2 eimIdType: EIM_ID_TYPE_FQDN eimFqdn: eim.iot.fqdn.aeris.com supportedProtocols: - EIM_RETRIEVE_HTTPS - EIM_RETRIEVE_COAPS - EIM_INJECT_HTTPS - EIM_INJECT_COAPS - EIM_PROPRIETARY indirectProfileDownload: false EuiccEimListExample: value: - eim_id: 1.2.3.4 eim_fqdn: eim.enterprise-x.example eim_id_type: EIM_ID_TYPE_OID indirect_profile_download: true EimInfoExample: value: entityId: EIM000000000006 eimId: 1.3.6.1.4.1.31746.1.800.102.1.3.2.12 eimName: AerisEIMFQDN2 eimIdType: EIM_ID_TYPE_FQDN eimFqdn: eim.iot.fqdn.aeris.com supportedProtocols: - EIM_RETRIEVE_HTTPS - EIM_RETRIEVE_COAPS - EIM_INJECT_HTTPS - EIM_INJECT_COAPS - EIM_PROPRIETARY indirectProfileDownload: false 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: cnx_eim_read: Grant client read access to eIM info resources