openapi: 3.0.1
info:
title: Authorization Administration Logs Optimizer API
description: Documentation of the authentication used for the 1NCE APIs.
contact:
name: 1NCE GmbH
url: https://1nce.com
email: info@1nce.com
version: v2.1.1
servers:
- url: https://api.1nce.com/management-api
tags:
- description: Optimize energy consumption
name: Optimizer
paths:
/v1/optimize/messages/test:
post:
description: Test a template with a sample input message.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/postschema_4'
description: The Body of the template tester post request.
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/postResponseschema_1'
description: OK
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuthentication: []
summary: Test template
tags:
- Optimizer
/v1/optimize/savings:
get:
description: Get statistics about the savings by using the optimizer.
parameters:
- description: Specify the range in days to receive data about.
explode: true
in: query
name: range
required: false
schema:
default: '1'
enum:
- '1'
- '7'
- '30'
example: '1'
type: string
style: form
- description: 'Filter out by specific protocols:
'
explode: true
in: query
name: protocol
required: false
schema:
enum:
- UDP
- COAP
example: COAP
type: string
style: form
- description: ICCID of a SIM device, used to identifiy each 1NCE SIM.
explode: true
in: query
name: iccid
required: false
schema:
example: '8988280666000000000'
type: string
style: form
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/getResponseschema_3'
description: OK
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuthentication: []
summary: Get savings
tags:
- Optimizer
/v1/optimize/templates:
get:
description: Get all Translation Service Templates for the current organization.
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/getTranslationTemplatesResponseschema'
description: OK
'403':
$ref: '#/components/responses/ForbiddenError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuthentication: []
summary: Get Optimizer Templates
tags:
- Optimizer
post:
description: Create a new Translation Service Template.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createTranslationTemplateRequestschema'
description: The Body for the creation of a new Optimizer Template needs to contain the name, template in JSON format and protocol filter.
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/postPatchTranslationTemplatesResponseschema'
description: Created
'403':
$ref: '#/components/responses/ForbiddenError'
'409':
$ref: '#/components/responses/ConflictError'
'422':
$ref: '#/components/responses/UnprocessableEntityError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuthentication: []
summary: Create Optimizer Template
tags:
- Optimizer
/v1/optimize/templates/{templateId}:
delete:
description: Delete a specific Optimizer Template.
parameters:
- description: Unique Id of the Optimizer Template which should be deleted.
explode: false
in: path
name: templateId
required: true
schema:
type: string
style: simple
responses:
'204':
description: No Content
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuthentication: []
summary: Delete Optimizer Template
tags:
- Optimizer
patch:
description: Update a specific Optimizer Template.
parameters:
- description: Unique Id of the Optimizer Template for which the update should be applied.
explode: false
in: path
name: templateId
required: true
schema:
example:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/patchTranslationTemplateRequestschema'
description: The Body of the update contains the name, template in JSON format and the protocol filter parameter.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/postPatchTranslationTemplatesResponseschema'
description: OK
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/ConflictError'
'422':
$ref: '#/components/responses/UnprocessableEntityError'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuthentication: []
summary: Update Optimizer Template
tags:
- Optimizer
components:
responses:
UnauthorizedError:
content:
application/json:
schema:
$ref: '#/components/schemas/unauthorizedRequestResponse'
description: Unauthorized
NotFoundError:
content:
application/json:
schema:
$ref: '#/components/schemas/notFoundResponse'
description: Not Found Error
InternalServerError:
content:
application/json:
schema:
$ref: '#/components/schemas/serverErrorResponse'
description: Internal Server Error
ForbiddenError:
content:
application/json:
schema:
$ref: '#/components/schemas/forbiddenResponse'
description: Forbidden
ConflictError:
content:
application/json:
schema:
$ref: '#/components/schemas/conflictResponse'
description: Conflict
UnprocessableEntityError:
content:
application/json:
schema:
$ref: '#/components/schemas/unprocessableEntityResponse'
description: Unprocessable Entity
BadRequestError:
content:
application/json:
schema:
$ref: '#/components/schemas/badRequestResponse'
description: Bad Request
schemas:
getResponseschema_3_messagesTranslated:
additionalProperties: false
description: Statistics about the number of messages translated.
properties:
value:
description: The number of messages translated.
example: 1
type: number
delta:
description: The difference to the number of messages translated in the previous timeframe.
example: 1
type: number
required:
- delta
- value
type: object
createTranslationTemplateRequestschema:
additionalProperties: false
description: Post new Translation Template model.
properties:
name:
description: Name of the new template.
example:
maxLength: 64
minLength: 1
type: string
template:
description: A stringified JSON template.
example:
minLength: 1
type: string
protocolFilter:
default: COAP
description: Protocol filter that applies to this template.
example: COAP
items:
enum:
- COAP
- UDP
type: string
minItems: 1
type: array
status:
description: The current status of the template.
enum:
- ACTIVE
- INACTIVE
example: ACTIVE
type: string
required:
- name
- protocolFilter
- template
title: Templates request
type: object
unauthorizedRequestResponse:
description: An API error response in case of an HTTP Unauthorized Request.
properties:
statusCode:
description: HTTP Response Code
example: 401
type: integer
statusText:
description: HTTP Status Text
enum:
- Unauthorized
type: string
errors:
description: Detailed error information.
items:
type: object
type: array
title: Unauthorized Request
type: object
notFoundResponse:
description: An API error response when a resource is Not Found.
properties:
statusCode:
description: HTTP Response Code
example: 404
type: integer
statusText:
description: HTTP Status Text
enum:
- Not Found
type: string
errors:
description: Detailed error information
items:
type: object
type: array
title: Not Found
type: object
getTranslationTemplatesResponseschema_inner:
properties:
name:
description: Name of the specific template.
example:
maxLength: 64
minLength: 1
type: string
template:
description: A stringified JSON template.
example:
minLength: 1
type: string
status:
description: The current status of the template.
example:
type: string
id:
description: The unique ID of the template.
example:
type: string
protocolFilter:
default: COAP
description: Protocol filter that applies to this template. Only the listed protocols will be processed by the template.
example: COAP
items:
enum:
- COAP
- UDP
type: string
minItems: 1
type: array
required:
- id
- name
- protocolFilter
- status
- template
type: object
patchTranslationTemplateRequestschema:
additionalProperties: false
anyOf:
- required:
- name
type: object
- required:
- template
type: object
- required:
- protocolFilter
type: object
- required:
- status
type: object
description: Update a Translation Template.
properties:
name:
description: New name of the template.
example:
maxLength: 64
minLength: 1
type: string
template:
description: A new stringified JSON template.
example:
minLength: 1
type: string
protocolFilter:
default: COAP
description: Protocol filter that applies to this template.
example: COAP
items:
enum:
- COAP
- UDP
type: string
minItems: 1
type: array
status:
description: The current status of the template.
enum:
- ACTIVE
- INACTIVE
example: ACTIVE
type: string
title: Templates request
type: object
postschema_4:
additionalProperties: false
description: Test a translation template with a sample input message request.
properties:
template:
description: A stringified JSON template.
example:
minLength: 1
type: string
payload:
description: Sample input used to test the template (base64).
example:
minLength: 1
type: string
required:
- payload
- template
title: Test translation template request
type: object
postResponseschema_1:
additionalProperties: false
description: Response to the test a translation template with a sample input message request.
properties:
translatedPayload:
description: A stringified JSON message (result from applying template to the sample input).
example:
type: string
reducedBytes:
description: The number of bytes that the device didn't have to send over the network by using the translation template.
example: 1
type: number
energyUsageReduction:
description: The energy saved on data transfer using provided template in percent.
example: 10.0
type: number
required:
- energyUsageReduction
- reducedBytes
- translatedPayload
title: Test translation template response
type: object
conflictResponse:
description: An API error response when a conflict is found.
properties:
statusCode:
description: HTTP Response Code
example: 409
type: integer
statusText:
description: Http Status Text
enum:
- Conflict
type: string
errors:
description: Detailed error information.
items:
type: object
type: array
title: Conflict
type: object
getResponseschema_3_bytesSaved:
additionalProperties: false
description: Statistics about the bytes reduced by using the translation templates.
properties:
value:
description: The amount of bytes reduced by using the translation templates.
example: 1
type: number
delta:
description: The difference to the amount of bytes reduced in the previous timeframe.
example: 1
type: number
required:
- delta
- value
type: object
getResponseschema_3_averageBytesReducedPerMessage:
additionalProperties: false
description: Statistics about the average amount of bytes reduced per translated message.
properties:
value:
description: The average amount of bytes reduced per translated message.
example: 1
type: number
delta:
description: The difference to the average amount of bytes reduced in the previous timeframe.
example: 1
type: number
required:
- delta
- value
type: object
getTranslationTemplatesResponseschema:
description: Response to the get Translation Template request.
items:
$ref: '#/components/schemas/getTranslationTemplatesResponseschema_inner'
title: Get Translation Template Response
type: array
postPatchTranslationTemplatesResponseschema:
description: Response to the post or the patch Translation Template request.
properties:
name:
description: Name of the specific template.
example:
maxLength: 64
minLength: 1
type: string
template:
description: A stringified JSON template.
example:
minLength: 1
type: string
status:
description: The current status of the template.
enum:
- ACTIVE
- INACTIVE
example: ACTIVE
type: string
id:
description: The unique ID of the template.
example:
type: string
protocolFilter:
default: COAP
description: Protocol filter that applies to this template. Only the listed protocols will be processed by the template.
example: COAP
items:
enum:
- COAP
- UDP
type: string
minItems: 1
type: array
required:
- id
- name
- protocolFilter
- status
- template
title: Post/Patch Translation Template Response
type: object
getResponseschema_3:
additionalProperties: false
description: Response to the get optimizer savings request.
properties:
messagesTranslated:
$ref: '#/components/schemas/getResponseschema_3_messagesTranslated'
averageBytesReducedPerMessage:
$ref: '#/components/schemas/getResponseschema_3_averageBytesReducedPerMessage'
bytesSaved:
$ref: '#/components/schemas/getResponseschema_3_bytesSaved'
required:
- averageBytesReducedPerMessage
- bytesSaved
- messagesTranslated
title: Get optimizer savings response
type: object
serverErrorResponse:
description: An API error response in case of a Server Side Error.
properties:
statusText:
description: HTTP Status Text
enum:
- Unknown Error
- Server Error
type: string
errors:
description: List of errors encountered while calling the API.
items:
type: object
type: array
title: Server Error
type: object
unprocessableEntityResponse:
description: An API error response when the request is valid but cannot be processed.
properties:
statusCode:
description: HTTP Response Code
example: 422
type: integer
statusText:
description: HTTP Status Text
enum:
- Unprocessable Entity
type: string
errors:
description: Detailed error information.
items:
type: object
type: array
title: Unprocessable Entity
type: object
badRequestResponse:
description: An API error response in case of an HTTP Bad Request.
properties:
statusCode:
description: HTTP Response Code
example: 400
type: integer
statusText:
description: HTTP Status Text
enum:
- Bad Request
type: string
errors:
description: Detailed error information.
items:
type: object
type: array
title: Bad Request
type: object
forbiddenResponse:
description: An API error response in case of an HTTP Forbidden Request.
properties:
statusCode:
description: HTTP Response Code
example: 403
type: integer
statusText:
description: HTTP Status Text
enum:
- Forbidden
type: string
errors:
description: Detailed error information.
items:
type: object
type: array
title: Forbidden Request
type: object
securitySchemes:
BasicAuthentication:
type: http
scheme: basic
description: Basic authentication used for obtaining the Bearer Authentication Token. The Bearer Token can then be used to make any further API calls towards the 1NCE API.