Aeris Eim Eco Operation API

eCO eIM order operations and job status

Operations 5

POST /eco/add-eim-order Create add eIM order #
POST /eco/update-eim-order Create update eIM order #
POST /eco/delete-eim-order Create delete eIM order #
POST /eco/list-eim-order Create list eIM order #
GET /eco/job/{ecoJobId}/status Get eCO job status #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aeris-eimecooperation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aeris-eimecooperation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.3.2
  title: eIM ECO Operations Eim Eco Operation API
  description: '#### Copyright

    © Aeris Communications, Inc.'
  x-audience: external-public
servers:
- url: https://iot-api.aeris.com/iot/api
  description: API server
tags:
- name: EimEcoOperation
  description: eCO eIM order operations and job status
paths:
  /eco/add-eim-order:
    post:
      tags:
      - EimEcoOperation
      summary: Create add eIM order
      operationId: createAddEimOrder
      description: Creates an eCO add-eIM-order request.
      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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddEimOrderRequestV1'
            examples:
              Add eIM order request:
                $ref: '#/components/examples/AddEimOrderRequestExample'
      responses:
        '200':
          description: eIM order request accepted for processing
          allOf:
          - $ref: '#/components/responses/RateLimitedResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EimOrderResponseV1'
              examples:
                Add eIM order response:
                  $ref: '#/components/examples/EimOrderResponseExample'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        default:
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
      - OAuth2:
        - cnx_eim_eco_add
  /eco/update-eim-order:
    post:
      tags:
      - EimEcoOperation
      summary: Create update eIM order
      operationId: createUpdateEimOrder
      description: Creates an eCO update-eIM-order request.
      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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEimOrderRequestV1'
            examples:
              Update eIM order request:
                $ref: '#/components/examples/UpdateEimOrderRequestExample'
      responses:
        '200':
          description: eIM order request accepted for processing
          allOf:
          - $ref: '#/components/responses/RateLimitedResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EimOrderResponseV1'
              examples:
                Update eIM order response:
                  $ref: '#/components/examples/EimOrderResponseExample'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        default:
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
      - OAuth2:
        - cnx_eim_eco_update
  /eco/delete-eim-order:
    post:
      tags:
      - EimEcoOperation
      summary: Create delete eIM order
      operationId: createDeleteEimOrder
      description: Creates an eCO delete-eIM-order request.
      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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteEimOrderRequestV1'
            examples:
              Delete eIM order request:
                $ref: '#/components/examples/DeleteEimOrderRequestExample'
      responses:
        '200':
          description: eIM order request accepted for processing
          allOf:
          - $ref: '#/components/responses/RateLimitedResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EimOrderResponseV1'
              examples:
                Delete eIM order response:
                  $ref: '#/components/examples/EimOrderResponseExample'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        default:
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
      - OAuth2:
        - cnx_eim_eco_delete
  /eco/list-eim-order:
    post:
      tags:
      - EimEcoOperation
      summary: Create list eIM order
      operationId: createListEimOrder
      description: Creates an eCO list-eIM-order request.
      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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListEimOrderRequestV1'
            examples:
              List eIM order request:
                $ref: '#/components/examples/ListEimOrderRequestExample'
      responses:
        '200':
          description: eIM order request accepted for processing
          allOf:
          - $ref: '#/components/responses/RateLimitedResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EimOrderResponseV1'
              examples:
                List eIM order response:
                  $ref: '#/components/examples/EimOrderResponseExample'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '500':
          $ref: '#/components/responses/500'
        default:
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
      - OAuth2:
        - cnx_eim_eco_view
  /eco/job/{ecoJobId}/status:
    get:
      tags:
      - EimEcoOperation
      summary: Get eCO job status
      operationId: getEimEcoJobStatus
      description: Get status for an eCO job (parent and per-resource).
      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: ecoJobId
        in: path
        description: ECO job id.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Job status payload returned
          allOf:
          - $ref: '#/components/responses/RateLimitedResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EimEcoJobStatusResponseV1'
              examples:
                eCO job status response:
                  $ref: '#/components/examples/EimEcoJobStatusResponseExample'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        default:
          description: Internal Server Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
      - OAuth2:
        - cnx_eim_eco_view
