openapi: 3.0.3 info: title: SmartDataContext API version: 0.1.0 description: API to manage SmartDataContext entities. paths: /api/v1_1/context.php#create: post: summary: Creates a new SmartDataContext requestBody: description: Create a new SmartDataContext with the given parameters. required: true content: application/json: schema: type: object properties: command: type: string example: "/create" description: The command to be executed. request: type: object properties: smartDataUnits: type: array items: type: integer description: The values of the SmartDataUnits to associate with this SmartDataContext. example: [98812] smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer description: The signatures (mobile) or space sphere (stationary) of the SmartDataSources associated with this context. example: ["signature", [1, 1, 1, 1]] t0: type: integer description: If not informed, assumed -1 as the value. example: 1 t1: type: integer description: If not informed, assumed -1 as the value. example: 1 features: type: object description: At least a single feature "tags" with at least one tag should be provided. properties: tags: type: array items: type: string example: ["sim"] content: type: object description: The JSON of the SmartDataContext to be stored. example: {"meta": true} required: - command - request responses: '200': description: The id for the created SmartDataContext. content: application/json: schema: type: object properties: smartdatacontextid: type: string example: "zzz-eee-ddd" description: The ID of the created SmartDataContext. errors: type: array example: ["Invalid id"] description: "Present if errors ocurred during the request." /api/v1_1/context.php#associate: post: summary: Associates SmartDataUnits or SmartDataSources to a SmartDataContext operationId: associateSmartDataContext requestBody: required: true content: application/json: schema: type: object properties: command: type: string example: /associate request: type: object properties: smartDataUnits: type: array items: type: integer description: The values of the SmartDataUnits to associate with this SmartDataContext smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer description: The signatures (mobile) or space sphere (stationary) of the SmartDataSources to associate with this context smartDataContextIds: type: array items: type: string description: A list of SmartDataContext IDs to associate required: - smartDataContextIds oneOf: - required: - smartDataUnits - required: - smartDataSources example: smartDataUnits: [98812] smartDataSources: ["signature", [1,1,1,1]] smartDataContextIds: ['u3iu48-34323-d343-rffe', 'u3iu48-34323-d343-rffe'] responses: '200': description: Update SmartDataContext entities or list of errors content: application/json: schema: oneOf: - type: object properties: result: type: array items: type: object properties: success: type: boolean result: type: object properties: _id: type: object properties: $oid: type: string example: "66c351f6fb8347b8c406db52" id: type: string example: "88690087-a4f4-4e1d-8c8d-8c67d19ddaed" t0: type: integer example: -1 t1: type: integer example: -1 content: type: object properties: meta: type: boolean example: true features: type: object properties: tags: type: array items: type: string example: "sim" identifier: type: string example: "0d8c9a721e46a26f31acce9a714620510c1722d1" smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer smartDataUnits: type: array items: type: integer example: 111 - type: object properties: result: type: array items: type: object properties: errors: type: array items: type: string example: "Invalid id" /api/v1_1/context.php#unassociate: post: summary: Unassociate SmartDataUnits or SmartDataSources from SmartDataContext operationId: unassociateSmartDataContext requestBody: required: true content: application/json: schema: type: object properties: command: type: string example: /unassociate request: type: object properties: smartDataUnits: type: array items: type: integer description: The values of the SmartDataUnits to unassociate with this SmartDataContext smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer description: The signatures (mobile) or space sphere (stationary) of the SmartDataSources to unassociate with this context smartdataids: type: array items: type: string description: A list of SmartData IDs to unassociate required: - smartdataids oneOf: - required: - smartDataUnits - required: - smartDataSources example: smartDataUnits: [98812] smartDataSources: ["signature", [1,1,1,1]] smartdataids: ['u3iu48-34323-d343-rffe', 'u3iu48-34323-d343-rffe'] responses: '200': description: Update SmartDataContext entities or list of errors content: application/json: schema: oneOf: - type: object properties: result: type: array items: type: object properties: success: type: boolean result: type: object properties: _id: type: object properties: $oid: type: string example: "66c351f6fb8347b8c406db52" id: type: string example: "88690087-a4f4-4e1d-8c8d-8c67d19ddaed" t0: type: integer example: -1 t1: type: integer example: -1 content: type: object properties: meta: type: boolean example: true features: type: object properties: tags: type: array items: type: string example: "sim" identifier: type: string example: "0d8c9a721e46a26f31acce9a714620510c1722d1" smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer smartDataUnits: type: array items: type: integer example: 111 - type: object properties: result: type: array items: type: object properties: errors: type: array items: type: string example: "Invalid id" /api/v1_1/context.php#context: post: summary: Retrieve context data for a given SmartData Unit or SmartDataSource requestBody: required: true content: application/json: schema: type: object properties: command: type: string example: /contexts description: The command to execute. request: type: object properties: smartDataSources: type: array items: type: array items: type: integer description: An array of smart data source arrays. example: [[4,5,6,7]] smartDataUnits: type: array items: type: integer description: A list of smart data unit IDs. example: [111] t0: type: integer description: Start time for the query. example: 10 t1: type: integer description: End time for the query. example: 300 required: - command - request responses: '200': description: Successful response content: application/json: schema: type: object properties: result: type: object properties: _id: type: object properties: $oid: type: string example: "66c351f6fb8347b8c406db52" id: type: string example: "88690087-a4f4-4e1d-8c8d-8c67d19ddaed" t0: type: integer example: -1 t1: type: integer example: -1 content: type: object properties: meta: type: boolean example: true features: type: object properties: tags: type: array items: type: string example: ["sim"] identifier: type: string example: "0d8c9a721e46a26f31acce9a714620510c1722d1" smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer example: - "ffdaf2342" - [1, 2, 3, 5] - "ae7666" - [4, 5, 6, 7] smartDataUnits: type: array items: type: integer example: [111, 222] '400': description: Invalid request content: application/json: schema: type: object properties: errors: type: array items: type: string example: ["Invalid id"] /api/v1_1/context.php#query: post: summary: Execute a MongoDB query over the SmartDataContext entities description: Endpoint to execute a MongoDB query and retrieve results. requestBody: required: true content: application/json: schema: type: object required: - command - request properties: command: type: string description: Specifies the type of command to execute. example: "/query" request: type: object description: A MongoDB query should be passed here. responses: '200': description: The MongoDB query result content: application/json: schema: type: object properties: result: type: object description: Response object containing the result '400': description: A list of errors content: application/json: schema: type: object properties: errors: type: array items: type: string example: ["Invalid id"] /api/v1_1/context.php#update: post: summary: Updates an existing SmartDataContext description: Updates the properties of an existing SmartDataContext using the provided ID and request body. requestBody: required: true content: application/json: schema: type: object properties: command: type: string description: The command to update a SmartDataContext, including the ID. example: "/update/88690087-a4f4-4e1d-8c8d-8c67d19ddaed" request: type: object description: The object containing the properties to be updated in the SmartDataContext. properties: domain: type: string description: The domain of the SmartDataContext. example: "test" t0: type: integer description: Start time for the SmartDataContext. example: 1000 t1: type: integer description: End time for the SmartDataContext. example: 2000 content: type: object description: The content to be updated in the SmartDataContext. example: {"meta": "updated"} features: type: object description: Updated features of the SmartDataContext. properties: tags: type: array items: type: string example: ["newtag"] smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer description: The updated SmartDataSources. example: ["signature", [2, 2, 2, 2]] smartDataUnits: type: array items: type: integer description: The updated SmartDataUnits. example: [20, 22] required: - command - request responses: '200': description: Successfully updated SmartDataContext. content: application/json: schema: type: object properties: result: type: object properties: id: type: string example: "88690087-a4f4-4e1d-8c8d-8c67d19ddaed" t0: type: integer example: 1000 t1: type: integer example: 2000 content: type: object properties: meta: type: string example: "updated" features: type: object properties: tags: type: array items: type: string example: ["newtag"] smartDataSources: type: array items: oneOf: - type: string - type: array items: type: integer example: ["signature", [2, 2, 2, 2]] smartDataUnits: type: array items: type: integer example: [20, 22] '400': description: Invalid request due to validation errors. content: application/json: schema: type: object properties: errors: type: array items: type: string example: ["Invalid command format", "Both t0 and t1 must be set together"]