components:
  responses:
    '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
    '415':
      description: Unsupported Media Type
      headers:
        Content-Type:
          $ref: '#/components/headers/Content-Type'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://your.api.documentation.url/unsupported-media-type
            title: Unsupported Media Type
            status: 415
            detail: Unsupported media type
            instance: https://api.documentation.url/request-id
    '406':
      description: Not Acceptable
      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-acceptable
            title: Not Acceptable
            status: 406
            detail: Unsupported response type
            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
    '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
  schemas:
    ListEimOrderRequestV1:
      allOf:
      - $ref: '#/components/schemas/EimOrderRequestV1'
    DeleteEimOrderRequestV1:
      allOf:
      - $ref: '#/components/schemas/EimOrderRequestV1'
      - type: object
        required:
        - targetEimId
        properties:
          targetEimId:
            type: string
    EimEcoJobStatusResponseV1:
      type: object
      properties:
        jobInfo:
          $ref: '#/components/schemas/EimEcoJobInfoV1'
        success:
          type: array
          items:
            $ref: '#/components/schemas/EimEcoResourceStatusV1'
        inProgress:
          type: array
          items:
            $ref: '#/components/schemas/EimEcoResourceStatusV1'
        failure:
          type: array
          items:
            $ref: '#/components/schemas/EimEcoResourceStatusV1'
    UpdateEimOrderRequestV1:
      allOf:
      - $ref: '#/components/schemas/EimOrderRequestV1'
      - type: object
        required:
        - targetEimId
        properties:
          targetEimId:
            type: string
    EimOrderRequestV1:
      type: object
      required:
      - executorEimId
      properties:
        euiccIds:
          type: array
          items:
            type: string
        companyId:
          type: string
        organizationId:
          type: string
        agreementId:
          type: string
        localeId:
          type: string
        executorEimId:
          type: string
    EimEcoJobInfoV1:
      type: object
      properties:
        createdByName:
          type: string
        createdByUserId:
          type: string
        organization:
          type: string
        status:
          type: string
          example: COMPLETED
        targetEim:
          type: string
        executorEim:
          type: string
        operation:
          type: string
          example: ADD
        size:
          type: integer
          format: int32
        errorMessage:
          type: string
    ResultCode:
      type: string
      enum:
      - SUCCESS
      - FAILED_RESOURCES
    EimEcoResourceStatusV1:
      type: object
      properties:
        euiccId:
          type: string
          example: '89012345678901234567'
        status:
          type: string
          example: COMPLETED
        errorMessage:
          type: string
    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
    AddEimOrderRequestV1:
      allOf:
      - $ref: '#/components/schemas/EimOrderRequestV1'
      - type: object
        required:
        - targetEimId
        properties:
          targetEimId:
            type: string
    EimOrderResponseV1:
      type: object
      required:
      - jobId
      - resultCode
      properties:
        jobId:
          type: string
        resultCode:
          $ref: '#/components/schemas/ResultCode'
  headers:
    X-RateLimit-Remaining-Minute:
      description: The number of requests remaining in a minute.
      schema:
        type: integer
        format: int32
    X-RateLimit-Remaining-Second:
      description: The number of requests remaining in a second.
      schema:
        type: integer
        format: int32
    Content-Type:
      description: Handle Content-Type
      schema:
        type: string
    X-RateLimit-Limit-Minute:
      description: The maximum number of requests allowed in a minute.
      schema:
        type: integer
        format: int32
    X-RateLimit-Limit-Second:
      description: The maximum number of requests allowed in a second.
      schema:
        type: integer
        format: int32
  parameters:
    Header-Accept-Version:
      name: Accept-Version
      in: header
      description: Accept version of the response
      schema:
        type: string
    Header-Content-Type:
      name: Content-Type
      in: header
      description: Content-Type
      schema:
        type: string
  examples:
    DeleteEimOrderRequestExample:
      value:
        euiccIds:
        - '89012345678901234567'
        - '89012345678901234568'
        companyId: company-10001
        organizationId: org-10001
        agreementId: agreement-2001
        localeId: locale-01
        executorEimId: EXEC-EIM-01
        targetEimId: TARGET-EIM-02
    UpdateEimOrderRequestExample:
      value:
        euiccIds:
        - '89012345678901234567'
        - '89012345678901234568'
        companyId: company-10001
        organizationId: org-10001
        agreementId: agreement-2001
        localeId: locale-01
        executorEimId: EXEC-EIM-01
        targetEimId: TARGET-EIM-02
    EimEcoJobStatusResponseExample:
      value:
        jobInfo:
          createdByName: Alex Doe
          createdByUserId: user-2001
          organization: org-10001
          status: IN_PROGRESS
          targetEim: TARGET-EIM-01
          executorEim: EXEC-EIM-01
          operation: EUICC_ADD_EIM
          size: 2
        success:
        - euiccId: '89012345678901234567'
          status: COMPLETED
        inProgress:
        - euiccId: '89012345678901234568'
          status: IN_PROGRESS
        failure:
        - euiccId: '89012345678901234569'
          status: FAILED
          errorMessage: Executor eIM rejected operation
    EimOrderResponseExample:
      value:
        jobId: JOB-123456
        resultCode: SUCCESS
    AddEimOrderRequestExample:
      value:
        euiccIds:
        - '89012345678901234567'
        - '89012345678901234568'
        companyId: company-10001
        organizationId: org-10001
        agreementId: agreement-2001
        localeId: locale-01
        executorEimId: EXEC-EIM-01
        targetEimId: TARGET-EIM-01
    ListEimOrderRequestExample:
      value:
        euiccIds:
        - '89012345678901234567'
        - '89012345678901234568'
        companyId: company-10001
        organizationId: org-10001
        agreementId: agreement-2001
        localeId: locale-01
        executorEimId: EXEC-EIM-01
  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_eco_add: Grant client access to create add eCO operations
            cnx_eim_eco_update: Grant client access to create update eCO operations
            cnx_eim_eco_delete: Grant client access to create delete eCO operations
            cnx_eim_eco_view: Grant client access to create/list eCO operations and read eCO job status