diff --git a/.github/actions/get-spec/action.yml b/.github/actions/get-spec/action.yml new file mode 100644 index 00000000..540aa095 --- /dev/null +++ b/.github/actions/get-spec/action.yml @@ -0,0 +1,45 @@ +name: Get OpenAPI Specs +description: Try to download the OpenAPI Specs for TMForum API. + +inputs: + github-token: + description: Github token to be used for creating PR-Comments + required: true + +runs: + using: composite + + steps: + + - id: setup-jq + uses: dcarbone/install-jq-action@v2.1.0 + + - id: get-specs + name: Download Specifications + shell: bash + run: | + cd .github/ + ./get-spec.sh + + - id: check-results + name: Check results of the spec download + shell: bash + run: | + failed=$(jq length ./.github/not-available.json) + echo "failed="$failed >> "$GITHUB_OUTPUT" + + - id: generate-message + if: steps.check-results.outputs.failed != 0 + shell: bash + run: | + echo "Failed " ${{ steps.check-results.outputs.failed }} + cd .github/ + ./generate-message.sh + + - name: Comment PR + if: steps.check-results.outputs.failed != 0 + uses: thollander/actions-comment-pull-request@v2.4.3 + with: + filePath: ./.github/message.md + GITHUB_TOKEN: ${{ inputs.github-token }} + diff --git a/.github/generate-message.sh b/.github/generate-message.sh new file mode 100755 index 00000000..29cfaed6 --- /dev/null +++ b/.github/generate-message.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +echo "The following api specs are unavailable, please check if there are updates required." > message.md +echo "" >> message.md +echo "| Module | Url |" >> message.md +echo "|--------|-----|" >> message.md + +while read -r i; do + module=$(echo $i | jq -c -r '.module'); + url=$(echo $i | jq -c -r '.url'); + echo "| $module | $url |" >> message.md +done <<< $(jq -c -r '.[]' ./not-available.json) diff --git a/.github/get-spec.sh b/.github/get-spec.sh new file mode 100755 index 00000000..3af6e455 --- /dev/null +++ b/.github/get-spec.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +elements="" +while read -r i; do + module=$(echo $i | jq -c -r '.module'); + url=$(echo $i | jq -c -r '.url'); + mkdir -p ../api/tm-forum/$module + echo "Module: $module Url: $url" + result=$(curl -s -o /dev/null -w "%{http_code}" $url) + if [ $result != 200 ]; then + elements="${elements} ${i}" + else + echo "Download" $module + wget -O api.json $url + mv api.json ../api/tm-forum/$module + fi + echo $elements +done <<< $(jq -c -r '.[]' ./spec.json) + +json='[]' +for e in $elements +do + module=$(echo $e | jq -c -r '.module'); + url=$(echo $e | jq -c -r '.url'); + json=$(jq --arg modVar "$module" --arg urlVar "$url" '. |= . + [{"module":$modVar, "url":$urlVar}]' <<< $json) +done + +echo $json > not-available.json diff --git a/.github/spec.json b/.github/spec.json new file mode 100644 index 00000000..14253eb5 --- /dev/null +++ b/.github/spec.json @@ -0,0 +1,58 @@ +[ + { + "module": "account", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF666_Account_Management_API_v4.0.0_swagger.json" + }, + { + "module": "agreement", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF651_Agreement_Management_API_v4.0.0_swagger.json" + }, + { + "module": "customer-bill-management", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF678_Customer_Bill_Management_API_v4.0.0_swagger.json" + }, + { + "module": "customer-management", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF629_Customer_Management_API_v4.0.0_swagger.json" + }, + { + "module": "party-catalog", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF632_Party_Management_API_v4.0.0_swagger.json" + }, + { + "module": "party-role", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF669_Party_Role_Management_API_v4.0.0_swagger.json" + }, + { + "module": "product-catalog", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.1.0/swagger/TMF620_Product_Catalog_Management_API_v4.1.0_swagger.json" + }, + { + "module": "product-inventory", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF637_Product_Inventory_Management_API_v4.0.0_swagger.json" + }, + { + "module": "product-ordering-management", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF622_Product_Ordering_Management_API_v4.0.0_swagger.json" + }, + { + "module": "resource-catalog", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.1.0/swagger/TMF634_Resource_Catalog_Management_API_v4.1.0_swagger.json" + }, + { + "module": "resource-function-activation", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF664_Resource_Function_Activation_Management_API_v4.0.0_swagger.json" + }, + { + "module": "resource-inventory", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF639_Resource_Inventory_Management_API_v4.0.0_swagger.json" + }, + { + "module": "service-catalog", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF633_Service_Catalog_Management_API_v4.0.0_swagger.json" + }, + { + "module": "usage-management", + "url": "https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF635_Usage_Management_API_v4.0.0_swagger.json" + } +] \ No newline at end of file diff --git a/.github/workflows/conformance-test.yaml b/.github/workflows/conformance-test.yaml index f261d696..5d6ce60b 100644 --- a/.github/workflows/conformance-test.yaml +++ b/.github/workflows/conformance-test.yaml @@ -1,7 +1,7 @@ name: Conformance Test on: - push + workflow_dispatch: jobs: conformance: diff --git a/.github/workflows/parallel-test.yml b/.github/workflows/parallel-test.yml index 9b66a947..5eae57a4 100644 --- a/.github/workflows/parallel-test.yml +++ b/.github/workflows/parallel-test.yml @@ -3,7 +3,6 @@ name: Parallel Tests on: push - jobs: test: runs-on: ubuntu-latest diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 73c5c9b1..70e2d6b8 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -12,6 +12,11 @@ env: REGISTRY: quay.io REPOSITORY: fiware +concurrency: + # Only cancel jobs for PR updates + group: pre-${{ github.ref }} + cancel-in-progress: true + jobs: generate-version: @@ -48,7 +53,14 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + + - name: Checkout + uses: actions/checkout@v3 + + - name: Update Specs + uses: ./.github/actions/get-spec + with: + github-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/setup-java@v1 with: diff --git a/.github/workflows/test-brokers.yaml b/.github/workflows/test-brokers.yaml index d514f0ed..e53ef577 100644 --- a/.github/workflows/test-brokers.yaml +++ b/.github/workflows/test-brokers.yaml @@ -1,4 +1,4 @@ -name: Test different brokers +name: Test on: pull_request: @@ -12,13 +12,21 @@ on: branches: - tests +concurrency: + # Only cancel jobs for PR updates + group: test-it-${{ github.ref }} + cancel-in-progress: true + jobs: it: runs-on: ubuntu-latest strategy: fail-fast: false matrix: - broker: [orion-ld, scorpio] + module: [ customer-bill-management, customer-management, party-catalog, party-role, product-catalog, product-inventory, product-ordering-management, resource-catalog, resource-function-activation, resource-inventory, service-catalog ] + # only test scorpio for speed up, orion is currently not really used with the tmforum + broker: [ scorpio ] + cache: [ in-memory, redis ] steps: - uses: actions/checkout@v2 @@ -31,4 +39,60 @@ jobs: - name: Execute tests id: test run: | - mvn clean test integration-test verify -Dbroker=${{matrix.broker}} \ No newline at end of file + mvn clean test integration-test verify --projects common,resource-shared-models,customer-shared-models,service-shared-models,product-shared-models,${{matrix.module}} -Dbroker=${{matrix.broker}} -Dcache=${{matrix.cache}} + + - name: Archive coverage + if: matrix.broker == 'scorpio' && matrix.cache == 'in-memory' + uses: actions/upload-artifact@v4 + with: + name: ${{matrix.module}} + path: | + ${{matrix.module}}/target/site/jacoco/jacoco.xml + + unit: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + module: [ common, resource-shared-models, customer-shared-models, service-shared-models, product-shared-models ] + steps: + - uses: actions/checkout@v2 + + - uses: actions/setup-java@v1 + with: + java-version: '17' + java-package: jdk + + - name: Execute tests + id: test + run: | + mvn clean test --projects common,resource-shared-models,customer-shared-models,service-shared-models,product-shared-models,${{matrix.module}} + + - name: Archive coverage + uses: actions/upload-artifact@v4 + with: + name: ${{matrix.module}} + path: | + ${{matrix.module}}/target/site/jacoco/jacoco.xml + + upload-report: + needs: [ "it","unit" ] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - uses: actions/setup-java@v1 + with: + java-version: '17' + java-package: jdk + + - name: Download all workflow run artifacts + uses: actions/download-artifact@v4 + with: + path: jacoco-merge-dir + + + - name: Merge and Submit report + run: | + ls -R jacoco-merge-dir + mvn jacoco:merge jacoco:report coveralls:report -Dcoveralls.token=${{ secrets.COVERALLS_TOKEN }} -Djacoco.mergeDir=jacoco-merge-dir -Preport-coveralls diff --git a/.github/workflows/test-caches.yaml b/.github/workflows/test-caches.yaml deleted file mode 100644 index 8c3ef428..00000000 --- a/.github/workflows/test-caches.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: Test different caches - -on: - pull_request: - types: - - opened - - synchronize - - reopened - - labeled - - unlabeled - push: - branches: - - main - -jobs: - it: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - cache: [in-memory, redis] - - steps: - - uses: actions/checkout@v2 - - - uses: actions/setup-java@v1 - with: - java-version: '17' - java-package: jdk - - - name: Execute tests - id: test - run: | - mvn clean test integration-test verify -Dbroker=scorpio -Dcache=${{matrix.cache}} \ No newline at end of file diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml deleted file mode 100644 index 5a259ffc..00000000 --- a/.github/workflows/test.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: Test - -on: - pull_request: - types: - - opened - - synchronize - - reopened - - labeled - - unlabeled - push: - branches: - - main - -jobs: - it: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - - uses: actions/setup-java@v1 - with: - java-version: '17' - java-package: jdk - - - name: Execute tests - id: test - run: | - mvn clean test integration-test verify - - - name: Submitt report - id: coveralls - run: | - mvn jacoco:merge jacoco:report coveralls:report -Dcoveralls.token=${{ secrets.COVERALLS_TOKEN }} -Preport-coveralls \ No newline at end of file diff --git a/account/pom.xml b/account/pom.xml index 1acf6071..f9ec8fa9 100644 --- a/account/pom.xml +++ b/account/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF666_Account_Management_API_swagger_v4.0.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF666-Account-v4.0.0.zip diff --git a/account/src/main/resources/application.yaml b/account/src/main/resources/application.yaml index dcea27df..3559bd7a 100644 --- a/account/src/main/resources/application.yaml +++ b/account/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/account/src/main/resources/logback.xml b/account/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/account/src/main/resources/logback.xml +++ b/account/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/account/src/test/resources/application.yaml b/account/src/test/resources/application.yaml index 052cc73d..98f04023 100644 --- a/account/src/test/resources/application.yaml +++ b/account/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/account/src/test/resources/logback.xml b/account/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/account/src/test/resources/logback.xml +++ b/account/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/agreement/pom.xml b/agreement/pom.xml index 3252f853..3587f0f0 100644 --- a/agreement/pom.xml +++ b/agreement/pom.xml @@ -12,7 +12,7 @@ - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF651_Agreement_Management_API_swagger_v4.0.0.json + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF651-Agreement-v4.0.0.zip TMF651-Agreement Mac-Linux-RUNCTK.sh diff --git a/agreement/src/main/resources/application.yaml b/agreement/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/agreement/src/main/resources/application.yaml +++ b/agreement/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/agreement/src/main/resources/logback.xml b/agreement/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/agreement/src/main/resources/logback.xml +++ b/agreement/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/agreement/src/test/resources/application.yaml b/agreement/src/test/resources/application.yaml index 5e857146..1c23be5f 100644 --- a/agreement/src/test/resources/application.yaml +++ b/agreement/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/agreement/src/test/resources/logback.xml b/agreement/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/agreement/src/test/resources/logback.xml +++ b/agreement/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/api/tm-forum/account/api.json b/api/tm-forum/account/api.json new file mode 100644 index 00000000..e3cef173 --- /dev/null +++ b/api/tm-forum/account/api.json @@ -0,0 +1,6711 @@ +{ + "swagger": "2.0", + "info": { + "title": "Account Management", + "description": "This is Swagger UI environment generated for the TMF Account Management specification", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/accountManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "partyAccount" + }, + { + "name": "billingAccount" + }, + { + "name": "settlementAccount" + }, + { + "name": "financialAccount" + }, + { + "name": "billingCycleSpecification" + }, + { + "name": "billFormat" + }, + { + "name": "billPresentationMedia" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/partyAccount": { + "get": { + "operationId": "listPartyAccount", + "summary": "List or find PartyAccount objects", + "description": "This operation list or find PartyAccount entities", + "tags": [ + "partyAccount" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyAccount" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createPartyAccount", + "summary": "Creates a PartyAccount", + "description": "This operation creates a PartyAccount entity.", + "tags": [ + "partyAccount" + ], + "parameters": [ + { + "name": "partyAccount", + "description": "The PartyAccount to be created", + "required": true, + "schema": { + "$ref": "#/definitions/PartyAccount_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PartyAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/partyAccount/{id}": { + "get": { + "operationId": "retrievePartyAccount", + "summary": "Retrieves a PartyAccount by ID", + "description": "This operation retrieves a PartyAccount entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "partyAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the PartyAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PartyAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchPartyAccount", + "summary": "Updates partially a PartyAccount", + "description": "This operation updates partially a PartyAccount entity.", + "tags": [ + "partyAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the PartyAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "partyAccount", + "description": "The PartyAccount to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/PartyAccount_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/PartyAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deletePartyAccount", + "summary": "Deletes a PartyAccount", + "description": "This operation deletes a PartyAccount entity.", + "tags": [ + "partyAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the PartyAccount", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billingAccount": { + "get": { + "operationId": "listBillingAccount", + "summary": "List or find BillingAccount objects", + "description": "This operation list or find BillingAccount entities", + "tags": [ + "billingAccount" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/BillingAccount" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createBillingAccount", + "summary": "Creates a BillingAccount", + "description": "This operation creates a BillingAccount entity.", + "tags": [ + "billingAccount" + ], + "parameters": [ + { + "name": "billingAccount", + "description": "The BillingAccount to be created", + "required": true, + "schema": { + "$ref": "#/definitions/BillingAccount_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billingAccount/{id}": { + "get": { + "operationId": "retrieveBillingAccount", + "summary": "Retrieves a BillingAccount by ID", + "description": "This operation retrieves a BillingAccount entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "billingAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillingAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchBillingAccount", + "summary": "Updates partially a BillingAccount", + "description": "This operation updates partially a BillingAccount entity.", + "tags": [ + "billingAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillingAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "billingAccount", + "description": "The BillingAccount to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/BillingAccount_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteBillingAccount", + "summary": "Deletes a BillingAccount", + "description": "This operation deletes a BillingAccount entity.", + "tags": [ + "billingAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillingAccount", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/settlementAccount": { + "get": { + "operationId": "listSettlementAccount", + "summary": "List or find SettlementAccount objects", + "description": "This operation list or find SettlementAccount entities", + "tags": [ + "settlementAccount" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/SettlementAccount" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createSettlementAccount", + "summary": "Creates a SettlementAccount", + "description": "This operation creates a SettlementAccount entity.", + "tags": [ + "settlementAccount" + ], + "parameters": [ + { + "name": "settlementAccount", + "description": "The SettlementAccount to be created", + "required": true, + "schema": { + "$ref": "#/definitions/SettlementAccount_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SettlementAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/settlementAccount/{id}": { + "get": { + "operationId": "retrieveSettlementAccount", + "summary": "Retrieves a SettlementAccount by ID", + "description": "This operation retrieves a SettlementAccount entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "settlementAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the SettlementAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SettlementAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchSettlementAccount", + "summary": "Updates partially a SettlementAccount", + "description": "This operation updates partially a SettlementAccount entity.", + "tags": [ + "settlementAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the SettlementAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "settlementAccount", + "description": "The SettlementAccount to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/SettlementAccount_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/SettlementAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteSettlementAccount", + "summary": "Deletes a SettlementAccount", + "description": "This operation deletes a SettlementAccount entity.", + "tags": [ + "settlementAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the SettlementAccount", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/financialAccount": { + "get": { + "operationId": "listFinancialAccount", + "summary": "List or find FinancialAccount objects", + "description": "This operation list or find FinancialAccount entities", + "tags": [ + "financialAccount" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/FinancialAccount" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createFinancialAccount", + "summary": "Creates a FinancialAccount", + "description": "This operation creates a FinancialAccount entity.", + "tags": [ + "financialAccount" + ], + "parameters": [ + { + "name": "financialAccount", + "description": "The FinancialAccount to be created", + "required": true, + "schema": { + "$ref": "#/definitions/FinancialAccount_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/FinancialAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/financialAccount/{id}": { + "get": { + "operationId": "retrieveFinancialAccount", + "summary": "Retrieves a FinancialAccount by ID", + "description": "This operation retrieves a FinancialAccount entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "financialAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the FinancialAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/FinancialAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchFinancialAccount", + "summary": "Updates partially a FinancialAccount", + "description": "This operation updates partially a FinancialAccount entity.", + "tags": [ + "financialAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the FinancialAccount", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "financialAccount", + "description": "The FinancialAccount to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/FinancialAccount_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/FinancialAccount" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteFinancialAccount", + "summary": "Deletes a FinancialAccount", + "description": "This operation deletes a FinancialAccount entity.", + "tags": [ + "financialAccount" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the FinancialAccount", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billingCycleSpecification": { + "get": { + "operationId": "listBillingCycleSpecification", + "summary": "List or find BillingCycleSpecification objects", + "description": "This operation list or find BillingCycleSpecification entities", + "tags": [ + "billingCycleSpecification" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/BillingCycleSpecification" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createBillingCycleSpecification", + "summary": "Creates a BillingCycleSpecification", + "description": "This operation creates a BillingCycleSpecification entity.", + "tags": [ + "billingCycleSpecification" + ], + "parameters": [ + { + "name": "billingCycleSpecification", + "description": "The BillingCycleSpecification to be created", + "required": true, + "schema": { + "$ref": "#/definitions/BillingCycleSpecification_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BillingCycleSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billingCycleSpecification/{id}": { + "get": { + "operationId": "retrieveBillingCycleSpecification", + "summary": "Retrieves a BillingCycleSpecification by ID", + "description": "This operation retrieves a BillingCycleSpecification entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "billingCycleSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillingCycleSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BillingCycleSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchBillingCycleSpecification", + "summary": "Updates partially a BillingCycleSpecification", + "description": "This operation updates partially a BillingCycleSpecification entity.", + "tags": [ + "billingCycleSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillingCycleSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "billingCycleSpecification", + "description": "The BillingCycleSpecification to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/BillingCycleSpecification_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/BillingCycleSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteBillingCycleSpecification", + "summary": "Deletes a BillingCycleSpecification", + "description": "This operation deletes a BillingCycleSpecification entity.", + "tags": [ + "billingCycleSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillingCycleSpecification", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billFormat": { + "get": { + "operationId": "listBillFormat", + "summary": "List or find BillFormat objects", + "description": "This operation list or find BillFormat entities", + "tags": [ + "billFormat" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/BillFormat" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createBillFormat", + "summary": "Creates a BillFormat", + "description": "This operation creates a BillFormat entity.", + "tags": [ + "billFormat" + ], + "parameters": [ + { + "name": "billFormat", + "description": "The BillFormat to be created", + "required": true, + "schema": { + "$ref": "#/definitions/BillFormat_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BillFormat" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billFormat/{id}": { + "get": { + "operationId": "retrieveBillFormat", + "summary": "Retrieves a BillFormat by ID", + "description": "This operation retrieves a BillFormat entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "billFormat" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillFormat", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BillFormat" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchBillFormat", + "summary": "Updates partially a BillFormat", + "description": "This operation updates partially a BillFormat entity.", + "tags": [ + "billFormat" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillFormat", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "billFormat", + "description": "The BillFormat to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/BillFormat_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/BillFormat" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteBillFormat", + "summary": "Deletes a BillFormat", + "description": "This operation deletes a BillFormat entity.", + "tags": [ + "billFormat" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillFormat", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billPresentationMedia": { + "get": { + "operationId": "listBillPresentationMedia", + "summary": "List or find BillPresentationMedia objects", + "description": "This operation list or find BillPresentationMedia entities", + "tags": [ + "billPresentationMedia" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/BillPresentationMedia" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createBillPresentationMedia", + "summary": "Creates a BillPresentationMedia", + "description": "This operation creates a BillPresentationMedia entity.", + "tags": [ + "billPresentationMedia" + ], + "parameters": [ + { + "name": "billPresentationMedia", + "description": "The BillPresentationMedia to be created", + "required": true, + "schema": { + "$ref": "#/definitions/BillPresentationMedia_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/BillPresentationMedia" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/billPresentationMedia/{id}": { + "get": { + "operationId": "retrieveBillPresentationMedia", + "summary": "Retrieves a BillPresentationMedia by ID", + "description": "This operation retrieves a BillPresentationMedia entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "billPresentationMedia" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillPresentationMedia", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BillPresentationMedia" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchBillPresentationMedia", + "summary": "Updates partially a BillPresentationMedia", + "description": "This operation updates partially a BillPresentationMedia entity.", + "tags": [ + "billPresentationMedia" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillPresentationMedia", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "billPresentationMedia", + "description": "The BillPresentationMedia to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/BillPresentationMedia_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/BillPresentationMedia" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteBillPresentationMedia", + "summary": "Deletes a BillPresentationMedia", + "description": "This operation deletes a BillPresentationMedia entity.", + "tags": [ + "billPresentationMedia" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the BillPresentationMedia", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/partyAccountAttributeValueChangeEvent": { + "post": { + "operationId": "listenToPartyAccountAttributeValueChangeEvent", + "summary": "Client listener for entity PartyAccountAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification PartyAccountAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/PartyAccountAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/partyAccountStateChangeEvent": { + "post": { + "operationId": "listenToPartyAccountStateChangeEvent", + "summary": "Client listener for entity PartyAccountStateChangeEvent", + "description": "Example of a client listener for receiving the notification PartyAccountStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/PartyAccountStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/billingAccountAttributeValueChangeEvent": { + "post": { + "operationId": "listenToBillingAccountAttributeValueChangeEvent", + "summary": "Client listener for entity BillingAccountAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification BillingAccountAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/BillingAccountAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/billingAccountStateChangeEvent": { + "post": { + "operationId": "listenToBillingAccountStateChangeEvent", + "summary": "Client listener for entity BillingAccountStateChangeEvent", + "description": "Example of a client listener for receiving the notification BillingAccountStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/BillingAccountStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/settlementAccountAttributeValueChangeEvent": { + "post": { + "operationId": "listenToSettlementAccountAttributeValueChangeEvent", + "summary": "Client listener for entity SettlementAccountAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification SettlementAccountAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/SettlementAccountAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/settlementAccountStateChangeEvent": { + "post": { + "operationId": "listenToSettlementAccountStateChangeEvent", + "summary": "Client listener for entity SettlementAccountStateChangeEvent", + "description": "Example of a client listener for receiving the notification SettlementAccountStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/SettlementAccountStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/financialAccountCreateEvent": { + "post": { + "operationId": "listenToFinancialAccountCreateEvent", + "summary": "Client listener for entity FinancialAccountCreateEvent", + "description": "Example of a client listener for receiving the notification FinancialAccountCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/FinancialAccountCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/financialAccountAttributeValueChangeEvent": { + "post": { + "operationId": "listenToFinancialAccountAttributeValueChangeEvent", + "summary": "Client listener for entity FinancialAccountAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification FinancialAccountAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/FinancialAccountAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/financialAccountStateChangeEvent": { + "post": { + "operationId": "listenToFinancialAccountStateChangeEvent", + "summary": "Client listener for entity FinancialAccountStateChangeEvent", + "description": "Example of a client listener for receiving the notification FinancialAccountStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/FinancialAccountStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/financialAccountDeleteEvent": { + "post": { + "operationId": "listenToFinancialAccountDeleteEvent", + "summary": "Client listener for entity FinancialAccountDeleteEvent", + "description": "Example of a client listener for receiving the notification FinancialAccountDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/FinancialAccountDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Account": { + "type": "object", + "description": "Generic Account structure used to define commonalities between sub concepts of PartyAccount and Financial Account.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Unique reference of the account" + }, + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AccountBalance": { + "type": "object", + "description": "Balances linked to the account", + "required": [ + "amount", + "balanceType", + "validFor" + ], + "properties": { + "balanceType": { + "type": "string", + "description": "Type of the balance : deposit balance, disputed balance, loyalty balance, receivable balance..." + }, + "amount": { + "$ref": "#/definitions/Money", + "description": "Balance amount" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "Balance validity period" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AccountRef": { + "type": "object", + "description": "Account reference. A account may be a party account or a financial account.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Reference of the account" + }, + "description": { + "type": "string", + "description": "Detailed description of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AccountRelationship": { + "type": "object", + "description": "Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account.", + "required": [ + "relationshipType", + "validFor" + ], + "properties": { + "relationshipType": { + "type": "string", + "description": "Type of relationship" + }, + "account": { + "$ref": "#/definitions/AccountRef" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "Validity period of that relationship" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AccountTaxExemption": { + "type": "object", + "description": "Proof of freedom from taxes imposed by a taxing jurisdiction", + "required": [ + "issuingJurisdiction", + "validFor" + ], + "properties": { + "certificateNumber": { + "type": "string", + "description": "Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction" + }, + "issuingJurisdiction": { + "type": "string", + "description": "Name of the taxing jurisdiction for which taxes are exempt" + }, + "reason": { + "type": "string", + "description": "Reason of the tax exemption" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "Period for which the exemption is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillFormat": { + "type": "object", + "description": "A detailed description of the way in which a bill is presented.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the bill format" + }, + "href": { + "type": "string", + "description": "Reference of the bill format" + }, + "description": { + "type": "string", + "description": "An explanatory text for this bill format" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillFormat_Create": { + "type": "object", + "description": "A detailed description of the way in which a bill is presented.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "An explanatory text for this bill format" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillFormat_Update": { + "type": "object", + "description": "A detailed description of the way in which a bill is presented.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "An explanatory text for this bill format" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillFormatRef": { + "type": "object", + "description": "BillFormat reference. A bill format is a description of the way in which a bill is presented.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the bill format" + }, + "href": { + "type": "string", + "description": "Reference of the bill format" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "BillFormatRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference.", + "required": [ + "name", + "isRef" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the bill format" + }, + "href": { + "type": "string", + "description": "Reference of the bill format" + }, + "description": { + "type": "string", + "description": "An explanatory text for this bill format" + }, + "isRef": { + "default": true, + "type": "boolean" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "BillPresentationMedia": { + "type": "object", + "description": "A mean of communicating a bill, supported by the associated bill format. For example, post mail, email, web page.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the bill presentation media" + }, + "href": { + "type": "string", + "description": "Reference of the bill presentation media" + }, + "description": { + "type": "string", + "description": "An explanatory text describing this bill presentation media" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillPresentationMedia_Create": { + "type": "object", + "description": "A mean of communicating a bill, supported by the associated bill format. For example, post mail, email, web page.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "An explanatory text describing this bill presentation media" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillPresentationMedia_Update": { + "type": "object", + "description": "A mean of communicating a bill, supported by the associated bill format. For example, post mail, email, web page.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "An explanatory text describing this bill presentation media" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillPresentationMediaRef": { + "type": "object", + "description": "PresentationMedia reference. A mean of communicating a bill, supported by the associated bill format. For example, post mail, email, web page.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the bill presentation media" + }, + "href": { + "type": "string", + "description": "Reference of the bill presentation media" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "BillPresentationMediaRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference.", + "required": [ + "name", + "isRef" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the bill presentation media" + }, + "href": { + "type": "string", + "description": "Reference of the bill presentation media" + }, + "description": { + "type": "string", + "description": "An explanatory text describing this bill presentation media" + }, + "isRef": { + "default": true, + "type": "boolean" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "BillStructure": { + "type": "object", + "description": "The structure of the bill for party accounts (billing or settlement).", + "properties": { + "cycleSpecification": { + "$ref": "#/definitions/BillingCycleSpecificationRefOrValue" + }, + "format": { + "$ref": "#/definitions/BillFormatRefOrValue" + }, + "presentationMedia": { + "type": "array", + "items": { + "$ref": "#/definitions/BillPresentationMediaRefOrValue" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillingAccount": { + "type": "object", + "description": "A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Unique reference of the account" + }, + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillingAccount_Create": { + "type": "object", + "description": "A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\nSkipped properties: id,href", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillingAccount_Update": { + "type": "object", + "description": "A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\nSkipped properties: id,href,accountBalance", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillingCycleSpecification": { + "type": "object", + "description": "A detailed description of when to initiate a billing cycle and the various sub steps of a billing cycle.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the billing cycle specification" + }, + "href": { + "type": "string", + "description": "Reference of the billing cycle specification" + }, + "billingDateShift": { + "type": "integer", + "description": "An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period." + }, + "billingPeriod": { + "type": "string", + "description": "A billing time period. It can be recurring, for example: week, month, quarter of year, year ." + }, + "chargeDateOffset": { + "type": "integer", + "description": "An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "creditDateOffset": { + "type": "integer", + "description": "An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "description": { + "type": "string", + "description": "An explanation regarding this billing cycle specification" + }, + "frequency": { + "type": "string", + "description": "Frequency of the billing cycle (monthly for instance)" + }, + "mailingDateOffset": { + "type": "integer", + "description": "An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "paymentDueDateOffset": { + "type": "integer", + "description": "An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the billing specification cycle is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillingCycleSpecification_Create": { + "type": "object", + "description": "A detailed description of when to initiate a billing cycle and the various sub steps of a billing cycle.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "billingDateShift": { + "type": "integer", + "description": "An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period." + }, + "billingPeriod": { + "type": "string", + "description": "A billing time period. It can be recurring, for example: week, month, quarter of year, year ." + }, + "chargeDateOffset": { + "type": "integer", + "description": "An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "creditDateOffset": { + "type": "integer", + "description": "An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "description": { + "type": "string", + "description": "An explanation regarding this billing cycle specification" + }, + "frequency": { + "type": "string", + "description": "Frequency of the billing cycle (monthly for instance)" + }, + "mailingDateOffset": { + "type": "integer", + "description": "An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "paymentDueDateOffset": { + "type": "integer", + "description": "An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the billing specification cycle is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillingCycleSpecification_Update": { + "type": "object", + "description": "A detailed description of when to initiate a billing cycle and the various sub steps of a billing cycle.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "billingDateShift": { + "type": "integer", + "description": "An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period." + }, + "billingPeriod": { + "type": "string", + "description": "A billing time period. It can be recurring, for example: week, month, quarter of year, year ." + }, + "chargeDateOffset": { + "type": "integer", + "description": "An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "creditDateOffset": { + "type": "integer", + "description": "An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "description": { + "type": "string", + "description": "An explanation regarding this billing cycle specification" + }, + "frequency": { + "type": "string", + "description": "Frequency of the billing cycle (monthly for instance)" + }, + "mailingDateOffset": { + "type": "integer", + "description": "An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "paymentDueDateOffset": { + "type": "integer", + "description": "An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the billing specification cycle is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "BillingCycleSpecificationRef": { + "type": "object", + "description": "BillingCycleSpecification reference. A description of when to initiate a billing cycle and the various sub steps of a billing cycle.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the billing cycle specification" + }, + "href": { + "type": "string", + "description": "Reference of the billing cycle specification" + }, + "dateShift": { + "type": "integer", + "description": "An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period." + }, + "frequency": { + "type": "string", + "description": "Frequency of the billing cycle (monthly for instance)" + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "BillingCycleSpecificationRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference.", + "required": [ + "name", + "isRef" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the billing cycle specification" + }, + "href": { + "type": "string", + "description": "Reference of the billing cycle specification" + }, + "billingDateShift": { + "type": "integer", + "description": "An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period." + }, + "billingPeriod": { + "type": "string", + "description": "A billing time period. It can be recurring, for example: week, month, quarter of year, year ." + }, + "chargeDateOffset": { + "type": "integer", + "description": "An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "creditDateOffset": { + "type": "integer", + "description": "An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "dateShift": { + "type": "integer", + "description": "An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period." + }, + "description": { + "type": "string", + "description": "An explanation regarding this billing cycle specification" + }, + "frequency": { + "type": "string", + "description": "Frequency of the billing cycle (monthly for instance)" + }, + "isRef": { + "default": true, + "type": "boolean" + }, + "mailingDateOffset": { + "type": "integer", + "description": "An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "name": { + "type": "string", + "description": "A short descriptive name" + }, + "paymentDueDateOffset": { + "type": "integer", + "description": "An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the billing specification cycle is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Contact": { + "type": "object", + "description": "An individual or an organization used as a contact point for a given account and accessed via some contact medium.", + "required": [ + "contactType", + "validFor" + ], + "properties": { + "contactName": { + "type": "string", + "description": "A displayable name for that contact" + }, + "contactType": { + "type": "string", + "description": "Type of contact (primary, secondary...)" + }, + "partyRoleType": { + "type": "string", + "description": "Identifies what kind of party role type is linked to the contact (a account manager...)" + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "relatedParty": { + "$ref": "#/definitions/RelatedParty" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "Validity period of that contact" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ContactMedium": { + "type": "object", + "description": "Indicates the contact medium that could be used to contact the party.", + "properties": { + "mediumType": { + "type": "string", + "description": "Type of the contact medium, such as: email address, telephone number, postal address" + }, + "preferred": { + "type": "boolean", + "description": "If true, indicates that is the preferred contact medium" + }, + "characteristic": { + "$ref": "#/definitions/MediumCharacteristic", + "description": "Any additional characteristic(s) of this contact medium" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the contact medium is valid for" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "FinancialAccount": { + "type": "object", + "description": "An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. A financial (account receivable account/account payable) aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. It is a specialization of entity Account.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Unique reference of the account" + }, + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "FinancialAccount_Create": { + "type": "object", + "description": "An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. A financial (account receivable account/account payable) aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. It is a specialization of entity Account.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "FinancialAccount_Update": { + "type": "object", + "description": "An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. A financial (account receivable account/account payable) aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. It is a specialization of entity Account.\nSkipped properties: id,href,lastModified", + "required": [ + "name" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "FinancialAccountRef": { + "type": "object", + "description": "AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Unique reference of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "accountBalance": { + "$ref": "#/definitions/AccountBalance" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "MediumCharacteristic": { + "type": "object", + "description": "Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)", + "properties": { + "city": { + "type": "string", + "description": "The city" + }, + "contactType": { + "type": "string", + "description": "The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation\u2026" + }, + "country": { + "type": "string", + "description": "The country" + }, + "emailAddress": { + "type": "string", + "description": "Full email address in standard format" + }, + "faxNumber": { + "type": "string", + "description": "The fax number of the contact" + }, + "phoneNumber": { + "type": "string", + "description": "The primary phone number of the contact" + }, + "postCode": { + "type": "string", + "description": "Postcode" + }, + "socialNetworkId": { + "type": "string", + "description": "Identifier as a member of a social network" + }, + "stateOrProvince": { + "type": "string", + "description": "State or province" + }, + "street1": { + "type": "string", + "description": "Describes the street" + }, + "street2": { + "type": "string", + "description": "Complementary street description" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Money": { + "type": "object", + "description": "A base / value business entity used to represent money", + "properties": { + "unit": { + "type": "string", + "description": "Currency (ISO4217 norm uses 3 letters to define the currency)" + }, + "value": { + "type": "number", + "format": "float", + "description": "A positive floating point number" + } + } + }, + "PartyAccount": { + "type": "object", + "description": "Account used for billing or for settlement purposes concerning a given party (an organization or an individual). It is a specialization of entity Account.", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Unique reference of the account" + }, + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PartyAccount_Create": { + "type": "object", + "description": "Account used for billing or for settlement purposes concerning a given party (an organization or an individual). It is a specialization of entity Account.\nSkipped properties: id,href", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PartyAccount_Update": { + "type": "object", + "description": "Account used for billing or for settlement purposes concerning a given party (an organization or an individual). It is a specialization of entity Account.\nSkipped properties: id,href,accountBalance", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PaymentMethodRef": { + "type": "object", + "description": "PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the payment mean" + }, + "href": { + "type": "string", + "description": "Reference of the payment mean" + }, + "name": { + "type": "string", + "description": "Name of the payment mean" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "PaymentPlan": { + "type": "object", + "description": "Defines a plan for payment (when a party wants to spread his payments)", + "properties": { + "numberOfPayments": { + "type": "integer", + "description": "Number of payments used to spread the global payment" + }, + "paymentFrequency": { + "type": "string", + "description": "Frequency of the payments, such as monthly and bimonthly" + }, + "planType": { + "type": "string", + "description": "Type of payment plan" + }, + "priority": { + "type": "integer", + "description": "Priority of the payment plan" + }, + "status": { + "type": "string", + "description": "Status of the payment plan (effective, ineffective)" + }, + "paymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "totalAmount": { + "$ref": "#/definitions/Money", + "description": "Amount paid" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "Validity period of the payment plan" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "SettlementAccount": { + "type": "object", + "description": "A party account used for settlement purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Unique reference of the account" + }, + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "SettlementAccount_Create": { + "type": "object", + "description": "A party account used for settlement purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\nSkipped properties: id,href", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "SettlementAccount_Update": { + "type": "object", + "description": "A party account used for settlement purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.\nSkipped properties: id,href,accountBalance", + "required": [ + "name", + "relatedParty" + ], + "properties": { + "accountType": { + "type": "string", + "description": "A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values." + }, + "description": { + "type": "string", + "description": "Detailed description of the party account" + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "Date of last modification of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "paymentStatus": { + "type": "string", + "description": "The condition of the account, such as due, paid, in arrears." + }, + "state": { + "type": "string", + "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on." + }, + "accountRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRelationship" + } + }, + "billStructure": { + "$ref": "#/definitions/BillStructure" + }, + "contact": { + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + } + }, + "creditLimit": { + "$ref": "#/definitions/Money", + "description": "The maximum amount of money that may be charged on an account" + }, + "defaultPaymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentPlan": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentPlan" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "taxExemption": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountTaxExemption" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "PartyAccountAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/PartyAccountAttributeValueChangeEventPayload" + } + } + }, + "PartyAccountAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "partyAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/PartyAccount" + } + } + }, + "PartyAccountStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/PartyAccountStateChangeEventPayload" + } + } + }, + "PartyAccountStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "partyAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/PartyAccount" + } + } + }, + "BillingAccountAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/BillingAccountAttributeValueChangeEventPayload" + } + } + }, + "BillingAccountAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "billingAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/BillingAccount" + } + } + }, + "BillingAccountStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/BillingAccountStateChangeEventPayload" + } + } + }, + "BillingAccountStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "billingAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/BillingAccount" + } + } + }, + "SettlementAccountAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/SettlementAccountAttributeValueChangeEventPayload" + } + } + }, + "SettlementAccountAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "settlementAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/SettlementAccount" + } + } + }, + "SettlementAccountStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/SettlementAccountStateChangeEventPayload" + } + } + }, + "SettlementAccountStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "settlementAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/SettlementAccount" + } + } + }, + "FinancialAccountCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/FinancialAccountCreateEventPayload" + } + } + }, + "FinancialAccountCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "financialAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/FinancialAccount" + } + } + }, + "FinancialAccountAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/FinancialAccountAttributeValueChangeEventPayload" + } + } + }, + "FinancialAccountAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "financialAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/FinancialAccount" + } + } + }, + "FinancialAccountStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/FinancialAccountStateChangeEventPayload" + } + } + }, + "FinancialAccountStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "financialAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/FinancialAccount" + } + } + }, + "FinancialAccountDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "payload": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/FinancialAccountDeleteEventPayload" + } + } + }, + "FinancialAccountDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "financialAccount": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/FinancialAccount" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/agreement/api.json b/api/tm-forum/agreement/api.json new file mode 100644 index 00000000..a3ca6f17 --- /dev/null +++ b/api/tm-forum/agreement/api.json @@ -0,0 +1,3396 @@ +{ + "swagger": "2.0", + "info": { + "title": "Agreement Management", + "description": "This is Swagger UI environment generated for the TMF Agreement Management specification", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/agreementManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "agreement" + }, + { + "name": "agreementSpecification" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/agreement": { + "get": { + "operationId": "listAgreement", + "summary": "List or find Agreement objects", + "description": "This operation list or find Agreement entities", + "tags": [ + "agreement" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Agreement" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createAgreement", + "summary": "Creates a Agreement", + "description": "This operation creates a Agreement entity.", + "tags": [ + "agreement" + ], + "parameters": [ + { + "name": "agreement", + "description": "The Agreement to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Agreement_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Agreement" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/agreement/{id}": { + "get": { + "operationId": "retrieveAgreement", + "summary": "Retrieves a Agreement by ID", + "description": "This operation retrieves a Agreement entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "agreement" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Agreement", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Agreement" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchAgreement", + "summary": "Updates partially a Agreement", + "description": "This operation updates partially a Agreement entity.", + "tags": [ + "agreement" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Agreement", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "agreement", + "description": "The Agreement to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/Agreement_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Agreement" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteAgreement", + "summary": "Deletes a Agreement", + "description": "This operation deletes a Agreement entity.", + "tags": [ + "agreement" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Agreement", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/agreementSpecification": { + "get": { + "operationId": "listAgreementSpecification", + "summary": "List or find AgreementSpecification objects", + "description": "This operation list or find AgreementSpecification entities", + "tags": [ + "agreementSpecification" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecification" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createAgreementSpecification", + "summary": "Creates a AgreementSpecification", + "description": "This operation creates a AgreementSpecification entity.", + "tags": [ + "agreementSpecification" + ], + "parameters": [ + { + "name": "agreementSpecification", + "description": "The AgreementSpecification to be created", + "required": true, + "schema": { + "$ref": "#/definitions/AgreementSpecification_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AgreementSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/agreementSpecification/{id}": { + "get": { + "operationId": "retrieveAgreementSpecification", + "summary": "Retrieves a AgreementSpecification by ID", + "description": "This operation retrieves a AgreementSpecification entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "agreementSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the AgreementSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AgreementSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchAgreementSpecification", + "summary": "Updates partially a AgreementSpecification", + "description": "This operation updates partially a AgreementSpecification entity.", + "tags": [ + "agreementSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the AgreementSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "agreementSpecification", + "description": "The AgreementSpecification to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/AgreementSpecification_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/AgreementSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteAgreementSpecification", + "summary": "Deletes a AgreementSpecification", + "description": "This operation deletes a AgreementSpecification entity.", + "tags": [ + "agreementSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the AgreementSpecification", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementCreateEvent": { + "post": { + "operationId": "listenToAgreementCreateEvent", + "summary": "Client listener for entity AgreementCreateEvent", + "description": "Example of a client listener for receiving the notification AgreementCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementAttributeValueChangeEvent": { + "post": { + "operationId": "listenToAgreementAttributeValueChangeEvent", + "summary": "Client listener for entity AgreementAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification AgreementAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementStateChangeEvent": { + "post": { + "operationId": "listenToAgreementStateChangeEvent", + "summary": "Client listener for entity AgreementStateChangeEvent", + "description": "Example of a client listener for receiving the notification AgreementStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementDeleteEvent": { + "post": { + "operationId": "listenToAgreementDeleteEvent", + "summary": "Client listener for entity AgreementDeleteEvent", + "description": "Example of a client listener for receiving the notification AgreementDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementSpecificationCreateEvent": { + "post": { + "operationId": "listenToAgreementSpecificationCreateEvent", + "summary": "Client listener for entity AgreementSpecificationCreateEvent", + "description": "Example of a client listener for receiving the notification AgreementSpecificationCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementSpecificationCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementSpecificationAttributeValueChangeEvent": { + "post": { + "operationId": "listenToAgreementSpecificationAttributeValueChangeEvent", + "summary": "Client listener for entity AgreementSpecificationAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification AgreementSpecificationAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementSpecificationAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementSpecificationStateChangeEvent": { + "post": { + "operationId": "listenToAgreementSpecificationStateChangeEvent", + "summary": "Client listener for entity AgreementSpecificationStateChangeEvent", + "description": "Example of a client listener for receiving the notification AgreementSpecificationStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementSpecificationStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/agreementSpecificationDeleteEvent": { + "post": { + "operationId": "listenToAgreementSpecificationDeleteEvent", + "summary": "Client listener for entity AgreementSpecificationDeleteEvent", + "description": "Example of a client listener for receiving the notification AgreementSpecificationDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/AgreementSpecificationDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Agreement": { + "type": "object", + "description": "An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "required": [ + "agreementItem", + "agreementType", + "engagedParty", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the agreement" + }, + "href": { + "type": "string", + "description": "Unique url identifying the agreement as a resource" + }, + "agreementType": { + "type": "string", + "description": "The type of the agreement. For example commercial" + }, + "description": { + "type": "string", + "description": "Narrative that explains the agreement and details about the it , such as why the agreement is taking place." + }, + "documentNumber": { + "type": "integer", + "description": "A reference number assigned to an Agreement that follows a prescribed numbering system." + }, + "initialDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the agreement was initialized" + }, + "name": { + "type": "string", + "description": "A human-readable name for the agreement" + }, + "statementOfIntent": { + "type": "string", + "description": "An overview and goals of the Agreement" + }, + "status": { + "type": "string", + "description": "The current status of the agreement. Typical values are: in process, approved and rejected" + }, + "version": { + "type": "string", + "description": "A string identifying the version of the agreement" + }, + "agreementAuthorization": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementAuthorization" + } + }, + "agreementItem": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItem" + }, + "minItems": 1 + }, + "agreementPeriod": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period during which the Agreement is in effect." + }, + "agreementSpecification": { + "$ref": "#/definitions/AgreementSpecificationRef" + }, + "associatedAgreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "completionDate": { + "$ref": "#/definitions/TimePeriod", + "description": "Date at which the agreement is completed" + }, + "engagedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Agreement_Create": { + "type": "object", + "description": "An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.\nSkipped properties: id,href", + "required": [ + "agreementItem", + "agreementType", + "engagedParty", + "name" + ], + "properties": { + "agreementType": { + "type": "string", + "description": "The type of the agreement. For example commercial" + }, + "description": { + "type": "string", + "description": "Narrative that explains the agreement and details about the it , such as why the agreement is taking place." + }, + "documentNumber": { + "type": "integer", + "description": "A reference number assigned to an Agreement that follows a prescribed numbering system." + }, + "initialDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the agreement was initialized" + }, + "name": { + "type": "string", + "description": "A human-readable name for the agreement" + }, + "statementOfIntent": { + "type": "string", + "description": "An overview and goals of the Agreement" + }, + "status": { + "type": "string", + "description": "The current status of the agreement. Typical values are: in process, approved and rejected" + }, + "version": { + "type": "string", + "description": "A string identifying the version of the agreement" + }, + "agreementAuthorization": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementAuthorization" + } + }, + "agreementItem": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItem" + }, + "minItems": 1 + }, + "agreementPeriod": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period during which the Agreement is in effect." + }, + "agreementSpecification": { + "$ref": "#/definitions/AgreementSpecificationRef" + }, + "associatedAgreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "completionDate": { + "$ref": "#/definitions/TimePeriod", + "description": "Date at which the agreement is completed" + }, + "engagedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Agreement_Update": { + "type": "object", + "description": "An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.\nSkipped properties: id,href,completionDate", + "required": [ + "agreementItem", + "agreementType", + "engagedParty", + "name" + ], + "properties": { + "agreementType": { + "type": "string", + "description": "The type of the agreement. For example commercial" + }, + "description": { + "type": "string", + "description": "Narrative that explains the agreement and details about the it , such as why the agreement is taking place." + }, + "documentNumber": { + "type": "integer", + "description": "A reference number assigned to an Agreement that follows a prescribed numbering system." + }, + "initialDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the agreement was initialized" + }, + "name": { + "type": "string", + "description": "A human-readable name for the agreement" + }, + "statementOfIntent": { + "type": "string", + "description": "An overview and goals of the Agreement" + }, + "status": { + "type": "string", + "description": "The current status of the agreement. Typical values are: in process, approved and rejected" + }, + "version": { + "type": "string", + "description": "A string identifying the version of the agreement" + }, + "agreementAuthorization": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementAuthorization" + } + }, + "agreementItem": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItem" + }, + "minItems": 1 + }, + "agreementPeriod": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period during which the Agreement is in effect." + }, + "agreementSpecification": { + "$ref": "#/definitions/AgreementSpecificationRef" + }, + "associatedAgreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "engagedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "minItems": 1 + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementAuthorization": { + "type": "object", + "description": "A business participant that is responsible for approving the agreement.", + "properties": { + "date": { + "type": "string", + "format": "date-time", + "description": "The date associated with the authorization state." + }, + "signatureRepresentation": { + "type": "string", + "description": "Indication that represents whether the signature is a physical paper signature or a digital signature." + }, + "state": { + "type": "string", + "description": "Current status of the authorization, for example in process, approved, rejected." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementItem": { + "type": "object", + "description": "A part of the agreement expressed in terms of a product offering and possibly including specific terms and conditions.", + "properties": { + "product": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRef" + }, + "description": "The list of products indirectly referred by this agreement item (since an agreement item refers primarily to product offerings)" + }, + "productOffering": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "description": "The list of product offerings referred by this agreement item" + }, + "termOrCondition": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementTermOrCondition" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementRef": { + "type": "object", + "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the agreement" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AgreementSpecCharacteristic": { + "type": "object", + "description": "A characteristic quality or distinctive feature of an agreement.", + "properties": { + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail what the characteristic is" + }, + "name": { + "type": "string", + "description": "Name of the characteristic being specified." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "specCharacteristicValue": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecCharacteristicValue" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the specification characteristic is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementSpecCharacteristicValue": { + "type": "object", + "description": "A number or text that can be assigned to an agreement specification characteristic.", + "properties": { + "default": { + "type": "boolean", + "description": "Indicates if the value is the default value for a characteristic" + }, + "unitOfMeasure": { + "type": "string", + "description": "Unit of measure for the characteristic, such as minutes, gigabytes (GB) and so on." + }, + "valueFrom": { + "type": "string", + "description": "The low range value that a characteristic can take on" + }, + "valueTo": { + "type": "string", + "description": "The upper range value that a characteristic can take on" + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text, and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a value is applicable" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "A discrete value that the characteristic can take on" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementSpecification": { + "type": "object", + "description": "A template of an agreement that can be used when establishing partnerships", + "required": [ + "attachment", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the agreement specification" + }, + "href": { + "type": "string", + "description": "Reference of the agreement specification" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail what the agreement specification is about" + }, + "isBundle": { + "type": "boolean", + "description": "If true, this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided by the specificationRelationship property" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Indicates the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the agreement specification" + }, + "version": { + "type": "string", + "description": "Agreement specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "minItems": 1 + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "serviceCategory": { + "$ref": "#/definitions/CategoryRef" + }, + "specificationCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecCharacteristic" + } + }, + "specificationRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecificationRelationship" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the agreement specification is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementSpecification_Create": { + "type": "object", + "description": "A template of an agreement that can be used when establishing partnerships\nSkipped properties: id,href", + "required": [ + "attachment", + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "A narrative that explains in detail what the agreement specification is about" + }, + "isBundle": { + "type": "boolean", + "description": "If true, this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided by the specificationRelationship property" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Indicates the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the agreement specification" + }, + "version": { + "type": "string", + "description": "Agreement specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "minItems": 1 + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "serviceCategory": { + "$ref": "#/definitions/CategoryRef" + }, + "specificationCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecCharacteristic" + } + }, + "specificationRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecificationRelationship" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the agreement specification is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementSpecification_Update": { + "type": "object", + "description": "A template of an agreement that can be used when establishing partnerships\nSkipped properties: id,href", + "required": [ + "attachment", + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "A narrative that explains in detail what the agreement specification is about" + }, + "isBundle": { + "type": "boolean", + "description": "If true, this agreement specification is a grouping of other agreement specifications. The list of bundled agreement specifications is provided by the specificationRelationship property" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Indicates the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the agreement specification" + }, + "version": { + "type": "string", + "description": "Agreement specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "minItems": 1 + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "serviceCategory": { + "$ref": "#/definitions/CategoryRef" + }, + "specificationCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecCharacteristic" + } + }, + "specificationRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementSpecificationRelationship" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the agreement specification is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AgreementSpecificationRef": { + "type": "object", + "description": "AgreementSpecification reference. An AgreementSpecification represents a template of an agreement that can be used when establishing partnerships.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail what the agreement specification is about." + }, + "name": { + "type": "string", + "description": "Name of the agreement specification" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AgreementSpecificationRelationship": { + "type": "object", + "description": "A relationship between agreement specifications. Typical relationships are substitution and dependency.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as, substitution or dependency." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the relationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "AgreementTermOrCondition": { + "type": "object", + "description": "Aspects of the agreement not formally specified elsewhere in the agreement and that cannot be captured elsewhere in a formal notation, or automatically monitored and require a more human level of management.", + "properties": { + "id": { + "type": "string", + "description": "Unique number assigned for reference." + }, + "description": { + "type": "string", + "description": "Text that explains the term or condition of the agreement." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time during which the term or condition of the agreement applies." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Any": {}, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "type": "string", + "description": "URI for this Attachment" + }, + "attachmentType": { + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "type": "string", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "type": "string", + "description": "URI for this Attachment" + }, + "attachmentType": { + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "type": "string", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "CategoryRef": { + "type": "object", + "description": "The category for grouping recommendations", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Category version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductOfferingRef": { + "type": "object", + "description": "ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "AgreementCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementCreateEventPayload" + } + } + }, + "AgreementCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreement": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Agreement" + } + } + }, + "AgreementAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementAttributeValueChangeEventPayload" + } + } + }, + "AgreementAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreement": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Agreement" + } + } + }, + "AgreementStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementStateChangeEventPayload" + } + } + }, + "AgreementStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreement": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Agreement" + } + } + }, + "AgreementDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementDeleteEventPayload" + } + } + }, + "AgreementDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreement": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Agreement" + } + } + }, + "AgreementSpecificationCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementSpecificationCreateEventPayload" + } + } + }, + "AgreementSpecificationCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreementSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/AgreementSpecification" + } + } + }, + "AgreementSpecificationAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementSpecificationAttributeValueChangeEventPayload" + } + } + }, + "AgreementSpecificationAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreementSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/AgreementSpecification" + } + } + }, + "AgreementSpecificationStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementSpecificationStateChangeEventPayload" + } + } + }, + "AgreementSpecificationStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreementSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/AgreementSpecification" + } + } + }, + "AgreementSpecificationDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/AgreementSpecificationDeleteEventPayload" + } + } + }, + "AgreementSpecificationDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "agreementSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/AgreementSpecification" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/customer-bill-management/api.json b/api/tm-forum/customer-bill-management/api.json new file mode 100644 index 00000000..6af766e9 --- /dev/null +++ b/api/tm-forum/customer-bill-management/api.json @@ -0,0 +1,1988 @@ +{ + "swagger": "2.0", + "info": { + "title": "API CustomerBill", + "description": "## TMF API Reference: TMF 678 - Customer bill Management\n\n### Release: 19.5 - December 2019\n\nThe Customer Bill Management API allows to find and retrieve one or several customer bills (also called invoices) produced for a customer. A customer bill is an electronic or paper document produced at the end of the billing process. The customer bill gathers and displays different items (applied customer billing rates generated during the rating and billing processes) to be charged to a customer. It represents a total amount due for all the products during the billing period and all significant information like dates, bill reference...\nThis API provides also operations to find and retrieve the details of applied customer billing rates presented on a customer bill. \nFinally, this API allows to request in real-time a customer bill creation and to manage this request.\n\n### Resources \n- customerBill\n- appliedCustomerBillingRate\n- customerBillOnDemand\n- billingCycle\n\n### Operations\nCustomer Bill Management API performs the following operations :\n- Retrieve a customer bill or a collection of customer bills depending on filter criteria.\n- Partial update of a customer bill (for administration purposes).\n- Retrieve an applied customer billing rate or a collection of applied customer billing rates depending on filter criteria.\n- Create a customer bill on demand request, retrieve one or a collection of customer bill on demand request(s) depending on filter criteria.\n\n- Manage notification of events on customer bill and customer bill on demand.\n\nCopyright \u00a9 TM Forum 2018. All Rights Reserved.", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/customerBillManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "customerBillOnDemand" + }, + { + "name": "customerBill" + }, + { + "name": "appliedCustomerBillingRate" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/customerBillOnDemand": { + "get": { + "operationId": "listCustomerBillOnDemand", + "summary": "List or find CustomerBillOnDemand objects", + "description": "This operation list or find CustomerBillOnDemand entities", + "tags": [ + "customerBillOnDemand" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomerBillOnDemand" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createCustomerBillOnDemand", + "summary": "Creates a CustomerBillOnDemand", + "description": "This operation creates a CustomerBillOnDemand entity.", + "tags": [ + "customerBillOnDemand" + ], + "parameters": [ + { + "name": "customerBillOnDemand", + "description": "The CustomerBillOnDemand to be created", + "required": true, + "schema": { + "$ref": "#/definitions/CustomerBillOnDemand_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CustomerBillOnDemand" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/customerBillOnDemand/{id}": { + "get": { + "operationId": "retrieveCustomerBillOnDemand", + "summary": "Retrieves a CustomerBillOnDemand by ID", + "description": "This operation retrieves a CustomerBillOnDemand entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "customerBillOnDemand" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the CustomerBillOnDemand", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CustomerBillOnDemand" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/customerBill": { + "get": { + "operationId": "listCustomerBill", + "summary": "List or find CustomerBill objects", + "description": "This operation list or find CustomerBill entities", + "tags": [ + "customerBill" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CustomerBill" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/customerBill/{id}": { + "get": { + "operationId": "retrieveCustomerBill", + "summary": "Retrieves a CustomerBill by ID", + "description": "This operation retrieves a CustomerBill entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "customerBill" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the CustomerBill", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CustomerBill" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchCustomerBill", + "summary": "Updates partially a CustomerBill", + "description": "This operation updates partially a CustomerBill entity.", + "tags": [ + "customerBill" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the CustomerBill", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "customerBill", + "description": "The CustomerBill to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/CustomerBill_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/CustomerBill" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/appliedCustomerBillingRate": { + "get": { + "operationId": "listAppliedCustomerBillingRate", + "summary": "List or find AppliedCustomerBillingRate objects", + "description": "This operation list or find AppliedCustomerBillingRate entities", + "tags": [ + "appliedCustomerBillingRate" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/AppliedCustomerBillingRate" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/appliedCustomerBillingRate/{id}": { + "get": { + "operationId": "retrieveAppliedCustomerBillingRate", + "summary": "Retrieves a AppliedCustomerBillingRate by ID", + "description": "This operation retrieves a AppliedCustomerBillingRate entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "appliedCustomerBillingRate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the AppliedCustomerBillingRate", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AppliedCustomerBillingRate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "AccountBalance": { + "type": "object", + "description": "Balances linked to the account", + "required": [ + "amount", + "balanceType", + "validFor" + ], + "properties": { + "balanceType": { + "type": "string", + "description": "Type of the balance : deposit balance, disputed balance, loyalty balance, receivable balance..." + }, + "amount": { + "$ref": "#/definitions/Money", + "description": "Balance amount" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "Balance validity period" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Any": {}, + "AppliedBillingRateCharacteristic": { + "type": "object", + "description": "An applied billing rate has dynamic characteristics according to the its type (characteristics are based on the service type, line of business or on others parameters)", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AppliedBillingTaxRate": { + "type": "object", + "description": "The applied billing tax rate represents taxes applied billing rate it refers to. It is calculated during the billing process.", + "properties": { + "taxCategory": { + "type": "string", + "description": "A categorization of the tax rate" + }, + "taxRate": { + "type": "number", + "format": "float", + "description": "Applied rate" + }, + "taxAmount": { + "$ref": "#/definitions/Money", + "description": "Tax amount expressed in the given currency" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AppliedCustomerBillingRate": { + "type": "object", + "description": "A customer bill displays applied billing rates created before or during the billing process.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the customer applied billing rate" + }, + "href": { + "type": "string", + "description": "Reference of the customer applied billing rate" + }, + "date": { + "type": "string", + "format": "date-time", + "description": "Creation date of the applied billing rate" + }, + "description": { + "type": "string", + "description": "Additional data to be displayed on the bill for this customer applied billing rate" + }, + "isBilled": { + "type": "boolean", + "description": "If isBilled = true then bill should be provided, if false then billingAccount should be provided" + }, + "name": { + "type": "string", + "description": "Name of the customer applied billing rate" + }, + "type": { + "type": "string", + "description": "Type of the applied billing rate : appliedBillingCharge (any kind of charge except taxation charges : recurringCharge, oneTimeCharge, usageCharge), appliedBillingCredit (any kind of credit : rebate or productAlteration) or appliedPenaltyCharge (penalty charges such as late fees, payment rejection fees,...)" + }, + "appliedTax": { + "type": "array", + "items": { + "$ref": "#/definitions/AppliedBillingTaxRate" + } + }, + "bill": { + "$ref": "#/definitions/BillRef" + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/AppliedBillingRateCharacteristic" + } + }, + "periodCoverage": { + "$ref": "#/definitions/TimePeriod", + "description": "periodCoverage for RecurringCharge (RC) indicating the RC coverage period dates for different purposes, such as RC proration, display on bill, GL reporting, etc. periodCoverage for OC start and end date will be the same" + }, + "product": { + "$ref": "#/definitions/ProductRef", + "description": "Usually this information should be provided by the PRODUCT, which implies that there is a valid reference to product. In this case, this property should be empty. For all other situations, a text or structured info could be provided using this property. Regular modelling would suggest tu use the reforvalue pattern for this case. It is not choosen here because it would generate declarational dependencies which would be hard to maintain." + }, + "taxExcludedAmount": { + "$ref": "#/definitions/Money" + }, + "taxIncludedAmount": { + "$ref": "#/definitions/Money" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AppliedPayment": { + "type": "object", + "description": "The applied payment is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a bill.", + "properties": { + "appliedAmount": { + "$ref": "#/definitions/Money" + }, + "payment": { + "$ref": "#/definitions/PaymentRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "type": "string", + "description": "URI for this Attachment" + }, + "attachmentType": { + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "type": "string", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "type": "string", + "description": "URI for this Attachment" + }, + "attachmentType": { + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "type": "string", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "BillRef": { + "type": "object", + "description": "Bill reference.", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this <123>" + }, + "href": { + "type": "string", + "description": "URL serving as reference for the resource" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "BillingAccountRef": { + "type": "object", + "description": "Reference to the billing account in case of not billed item.", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this <123>" + }, + "href": { + "type": "string", + "description": "URL serving as reference for the resource" + }, + "name": { + "type": "string", + "description": "Name of the Billingaccount" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CustomerBill": { + "type": "object", + "description": "The billing account receives all charges (recurring, one time and usage) of the offers and products assigned to it during order process. Periodically according to billing cycle specifications attached to the billing account or as a result of an event, a customer bill (aka invoice) is produced. This customer bill concerns different related parties which play a role on it : for example, a customer bill is produced by an operator, is sent to a bill receiver and has to be paid by a payer.\nA payment method could be assigned to the customer bill to build the call of payment. Lettering process enables to assign automatically or manually incoming amount from payments to customer bills (payment items).\nA tax item is created for each tax rate used in the customer bill.\nThe financial account represents a financial entity which records all customer\u2019s accounting events : payment amount are recorded as credit and invoices amount are recorded as debit. It gives the customer overall balance (account balance).\nThe customer bill is linked to one or more documents that can be downloaded via a provided url.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of he bill" + }, + "href": { + "type": "string", + "description": "Bill unique reference" + }, + "billDate": { + "type": "string", + "format": "date-time", + "description": "Bill date" + }, + "billNo": { + "type": "string", + "description": "Bill reference known by the customer or the party and displayed on the bill. Could be different from the id" + }, + "category": { + "type": "string", + "description": "Category of the bill produced : normal, duplicate, interim, last, trial customer or credit note for example" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date of bill last update" + }, + "nextBillDate": { + "type": "string", + "format": "date-time", + "description": "). Approximate date of the next bill production given for information (only used for onCycle bill)" + }, + "paymentDueDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the amount due should have been paid" + }, + "runType": { + "type": "string", + "description": "onCycle (a bill can be created as a result of a cycle run) or offCycle (a bill can be created as a result of other events such as customer request or account close)" + }, + "amountDue": { + "$ref": "#/definitions/Money" + }, + "appliedPayment": { + "type": "array", + "items": { + "$ref": "#/definitions/AppliedPayment" + } + }, + "billDocument": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "billingPeriod": { + "$ref": "#/definitions/TimePeriod" + }, + "financialAccount": { + "$ref": "#/definitions/FinancialAccountRef" + }, + "paymentMethod": { + "$ref": "#/definitions/PaymentMethodRef" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPartyRef" + } + }, + "remainingAmount": { + "$ref": "#/definitions/Money" + }, + "state": { + "$ref": "#/definitions/stateValue" + }, + "taxExcludedAmount": { + "$ref": "#/definitions/Money" + }, + "taxIncludedAmount": { + "$ref": "#/definitions/Money" + }, + "taxItem": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxItem" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CustomerBill_Update": { + "type": "object", + "description": "The billing account receives all charges (recurring, one time and usage) of the offers and products assigned to it during order process. Periodically according to billing cycle specifications attached to the billing account or as a result of an event, a customer bill (aka invoice) is produced. This customer bill concerns different related parties which play a role on it : for example, a customer bill is produced by an operator, is sent to a bill receiver and has to be paid by a payer.\nA payment method could be assigned to the customer bill to build the call of payment. Lettering process enables to assign automatically or manually incoming amount from payments to customer bills (payment items).\nA tax item is created for each tax rate used in the customer bill.\nThe financial account represents a financial entity which records all customer\u2019s accounting events : payment amount are recorded as credit and invoices amount are recorded as debit. It gives the customer overall balance (account balance).\nThe customer bill is linked to one or more documents that can be downloaded via a provided url.\nSkipped properties: id,href,amountDue,appliedPayment,billDate,billDocument,billNo,billingAccount,billingPeriod,category,financialAccount,lastUpdate,nextBillDate,paymentDueDate,paymentMethod,relatedParty,remainingAmount,runType,taxExcludedAmount,taxIncludedAmount,taxItem", + "properties": { + "state": { + "$ref": "#/definitions/stateValue" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CustomerBillOnDemand": { + "type": "object", + "description": "This resource is used to manage the creation request of a customer bill in real-time (on demand).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the customer bill on demand request given by the server" + }, + "href": { + "type": "string", + "description": "Reference of the customer bill on demand request" + }, + "description": { + "type": "string", + "description": "Additional data describing the customer bill on demand request" + }, + "lastUpdate": { + "type": "string", + "description": "The last date time when the customer bill on demand has been updated" + }, + "name": { + "type": "string", + "description": "Friendly name to identify the customer bill on demand request" + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "customerBill": { + "$ref": "#/definitions/BillRef" + }, + "relatedParty": { + "$ref": "#/definitions/RelatedPartyRef" + }, + "state": { + "$ref": "#/definitions/StateValues" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CustomerBillOnDemand_Create": { + "type": "object", + "description": "This resource is used to manage the creation request of a customer bill in real-time (on demand).\nSkipped properties: id,href", + "properties": { + "description": { + "type": "string", + "description": "Additional data describing the customer bill on demand request" + }, + "lastUpdate": { + "type": "string", + "description": "The last date time when the customer bill on demand has been updated" + }, + "name": { + "type": "string", + "description": "Friendly name to identify the customer bill on demand request" + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "customerBill": { + "$ref": "#/definitions/BillRef" + }, + "relatedParty": { + "$ref": "#/definitions/RelatedPartyRef" + }, + "state": { + "$ref": "#/definitions/StateValues" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "FinancialAccountRef": { + "type": "object", + "description": "AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Unique reference of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "accountBalance": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountBalance" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Money": { + "type": "object", + "description": "A base / value business entity used to represent money", + "properties": { + "unit": { + "type": "string", + "description": "Currency (ISO4217 norm uses 3 letters to define the currency)" + }, + "value": { + "type": "number", + "format": "float", + "description": "A positive floating point number" + } + } + }, + "PaymentMethodRef": { + "type": "object", + "description": "PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the payment mean" + }, + "href": { + "type": "string", + "description": "Reference of the payment mean" + }, + "name": { + "type": "string", + "description": "Name of the payment mean" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "PaymentRef": { + "type": "object", + "description": "If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "A name for the payment" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "Reference": { + "type": "object", + "description": "General Referencing Resource Schema", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this <123>" + }, + "href": { + "type": "string", + "description": "URL serving as reference for the resource" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedPartyRef": { + "type": "object", + "description": "RelatedParty reference. A related party defines party or party role linked to a specific entity.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related party" + }, + "href": { + "type": "string", + "description": "Reference of the related party, could be a party reference or a party role reference" + }, + "name": { + "type": "string", + "description": "Name of the related party" + }, + "role": { + "type": "string", + "description": "Role of the related party." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "StateValues": { + "type": "string", + "description": "", + "enum": [ + "inProgress", + "rejected", + "done", + "terminatedWithError" + ] + }, + "TaxItem": { + "type": "object", + "description": "A tax item is created for each tax rate and tax type used in the bill.", + "properties": { + "taxCategory": { + "type": "string", + "description": "Tax category" + }, + "taxRate": { + "type": "number", + "format": "float", + "description": "Applied rate of the tax" + }, + "taxAmount": { + "$ref": "#/definitions/Money", + "description": "Amount of tax expressed in the given currency" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "stateValue": { + "type": "string", + "description": "", + "enum": [ + "new", + "onHold", + "validated", + "sent", + "partiallyPaid", + "settled" + ] + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/customer-management/api.json b/api/tm-forum/customer-management/api.json new file mode 100644 index 00000000..cf14a8c5 --- /dev/null +++ b/api/tm-forum/customer-management/api.json @@ -0,0 +1,1823 @@ +{ + "swagger": "2.0", + "info": { + "title": "Customer Management", + "description": "This is Swagger UI environment generated for the TMF Customer Management specification", + "version": "4.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/customerManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "customer" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/customer": { + "get": { + "operationId": "listCustomer", + "summary": "List or find Customer objects", + "description": "This operation list or find Customer entities", + "tags": [ + "customer" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Customer" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createCustomer", + "summary": "Creates a Customer", + "description": "This operation creates a Customer entity.", + "tags": [ + "customer" + ], + "parameters": [ + { + "name": "customer", + "description": "The Customer to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Customer_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Customer" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/customer/{id}": { + "get": { + "operationId": "retrieveCustomer", + "summary": "Retrieves a Customer by ID", + "description": "This operation retrieves a Customer entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "customer" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Customer", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Customer" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchCustomer", + "summary": "Updates partially a Customer", + "description": "This operation updates partially a Customer entity.", + "tags": [ + "customer" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Customer", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "customer", + "description": "The Customer to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/Customer_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Customer" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteCustomer", + "summary": "Deletes a Customer", + "description": "This operation deletes a Customer entity.", + "tags": [ + "customer" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Customer", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/customerCreateEvent": { + "post": { + "operationId": "listenToCustomerCreateEvent", + "summary": "Client listener for entity CustomerCreateEvent", + "description": "Example of a client listener for receiving the notification CustomerCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CustomerCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/customerAttributeValueChangeEvent": { + "post": { + "operationId": "listenToCustomerAttributeValueChangeEvent", + "summary": "Client listener for entity CustomerAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification CustomerAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CustomerAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/customerStateChangeEvent": { + "post": { + "operationId": "listenToCustomerStateChangeEvent", + "summary": "Client listener for entity CustomerStateChangeEvent", + "description": "Example of a client listener for receiving the notification CustomerStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CustomerStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/customerDeleteEvent": { + "post": { + "operationId": "listenToCustomerDeleteEvent", + "summary": "Client listener for entity CustomerDeleteEvent", + "description": "Example of a client listener for receiving the notification CustomerDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CustomerDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "AccountRef": { + "type": "object", + "description": "Account reference. A account may be a party account or a financial account.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Reference of the account" + }, + "description": { + "type": "string", + "description": "Detailed description of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "AgreementRef": { + "type": "object", + "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the agreement" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Any": {}, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ContactMedium": { + "type": "object", + "description": "Indicates the contact medium that could be used to contact the party.", + "required": [ + "mediumType", + "characteristic" + ], + "properties": { + "mediumType": { + "type": "string", + "description": "Type of the contact medium, such as: email address, telephone number, postal address" + }, + "preferred": { + "type": "boolean", + "description": "If true, indicates that is the preferred contact medium" + }, + "characteristic": { + "$ref": "#/definitions/MediumCharacteristic", + "description": "Any additional characteristic(s) of this contact medium" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the contact medium is valid for" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CreditProfile": { + "type": "object", + "description": "Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one.", + "required": [ + "creditProfileDate", + "validFor" + ], + "properties": { + "creditProfileDate": { + "type": "string", + "format": "date-time", + "description": "The date the profile was established" + }, + "creditRiskRating": { + "type": "integer", + "description": "This is an integer whose value is used to rate the risk" + }, + "creditScore": { + "type": "integer", + "description": "A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the profile is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Customer": { + "type": "object", + "required": [ + "engagedParty" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for Customers" + }, + "href": { + "type": "string", + "description": "Url used to reference the customer." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which the Customer is known and distinguished from other Customers." + }, + "status": { + "type": "string", + "description": "Used to track the lifecycle status of the customer." + }, + "statusReason": { + "type": "string", + "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." + }, + "account": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRef" + } + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Describes the characteristic of a customer." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditProfile": { + "type": "array", + "items": { + "$ref": "#/definitions/CreditProfile" + } + }, + "engagedParty": { + "$ref": "#/definitions/RelatedParty", + "description": "The party - an organization or an individual - that is engaged as a customer." + }, + "paymentMethod": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethodRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the Customer is valid for." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Customer_Create": { + "type": "object", + "description": "\nSkipped properties: id,href", + "required": [ + "engagedParty", + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "A word, term, or phrase by which the Customer is known and distinguished from other Customers." + }, + "status": { + "type": "string", + "description": "Used to track the lifecycle status of the customer." + }, + "statusReason": { + "type": "string", + "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." + }, + "account": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRef" + } + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Describes the characteristic of a customer." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditProfile": { + "type": "array", + "items": { + "$ref": "#/definitions/CreditProfile" + } + }, + "engagedParty": { + "$ref": "#/definitions/RelatedParty", + "description": "The party - an organization or an individual - that is engaged as a customer." + }, + "paymentMethod": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethodRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the Customer is valid for." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Customer_Update": { + "type": "object", + "description": "\nSkipped properties: id,href", + "required": [ + "engagedParty" + ], + "properties": { + "name": { + "type": "string", + "description": "A word, term, or phrase by which the Customer is known and distinguished from other Customers." + }, + "status": { + "type": "string", + "description": "Used to track the lifecycle status of the customer." + }, + "statusReason": { + "type": "string", + "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." + }, + "account": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRef" + } + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Describes the characteristic of a customer." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditProfile": { + "type": "array", + "items": { + "$ref": "#/definitions/CreditProfile" + } + }, + "engagedParty": { + "$ref": "#/definitions/RelatedParty", + "description": "The party - an organization or an individual - that is engaged as a customer." + }, + "paymentMethod": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethodRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the Customer is valid for." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "MediumCharacteristic": { + "type": "object", + "description": "Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)", + "properties": { + "city": { + "type": "string", + "description": "The city" + }, + "contactType": { + "type": "string", + "description": "The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation\u2026" + }, + "country": { + "type": "string", + "description": "The country" + }, + "emailAddress": { + "type": "string", + "description": "Full email address in standard format" + }, + "faxNumber": { + "type": "string", + "description": "The fax number of the contact" + }, + "phoneNumber": { + "type": "string", + "description": "The primary phone number of the contact" + }, + "postCode": { + "type": "string", + "description": "Postcode" + }, + "socialNetworkId": { + "type": "string", + "description": "Identifier as a member of a social network" + }, + "stateOrProvince": { + "type": "string", + "description": "State or province" + }, + "street1": { + "type": "string", + "description": "Describes the street" + }, + "street2": { + "type": "string", + "description": "Complementary street description" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PaymentMethodRef": { + "type": "object", + "description": "PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the payment mean" + }, + "href": { + "type": "string", + "description": "Reference of the payment mean" + }, + "name": { + "type": "string", + "description": "Name of the payment mean" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "CustomerCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CustomerCreateEventPayload" + } + } + }, + "CustomerCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "customer": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Customer" + } + } + }, + "CustomerAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CustomerAttributeValueChangeEventPayload" + } + } + }, + "CustomerAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "customer": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Customer" + } + } + }, + "CustomerStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CustomerStateChangeEventPayload" + } + } + }, + "CustomerStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "customer": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Customer" + } + } + }, + "CustomerDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CustomerDeleteEventPayload" + } + } + }, + "CustomerDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "customer": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Customer" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/party-catalog/api.json b/api/tm-forum/party-catalog/api.json new file mode 100644 index 00000000..25f9f368 --- /dev/null +++ b/api/tm-forum/party-catalog/api.json @@ -0,0 +1,3964 @@ +{ + "swagger": "2.0", + "info": { + "title": "API Party", + "description": "## TMF API Reference : TMF 632 - Party \n\n### Release : 19.0 \n\nThe party API provides standardized mechanism for party management such as creation, update, retrieval, deletion and notification of events. Party can be an individual or an organization that has any kind of relation with the enterprise. Party is created to record individual or organization information before the assignment of any role. For example, within the context of a split billing mechanism, Party API allows creation of the individual or organization that will play the role of 3 rd payer for a given offer and, then, allows consultation or update of his information.\n\n### Resources\n- Organization\n- Individual\n- Hub\n\nParty API performs the following operations :\n- Retrieve an organization or an individual\n- Retrieve a collection of organizations or individuals according to given criteria\n- Create a new organization or a new individual\n- Update an existing organization or an existing individual\n- Delete an existing organization or an existing individual\n- Notify events on organizatin or individual", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/party/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "individual" + }, + { + "name": "organization" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/individual": { + "get": { + "operationId": "listIndividual", + "summary": "List or find Individual objects", + "description": "This operation list or find Individual entities", + "tags": [ + "individual" + ], + "parameters": [ + { + "type": "string", + "required": false, + "in": "query", + "name": "fields", + "description": "Comma-separated properties to be provided in response" + }, + { + "type": "integer", + "required": false, + "in": "query", + "name": "offset", + "description": "Requested index for start of resources to be provided in response" + }, + { + "type": "integer", + "required": false, + "in": "query", + "name": "limit", + "description": "Requested number of resources to be provided in response" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Total-Count": { + "type": "integer", + "description": "Total number of items matching criteria" + }, + "X-Result-Count": { + "type": "integer", + "description": "Actual number of items returned in the response body" + } + }, + "schema": { + "items": { + "$ref": "#/definitions/Individual" + }, + "type": "array" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createIndividual", + "summary": "Creates a Individual", + "description": "This operation creates a Individual entity.", + "tags": [ + "individual" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/Individual_Create" + }, + "required": true, + "in": "body", + "name": "individual", + "description": "The Individual to be created" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Individual" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/individual/{id}": { + "get": { + "operationId": "retrieveIndividual", + "summary": "Retrieves a Individual by ID", + "description": "This operation retrieves a Individual entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "individual" + ], + "parameters": [ + { + "required": true, + "type": "string", + "name": "id", + "in": "path", + "description": "Identifier of the Individual" + }, + { + "required": false, + "type": "string", + "name": "fields", + "in": "query", + "description": "Comma-separated properties to provide in response" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Individual" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchIndividual", + "summary": "Updates partially a Individual", + "description": "This operation updates partially a Individual entity.", + "tags": [ + "individual" + ], + "parameters": [ + { + "required": true, + "type": "string", + "name": "id", + "in": "path", + "description": "Identifier of the Individual" + }, + { + "schema": { + "$ref": "#/definitions/Individual_Update" + }, + "required": true, + "in": "body", + "name": "individual", + "description": "The Individual to be updated" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Individual" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteIndividual", + "summary": "Deletes a Individual", + "description": "This operation deletes a Individual entity.", + "tags": [ + "individual" + ], + "parameters": [ + { + "required": true, + "type": "string", + "name": "id", + "in": "path", + "description": "Identifier of the Individual" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/organization": { + "get": { + "operationId": "listOrganization", + "summary": "List or find Organization objects", + "description": "This operation list or find Organization entities", + "tags": [ + "organization" + ], + "parameters": [ + { + "type": "string", + "required": false, + "in": "query", + "name": "fields", + "description": "Comma-separated properties to be provided in response" + }, + { + "type": "integer", + "required": false, + "in": "query", + "name": "offset", + "description": "Requested index for start of resources to be provided in response" + }, + { + "type": "integer", + "required": false, + "in": "query", + "name": "limit", + "description": "Requested number of resources to be provided in response" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Total-Count": { + "type": "integer", + "description": "Total number of items matching criteria" + }, + "X-Result-Count": { + "type": "integer", + "description": "Actual number of items returned in the response body" + } + }, + "schema": { + "items": { + "$ref": "#/definitions/Organization" + }, + "type": "array" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createOrganization", + "summary": "Creates a Organization", + "description": "This operation creates a Organization entity.", + "tags": [ + "organization" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/Organization_Create" + }, + "required": true, + "in": "body", + "name": "organization", + "description": "The Organization to be created" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Organization" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/organization/{id}": { + "get": { + "operationId": "retrieveOrganization", + "summary": "Retrieves a Organization by ID", + "description": "This operation retrieves a Organization entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "organization" + ], + "parameters": [ + { + "required": true, + "type": "string", + "name": "id", + "in": "path", + "description": "Identifier of the Organization" + }, + { + "required": false, + "type": "string", + "name": "fields", + "in": "query", + "description": "Comma-separated properties to provide in response" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Organization" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchOrganization", + "summary": "Updates partially a Organization", + "description": "This operation updates partially a Organization entity.", + "tags": [ + "organization" + ], + "parameters": [ + { + "required": true, + "type": "string", + "name": "id", + "in": "path", + "description": "Identifier of the Organization" + }, + { + "schema": { + "$ref": "#/definitions/Organization_Update" + }, + "required": true, + "in": "body", + "name": "organization", + "description": "The Organization to be updated" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Organization" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteOrganization", + "summary": "Deletes a Organization", + "description": "This operation deletes a Organization entity.", + "tags": [ + "organization" + ], + "parameters": [ + { + "required": true, + "type": "string", + "name": "id", + "in": "path", + "description": "Identifier of the Organization" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/organizationCreateEvent": { + "post": { + "operationId": "listenToOrganizationCreateEvent", + "summary": "Client listener for entity OrganizationCreateEvent", + "description": "Example of a client listener for receiving the notification OrganizationCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/OrganizationCreateEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/organizationAttributeValueChangeEvent": { + "post": { + "operationId": "listenToOrganizationAttributeValueChangeEvent", + "summary": "Client listener for entity OrganizationAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification OrganizationAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/OrganizationAttributeValueChangeEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/organizationStateChangeEvent": { + "post": { + "operationId": "listenToOrganizationStateChangeEvent", + "summary": "Client listener for entity OrganizationStateChangeEvent", + "description": "Example of a client listener for receiving the notification OrganizationStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/OrganizationStateChangeEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/organizationDeleteEvent": { + "post": { + "operationId": "listenToOrganizationDeleteEvent", + "summary": "Client listener for entity OrganizationDeleteEvent", + "description": "Example of a client listener for receiving the notification OrganizationDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/OrganizationDeleteEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/individualCreateEvent": { + "post": { + "operationId": "listenToIndividualCreateEvent", + "summary": "Client listener for entity IndividualCreateEvent", + "description": "Example of a client listener for receiving the notification IndividualCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/IndividualCreateEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/individualAttributeValueChangeEvent": { + "post": { + "operationId": "listenToIndividualAttributeValueChangeEvent", + "summary": "Client listener for entity IndividualAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification IndividualAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/IndividualAttributeValueChangeEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/individualStateChangeEvent": { + "post": { + "operationId": "listenToIndividualStateChangeEvent", + "summary": "Client listener for entity IndividualStateChangeEvent", + "description": "Example of a client listener for receiving the notification IndividualStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/IndividualStateChangeEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/individualDeleteEvent": { + "post": { + "operationId": "listenToIndividualDeleteEvent", + "summary": "Client listener for entity IndividualDeleteEvent", + "description": "Example of a client listener for receiving the notification IndividualDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "schema": { + "$ref": "#/definitions/IndividualDeleteEvent" + }, + "description": "The event data", + "required": true, + "name": "data", + "in": "body" + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Any": {}, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "type": "string", + "description": "URI for this Attachment" + }, + "attachmentType": { + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "type": "string", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "type": "string", + "description": "URI for this Attachment" + }, + "attachmentType": { + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "type": "string", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ContactMedium": { + "type": "object", + "description": "Indicates the contact medium that could be used to contact the party.", + "properties": { + "mediumType": { + "type": "string", + "description": "Type of the contact medium, such as: email address, telephone number, postal address" + }, + "preferred": { + "type": "boolean", + "description": "If true, indicates that is the preferred contact medium" + }, + "characteristic": { + "$ref": "#/definitions/MediumCharacteristic", + "description": "Any additional characteristic(s) of this contact medium" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the contact medium is valid for" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Disability": { + "type": "object", + "description": "Lack or inadequate strength or ability.", + "properties": { + "disabilityCode": { + "type": "string", + "description": "Code of the disability" + }, + "disabilityName": { + "type": "string", + "description": "Name of the disability" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ExternalReference": { + "type": "object", + "description": "External reference of the individual or reference in other system", + "properties": { + "externalReferenceType": { + "type": "string", + "description": "Type of the external reference" + }, + "name": { + "type": "string", + "description": "External reference name" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Individual": { + "type": "object", + "description": "Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the organization" + }, + "href": { + "type": "string", + "description": "Hyperlink to access the organization" + }, + "aristocraticTitle": { + "type": "string", + "description": "e.g. Baron, Graf, Earl,\u2026" + }, + "birthDate": { + "type": "string", + "format": "date-time", + "description": "Birth date" + }, + "countryOfBirth": { + "type": "string", + "description": "Country where the individual was born" + }, + "deathDate": { + "type": "string", + "format": "date-time", + "description": "Date of death" + }, + "familyName": { + "type": "string", + "description": "Contains the non-chosen or inherited name. Also known as last name in the Western context" + }, + "familyNamePrefix": { + "type": "string", + "description": "Family name prefix" + }, + "formattedName": { + "type": "string", + "description": "A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean,\u2026)" + }, + "fullName": { + "type": "string", + "description": "Full name flatten (first, middle, and last names)" + }, + "gender": { + "type": "string", + "description": "Gender" + }, + "generation": { + "type": "string", + "description": "e.g.. Sr, Jr, III (the third),\u2026" + }, + "givenName": { + "type": "string", + "description": "First name of the individual" + }, + "legalName": { + "type": "string", + "description": "Legal name or birth name (name one has for official purposes)" + }, + "location": { + "type": "string", + "description": "Temporary current location od the individual (may be used if the individual has approved its sharing)" + }, + "maritalStatus": { + "type": "string", + "description": "Marital status (married, divorced, widow ...)" + }, + "middleName": { + "type": "string", + "description": "Middles name or initial" + }, + "nationality": { + "type": "string", + "description": "Nationality" + }, + "placeOfBirth": { + "type": "string", + "description": "Reference to the place where the individual was born" + }, + "preferredGivenName": { + "type": "string", + "description": "Contains the chosen name by which the individual prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname" + }, + "title": { + "type": "string", + "description": "Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ..." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditRating": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyCreditProfile" + } + }, + "disability": { + "type": "array", + "items": { + "$ref": "#/definitions/Disability" + } + }, + "externalReference": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalReference" + } + }, + "individualIdentification": { + "type": "array", + "items": { + "$ref": "#/definitions/IndividualIdentification" + } + }, + "languageAbility": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageAbility" + } + }, + "otherName": { + "type": "array", + "items": { + "$ref": "#/definitions/OtherNameIndividual" + } + }, + "partyCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "skill": { + "type": "array", + "items": { + "$ref": "#/definitions/Skill" + } + }, + "status": { + "$ref": "#/definitions/IndividualStateType", + "description": "Status of the individual" + }, + "taxExemptionCertificate": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxExemptionCertificate" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Individual_Create": { + "type": "object", + "description": "Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about.\nSkipped properties: id,href", + "required": [ + "givenName", + "familyName" + ], + "properties": { + "aristocraticTitle": { + "type": "string", + "description": "e.g. Baron, Graf, Earl,\u2026" + }, + "birthDate": { + "type": "string", + "format": "date-time", + "description": "Birth date" + }, + "countryOfBirth": { + "type": "string", + "description": "Country where the individual was born" + }, + "deathDate": { + "type": "string", + "format": "date-time", + "description": "Date of death" + }, + "familyName": { + "type": "string", + "description": "Contains the non-chosen or inherited name. Also known as last name in the Western context" + }, + "familyNamePrefix": { + "type": "string", + "description": "Family name prefix" + }, + "formattedName": { + "type": "string", + "description": "A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean,\u2026)" + }, + "fullName": { + "type": "string", + "description": "Full name flatten (first, middle, and last names)" + }, + "gender": { + "type": "string", + "description": "Gender" + }, + "generation": { + "type": "string", + "description": "e.g.. Sr, Jr, III (the third),\u2026" + }, + "givenName": { + "type": "string", + "description": "First name of the individual" + }, + "legalName": { + "type": "string", + "description": "Legal name or birth name (name one has for official purposes)" + }, + "location": { + "type": "string", + "description": "Temporary current location od the individual (may be used if the individual has approved its sharing)" + }, + "maritalStatus": { + "type": "string", + "description": "Marital status (married, divorced, widow ...)" + }, + "middleName": { + "type": "string", + "description": "Middles name or initial" + }, + "nationality": { + "type": "string", + "description": "Nationality" + }, + "placeOfBirth": { + "type": "string", + "description": "Reference to the place where the individual was born" + }, + "preferredGivenName": { + "type": "string", + "description": "Contains the chosen name by which the individual prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname" + }, + "title": { + "type": "string", + "description": "Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ..." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditRating": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyCreditProfile" + } + }, + "disability": { + "type": "array", + "items": { + "$ref": "#/definitions/Disability" + } + }, + "externalReference": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalReference" + } + }, + "individualIdentification": { + "type": "array", + "items": { + "$ref": "#/definitions/IndividualIdentification" + } + }, + "languageAbility": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageAbility" + } + }, + "otherName": { + "type": "array", + "items": { + "$ref": "#/definitions/OtherNameIndividual" + } + }, + "partyCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "skill": { + "type": "array", + "items": { + "$ref": "#/definitions/Skill" + } + }, + "status": { + "$ref": "#/definitions/IndividualStateType", + "description": "Status of the individual" + }, + "taxExemptionCertificate": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxExemptionCertificate" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Individual_Update": { + "type": "object", + "description": "Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about.\nSkipped properties: id,href", + "properties": { + "aristocraticTitle": { + "type": "string", + "description": "e.g. Baron, Graf, Earl,\u2026" + }, + "birthDate": { + "type": "string", + "format": "date-time", + "description": "Birth date" + }, + "countryOfBirth": { + "type": "string", + "description": "Country where the individual was born" + }, + "deathDate": { + "type": "string", + "format": "date-time", + "description": "Date of death" + }, + "familyName": { + "type": "string", + "description": "Contains the non-chosen or inherited name. Also known as last name in the Western context" + }, + "familyNamePrefix": { + "type": "string", + "description": "Family name prefix" + }, + "formattedName": { + "type": "string", + "description": "A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean,\u2026)" + }, + "fullName": { + "type": "string", + "description": "Full name flatten (first, middle, and last names)" + }, + "gender": { + "type": "string", + "description": "Gender" + }, + "generation": { + "type": "string", + "description": "e.g.. Sr, Jr, III (the third),\u2026" + }, + "givenName": { + "type": "string", + "description": "First name of the individual" + }, + "legalName": { + "type": "string", + "description": "Legal name or birth name (name one has for official purposes)" + }, + "location": { + "type": "string", + "description": "Temporary current location od the individual (may be used if the individual has approved its sharing)" + }, + "maritalStatus": { + "type": "string", + "description": "Marital status (married, divorced, widow ...)" + }, + "middleName": { + "type": "string", + "description": "Middles name or initial" + }, + "nationality": { + "type": "string", + "description": "Nationality" + }, + "placeOfBirth": { + "type": "string", + "description": "Reference to the place where the individual was born" + }, + "preferredGivenName": { + "type": "string", + "description": "Contains the chosen name by which the individual prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname" + }, + "title": { + "type": "string", + "description": "Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ..." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditRating": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyCreditProfile" + } + }, + "disability": { + "type": "array", + "items": { + "$ref": "#/definitions/Disability" + } + }, + "externalReference": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalReference" + } + }, + "individualIdentification": { + "type": "array", + "items": { + "$ref": "#/definitions/IndividualIdentification" + } + }, + "languageAbility": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageAbility" + } + }, + "otherName": { + "type": "array", + "items": { + "$ref": "#/definitions/OtherNameIndividual" + } + }, + "partyCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "skill": { + "type": "array", + "items": { + "$ref": "#/definitions/Skill" + } + }, + "status": { + "$ref": "#/definitions/IndividualStateType", + "description": "Status of the individual" + }, + "taxExemptionCertificate": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxExemptionCertificate" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "IndividualIdentification": { + "type": "object", + "description": "Represents our registration of information used as proof of identity by an individual (passport, national identity card, drivers license, social security number, birth certificate)", + "properties": { + "identificationId": { + "type": "string", + "description": "Identifier" + }, + "identificationType": { + "type": "string", + "description": "Identification type (passport, national identity card, drivers license, social security number, birth certificate)" + }, + "issuingAuthority": { + "type": "string", + "description": "Authority which has issued the identifier, such as: social security, town hall" + }, + "issuingDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the identifier was issued" + }, + "attachment": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the identification information is valid." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "IndividualStateType": { + "type": "string", + "description": "Valid values for the lifecycle state of the individual", + "enum": [ + "initialized", + "validated", + "deceaded" + ] + }, + "LanguageAbility": { + "type": "object", + "description": "Ability of an individual to understand or converse in a language.", + "properties": { + "isFavouriteLanguage": { + "type": "boolean", + "description": "A \u201ctrue\u201d value specifies whether the language is considered by the individual as his favourite one" + }, + "languageCode": { + "type": "string", + "description": "Language code (RFC 5646)" + }, + "languageName": { + "type": "string", + "description": "Language name" + }, + "listeningProficiency": { + "type": "string", + "description": "Listening proficiency evaluated for this language" + }, + "readingProficiency": { + "type": "string", + "description": "Reading proficiency evaluated for this language" + }, + "speakingProficiency": { + "type": "string", + "description": "Speaking proficiency evaluated for this language" + }, + "writingProficiency": { + "type": "string", + "description": "Writing proficiency evaluated for this language" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "MediumCharacteristic": { + "type": "object", + "description": "Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)", + "properties": { + "city": { + "type": "string", + "description": "The city" + }, + "contactType": { + "type": "string", + "description": "The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation\u2026" + }, + "country": { + "type": "string", + "description": "The country" + }, + "emailAddress": { + "type": "string", + "description": "Full email address in standard format" + }, + "faxNumber": { + "type": "string", + "description": "The fax number of the contact" + }, + "phoneNumber": { + "type": "string", + "description": "The primary phone number of the contact" + }, + "postCode": { + "type": "string", + "description": "Postcode" + }, + "socialNetworkId": { + "type": "string", + "description": "Identifier as a member of a social network" + }, + "stateOrProvince": { + "type": "string", + "description": "State or province" + }, + "street1": { + "type": "string", + "description": "Describes the street" + }, + "street2": { + "type": "string", + "description": "Complementary street description" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Organization": { + "type": "object", + "description": "Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the organization" + }, + "href": { + "type": "string", + "description": "Hyperlink to access the organization" + }, + "isHeadOffice": { + "type": "boolean", + "description": "If value is true, the organization is the head office" + }, + "isLegalEntity": { + "type": "boolean", + "description": "If value is true, the organization is a legal entity known by a national referential." + }, + "name": { + "type": "string", + "description": "Organization name (department name for example)" + }, + "nameType": { + "type": "string", + "description": "Type of the name : Co, Inc, Ltd,\u2026" + }, + "organizationType": { + "type": "string", + "description": "Type of Organization (company, department...)" + }, + "tradingName": { + "type": "string", + "description": "Name that the organization (unit) trades under" + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditRating": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyCreditProfile" + } + }, + "existsDuring": { + "$ref": "#/definitions/TimePeriod" + }, + "externalReference": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalReference" + } + }, + "organizationChildRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationChildRelationship" + } + }, + "organizationIdentification": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationIdentification" + } + }, + "organizationParentRelationship": { + "$ref": "#/definitions/OrganizationParentRelationship" + }, + "otherName": { + "type": "array", + "items": { + "$ref": "#/definitions/OtherNameOrganization" + } + }, + "partyCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/OrganizationStateType", + "description": "Status of the organization" + }, + "taxExemptionCertificate": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxExemptionCertificate" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Organization_Create": { + "type": "object", + "description": "Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data.\nSkipped properties: id,href", + "required": [ + "tradingName" + ], + "properties": { + "isHeadOffice": { + "type": "boolean", + "description": "If value is true, the organization is the head office" + }, + "isLegalEntity": { + "type": "boolean", + "description": "If value is true, the organization is a legal entity known by a national referential." + }, + "name": { + "type": "string", + "description": "Organization name (department name for example)" + }, + "nameType": { + "type": "string", + "description": "Type of the name : Co, Inc, Ltd,\u2026" + }, + "organizationType": { + "type": "string", + "description": "Type of Organization (company, department...)" + }, + "tradingName": { + "type": "string", + "description": "Name that the organization (unit) trades under" + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditRating": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyCreditProfile" + } + }, + "existsDuring": { + "$ref": "#/definitions/TimePeriod" + }, + "externalReference": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalReference" + } + }, + "organizationChildRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationChildRelationship" + } + }, + "organizationIdentification": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationIdentification" + } + }, + "organizationParentRelationship": { + "$ref": "#/definitions/OrganizationParentRelationship" + }, + "otherName": { + "type": "array", + "items": { + "$ref": "#/definitions/OtherNameOrganization" + } + }, + "partyCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/OrganizationStateType", + "description": "Status of the organization" + }, + "taxExemptionCertificate": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxExemptionCertificate" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Organization_Update": { + "type": "object", + "description": "Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data.\nSkipped properties: id,href", + "properties": { + "isHeadOffice": { + "type": "boolean", + "description": "If value is true, the organization is the head office" + }, + "isLegalEntity": { + "type": "boolean", + "description": "If value is true, the organization is a legal entity known by a national referential." + }, + "name": { + "type": "string", + "description": "Organization name (department name for example)" + }, + "nameType": { + "type": "string", + "description": "Type of the name : Co, Inc, Ltd,\u2026" + }, + "organizationType": { + "type": "string", + "description": "Type of Organization (company, department...)" + }, + "tradingName": { + "type": "string", + "description": "Name that the organization (unit) trades under" + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditRating": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyCreditProfile" + } + }, + "existsDuring": { + "$ref": "#/definitions/TimePeriod" + }, + "externalReference": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalReference" + } + }, + "organizationChildRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationChildRelationship" + } + }, + "organizationIdentification": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationIdentification" + } + }, + "organizationParentRelationship": { + "$ref": "#/definitions/OrganizationParentRelationship" + }, + "otherName": { + "type": "array", + "items": { + "$ref": "#/definitions/OtherNameOrganization" + } + }, + "partyCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/OrganizationStateType", + "description": "Status of the organization" + }, + "taxExemptionCertificate": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxExemptionCertificate" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OrganizationChildRelationship": { + "type": "object", + "description": "Child references of an organization in a structure of organizations.", + "properties": { + "relationshipType": { + "type": "string", + "description": "Type of the relationship. Could be juridical, hierarchical, geographical, functional for example." + }, + "organization": { + "$ref": "#/definitions/OrganizationRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OrganizationIdentification": { + "type": "object", + "description": "Represents our registration of information used as proof of identity by an organization", + "properties": { + "identificationId": { + "type": "string", + "description": "Identifier" + }, + "identificationType": { + "type": "string", + "description": "Type of identification information used to identify the company in a country or internationally" + }, + "issuingAuthority": { + "type": "string", + "description": "Authority which has issued the identifier (chamber of commerce...)" + }, + "issuingDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the identifier was issued" + }, + "attachment": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the identification information is valid." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OrganizationParentRelationship": { + "type": "object", + "description": "Parent references of an organization in a structure of organizations.", + "properties": { + "relationshipType": { + "type": "string", + "description": "Type of the relationship. Could be juridical, hierarchical, geographical, functional for example." + }, + "organization": { + "$ref": "#/definitions/OrganizationRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OrganizationRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "OrganizationStateType": { + "type": "string", + "description": "Valid values for the lifecycle state of the organization", + "enum": [ + "initialized", + "validated", + "closed" + ] + }, + "OtherNameIndividual": { + "type": "object", + "description": "Keeps track of other names, for example the old name of a woman before marriage or an artist name.", + "properties": { + "aristocraticTitle": { + "type": "string", + "description": "e.g. Baron, Graf, Earl,\u2026" + }, + "familyName": { + "type": "string", + "description": "Contains the non-chosen or inherited name. Also known as last name in the Western context" + }, + "familyNamePrefix": { + "type": "string", + "description": "Family name prefix" + }, + "formattedName": { + "type": "string", + "description": ". A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean,\u2026)" + }, + "fullName": { + "type": "string", + "description": "Full name flatten (first, middle, and last names)" + }, + "generation": { + "type": "string", + "description": "e.g. Sr, Jr\u2026" + }, + "givenName": { + "type": "string", + "description": "First name" + }, + "legalName": { + "type": "string", + "description": "Legal name or birth name (name one has for official purposes)" + }, + "middleName": { + "type": "string", + "description": "Middle name or initial" + }, + "preferredGivenName": { + "type": "string", + "description": "Contains the chosen name by which the person prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname" + }, + "title": { + "type": "string", + "description": "Use for titles (aristrocatic, social, ...): Pr, Dr, Sir,...." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OtherNameOrganization": { + "type": "object", + "description": "Keeps track of other names, for example the old name of an organization.", + "properties": { + "name": { + "type": "string", + "description": "Organization name (department name for example)" + }, + "nameType": { + "type": "string", + "description": "Co. , Inc. , Ltd. , Pty Ltd. , Plc; , Gmbh" + }, + "tradingName": { + "type": "string", + "description": "The name that the organization trades under" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Party": { + "type": "object", + "description": "Generic Party structure used to define commonalities between sub concepts of Individual and Organization.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the organization" + }, + "href": { + "type": "string", + "description": "Hyperlink to access the organization" + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditRating": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyCreditProfile" + } + }, + "externalReference": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalReference" + } + }, + "partyCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "taxExemptionCertificate": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxExemptionCertificate" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PartyCreditProfile": { + "type": "object", + "description": "An individual might be evaluated for its worthiness and this evaluation might be based on a credit rating given by a credit agency.", + "properties": { + "creditAgencyName": { + "type": "string", + "description": "Name of the credit agency giving the score" + }, + "creditAgencyType": { + "type": "string", + "description": "Type of the credit agency giving the score" + }, + "ratingReference": { + "type": "string", + "description": "Reference corresponding to the credit rating" + }, + "ratingScore": { + "type": "integer", + "description": "A measure of a party\u2019s creditworthiness calculated on the basis of a combination of factors such as their income and credit history" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Skill": { + "type": "object", + "description": "Skills evaluated for an individual with a level and possibly with a limited validity when an obsolescence is defined (Ex: the first-aid certificate first level is limited to one year and an update training is required each year to keep the level).", + "properties": { + "comment": { + "type": "string", + "description": "A free text comment linked to the evaluation done" + }, + "evaluatedLevel": { + "type": "string", + "description": "Level of expertise in a skill evaluated for an individual" + }, + "skillCode": { + "type": "string", + "description": "Code of the skill" + }, + "skillName": { + "type": "string", + "description": "Name of the skill such as Java language,\u2026" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "TaxDefinition": { + "type": "object", + "description": "Reference of a tax definition. A tax is levied by an authorized tax jurisdiction. There are many different types of tax (Federal Tax levied by the US Government, State Tax levied by the State of California,\u2026).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the tax." + }, + "name": { + "type": "string", + "description": "Tax name." + }, + "taxType": { + "type": "string", + "description": "Type of the tax." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "TaxExemptionCertificate": { + "type": "object", + "description": "A tax exemption certificate represents a tax exemption granted to a party (individual or organization) by a tax jurisdiction which may be a city, state, country,... An exemption has a certificate identifier (received from the jurisdiction that levied the tax) and a validity period. An exemption is per tax types and determines for each type of tax what portion of the tax is exempted (partial by percentage or complete) via the tax definition.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the certificate of the tax exemption" + }, + "attachment": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "taxDefinition": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxDefinition" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "EventSubscription": { + "required": [ + "id", + "callback" + ], + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "required": [ + "callback" + ], + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "OrganizationCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/OrganizationCreateEventPayload" + } + } + }, + "OrganizationCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "organization": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Organization" + } + } + }, + "OrganizationAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/OrganizationAttributeValueChangeEventPayload" + } + } + }, + "OrganizationAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "organization": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Organization" + } + } + }, + "OrganizationStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/OrganizationStateChangeEventPayload" + } + } + }, + "OrganizationStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "organization": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Organization" + } + } + }, + "OrganizationDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/OrganizationDeleteEventPayload" + } + } + }, + "OrganizationDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "organization": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Organization" + } + } + }, + "IndividualCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/IndividualCreateEventPayload" + } + } + }, + "IndividualCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "individual": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Individual" + } + } + }, + "IndividualAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/IndividualAttributeValueChangeEventPayload" + } + } + }, + "IndividualAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "individual": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Individual" + } + } + }, + "IndividualStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/IndividualStateChangeEventPayload" + } + } + }, + "IndividualStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "individual": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Individual" + } + } + }, + "IndividualDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "description": "Time of the event occurrence.", + "format": "date-time" + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "timeOcurred": { + "type": "string", + "description": "The time the event occured.", + "format": "date-time" + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/IndividualDeleteEventPayload" + } + } + }, + "IndividualDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "individual": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Individual" + } + } + }, + "Error": { + "required": [ + "code", + "reason" + ], + "type": "object", + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "description": "URI of documentation describing the error.", + "format": "uri" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships", + "format": "uri" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/party-role/api.json b/api/tm-forum/party-role/api.json new file mode 100644 index 00000000..09bd6009 --- /dev/null +++ b/api/tm-forum/party-role/api.json @@ -0,0 +1,1814 @@ +{ + "swagger": "2.0", + "info": { + "title": "Party Role Management", + "description": "This is Swagger UI environment generated for the TMF Party Role Management specification", + "version": "4.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/partyRoleManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "partyRole" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/partyRole": { + "get": { + "operationId": "listPartyRole", + "summary": "List or find PartyRole objects", + "description": "This operation list or find PartyRole entities", + "tags": [ + "partyRole" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PartyRole" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createPartyRole", + "summary": "Creates a PartyRole", + "description": "This operation creates a PartyRole entity.", + "tags": [ + "partyRole" + ], + "parameters": [ + { + "name": "partyRole", + "description": "The PartyRole to be created", + "required": true, + "schema": { + "$ref": "#/definitions/PartyRole_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PartyRole" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/partyRole/{id}": { + "get": { + "operationId": "retrievePartyRole", + "summary": "Retrieves a PartyRole by ID", + "description": "This operation retrieves a PartyRole entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "partyRole" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the PartyRole", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PartyRole" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchPartyRole", + "summary": "Updates partially a PartyRole", + "description": "This operation updates partially a PartyRole entity.", + "tags": [ + "partyRole" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the PartyRole", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "partyRole", + "description": "The PartyRole to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/PartyRole_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/PartyRole" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deletePartyRole", + "summary": "Deletes a PartyRole", + "description": "This operation deletes a PartyRole entity.", + "tags": [ + "partyRole" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the PartyRole", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/partyRoleCreateEvent": { + "post": { + "operationId": "listenToPartyRoleCreateEvent", + "summary": "Client listener for entity PartyRoleCreateEvent", + "description": "Example of a client listener for receiving the notification PartyRoleCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/PartyRoleCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/partyRoleAttributeValueChangeEvent": { + "post": { + "operationId": "listenToPartyRoleAttributeValueChangeEvent", + "summary": "Client listener for entity PartyRoleAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification PartyRoleAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/PartyRoleAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/partyRoleStateChangeEvent": { + "post": { + "operationId": "listenToPartyRoleStateChangeEvent", + "summary": "Client listener for entity PartyRoleStateChangeEvent", + "description": "Example of a client listener for receiving the notification PartyRoleStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/PartyRoleStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/partyRoleDeleteEvent": { + "post": { + "operationId": "listenToPartyRoleDeleteEvent", + "summary": "Client listener for entity PartyRoleDeleteEvent", + "description": "Example of a client listener for receiving the notification PartyRoleDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/PartyRoleDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "AccountRef": { + "type": "object", + "description": "Account reference. A account may be a party account or a financial account.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the account" + }, + "href": { + "type": "string", + "description": "Reference of the account" + }, + "description": { + "type": "string", + "description": "Detailed description of the account" + }, + "name": { + "type": "string", + "description": "Name of the account" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "AgreementRef": { + "type": "object", + "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the agreement" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Any": {}, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ContactMedium": { + "type": "object", + "description": "Indicates the contact medium that could be used to contact the party.", + "required": [ + "mediumType", + "characteristic" + ], + "properties": { + "mediumType": { + "type": "string", + "description": "Type of the contact medium, such as: email address, telephone number, postal address" + }, + "preferred": { + "type": "boolean", + "description": "If true, indicates that is the preferred contact medium" + }, + "characteristic": { + "$ref": "#/definitions/MediumCharacteristic", + "description": "Any additional characteristic(s) of this contact medium" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the contact medium is valid for" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CreditProfile": { + "type": "object", + "description": "Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one.", + "required": [ + "creditProfileDate", + "validFor" + ], + "properties": { + "creditProfileDate": { + "type": "string", + "format": "date-time", + "description": "The date the profile was established" + }, + "creditRiskRating": { + "type": "integer", + "description": "This is an integer whose value is used to rate the risk" + }, + "creditScore": { + "type": "integer", + "description": "A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the profile is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "MediumCharacteristic": { + "type": "object", + "description": "Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)", + "properties": { + "city": { + "type": "string", + "description": "The city" + }, + "contactType": { + "type": "string", + "description": "The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation\u2026" + }, + "country": { + "type": "string", + "description": "The country" + }, + "emailAddress": { + "type": "string", + "description": "Full email address in standard format" + }, + "faxNumber": { + "type": "string", + "description": "The fax number of the contact" + }, + "phoneNumber": { + "type": "string", + "description": "The primary phone number of the contact" + }, + "postCode": { + "type": "string", + "description": "Postcode" + }, + "socialNetworkId": { + "type": "string", + "description": "Identifier as a member of a social network" + }, + "stateOrProvince": { + "type": "string", + "description": "State or province" + }, + "street1": { + "type": "string", + "description": "Describes the street" + }, + "street2": { + "type": "string", + "description": "Complementary street description" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PartyRole": { + "type": "object", + "description": "The part played by a party in a given context.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for PartyRoles" + }, + "href": { + "type": "string", + "description": "Url used to reference the party role." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles." + }, + "status": { + "type": "string", + "description": "Used to track the lifecycle status of the party role." + }, + "statusReason": { + "type": "string", + "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." + }, + "account": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRef" + } + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Describes the characteristic of a party role." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditProfile": { + "type": "array", + "items": { + "$ref": "#/definitions/CreditProfile" + } + }, + "engagedParty": { + "$ref": "#/definitions/RelatedParty" + }, + "paymentMethod": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethodRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the PartyRole is valid for." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PartyRole_Create": { + "type": "object", + "description": "The part played by a party in a given context.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles." + }, + "status": { + "type": "string", + "description": "Used to track the lifecycle status of the party role." + }, + "statusReason": { + "type": "string", + "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." + }, + "account": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRef" + } + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Describes the characteristic of a party role." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditProfile": { + "type": "array", + "items": { + "$ref": "#/definitions/CreditProfile" + } + }, + "engagedParty": { + "$ref": "#/definitions/RelatedParty" + }, + "paymentMethod": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethodRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the PartyRole is valid for." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PartyRole_Update": { + "type": "object", + "description": "The part played by a party in a given context.\nSkipped properties: id,href", + "properties": { + "name": { + "type": "string", + "description": "A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles." + }, + "status": { + "type": "string", + "description": "Used to track the lifecycle status of the party role." + }, + "statusReason": { + "type": "string", + "description": "A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection." + }, + "account": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountRef" + } + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + } + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Describes the characteristic of a party role." + }, + "contactMedium": { + "type": "array", + "items": { + "$ref": "#/definitions/ContactMedium" + } + }, + "creditProfile": { + "type": "array", + "items": { + "$ref": "#/definitions/CreditProfile" + } + }, + "engagedParty": { + "$ref": "#/definitions/RelatedParty" + }, + "paymentMethod": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethodRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The time period that the PartyRole is valid for." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PaymentMethodRef": { + "type": "object", + "description": "PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the payment mean" + }, + "href": { + "type": "string", + "description": "Reference of the payment mean" + }, + "name": { + "type": "string", + "description": "Name of the payment mean" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "PartyRoleCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/PartyRoleCreateEventPayload" + } + } + }, + "PartyRoleCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "partyRole": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/PartyRole" + } + } + }, + "PartyRoleAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/PartyRoleAttributeValueChangeEventPayload" + } + } + }, + "PartyRoleAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "partyRole": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/PartyRole" + } + } + }, + "PartyRoleStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/PartyRoleStateChangeEventPayload" + } + } + }, + "PartyRoleStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "partyRole": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/PartyRole" + } + } + }, + "PartyRoleDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the resource involved in the event" + }, + "href": { + "type": "string", + "description": "Reference of the resource involved in the event" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explanatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/PartyRoleDeleteEventPayload" + } + } + }, + "PartyRoleDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "partyRole": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/PartyRole" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/product-catalog/api.json b/api/tm-forum/product-catalog/api.json new file mode 100644 index 00000000..5113dbe7 --- /dev/null +++ b/api/tm-forum/product-catalog/api.json @@ -0,0 +1,9210 @@ +{ + "swagger": "2.0", + "info": { + "title": "Product Catalog Management", + "description": "## TMF API Reference: TMF620 - Product Catalog Management\n\n### Release : 20.5 - March 2021\n\nProduct Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. \n\n### Operations\nProduct Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events", + "version": "4.1.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/productCatalogManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "catalog" + }, + { + "name": "category" + }, + { + "name": "productOffering" + }, + { + "name": "productOfferingPrice" + }, + { + "name": "productSpecification" + }, + { + "name": "importJob" + }, + { + "name": "exportJob" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/catalog": { + "get": { + "operationId": "listCatalog", + "summary": "List or find Catalog objects", + "description": "This operation list or find Catalog entities", + "tags": [ + "catalog" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Catalog" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createCatalog", + "summary": "Creates a Catalog", + "description": "This operation creates a Catalog entity.", + "tags": [ + "catalog" + ], + "parameters": [ + { + "name": "catalog", + "description": "The Catalog to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Catalog_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/catalog/{id}": { + "get": { + "operationId": "retrieveCatalog", + "summary": "Retrieves a Catalog by ID", + "description": "This operation retrieves a Catalog entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "catalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Catalog", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchCatalog", + "summary": "Updates partially a Catalog", + "description": "This operation updates partially a Catalog entity.", + "tags": [ + "catalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Catalog", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "catalog", + "description": "The Catalog to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/Catalog_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteCatalog", + "summary": "Deletes a Catalog", + "description": "This operation deletes a Catalog entity.", + "tags": [ + "catalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Catalog", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/category": { + "get": { + "operationId": "listCategory", + "summary": "List or find Category objects", + "description": "This operation list or find Category entities", + "tags": [ + "category" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Category" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createCategory", + "summary": "Creates a Category", + "description": "This operation creates a Category entity.", + "tags": [ + "category" + ], + "parameters": [ + { + "name": "category", + "description": "The Category to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Category_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Category" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/category/{id}": { + "get": { + "operationId": "retrieveCategory", + "summary": "Retrieves a Category by ID", + "description": "This operation retrieves a Category entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "category" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Category", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Category" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchCategory", + "summary": "Updates partially a Category", + "description": "This operation updates partially a Category entity.", + "tags": [ + "category" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Category", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "category", + "description": "The Category to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/Category_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Category" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteCategory", + "summary": "Deletes a Category", + "description": "This operation deletes a Category entity.", + "tags": [ + "category" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Category", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/productOffering": { + "get": { + "operationId": "listProductOffering", + "summary": "List or find ProductOffering objects", + "description": "This operation list or find ProductOffering entities", + "tags": [ + "productOffering" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOffering" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createProductOffering", + "summary": "Creates a ProductOffering", + "description": "This operation creates a ProductOffering entity.", + "tags": [ + "productOffering" + ], + "parameters": [ + { + "name": "productOffering", + "description": "The ProductOffering to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ProductOffering_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProductOffering" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/productOffering/{id}": { + "get": { + "operationId": "retrieveProductOffering", + "summary": "Retrieves a ProductOffering by ID", + "description": "This operation retrieves a ProductOffering entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "productOffering" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOffering", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProductOffering" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchProductOffering", + "summary": "Updates partially a ProductOffering", + "description": "This operation updates partially a ProductOffering entity.", + "tags": [ + "productOffering" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOffering", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "productOffering", + "description": "The ProductOffering to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ProductOffering_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ProductOffering" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteProductOffering", + "summary": "Deletes a ProductOffering", + "description": "This operation deletes a ProductOffering entity.", + "tags": [ + "productOffering" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOffering", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/productOfferingPrice": { + "get": { + "operationId": "listProductOfferingPrice", + "summary": "List or find ProductOfferingPrice objects", + "description": "This operation list or find ProductOfferingPrice entities", + "tags": [ + "productOfferingPrice" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingPrice" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createProductOfferingPrice", + "summary": "Creates a ProductOfferingPrice", + "description": "This operation creates a ProductOfferingPrice entity.", + "tags": [ + "productOfferingPrice" + ], + "parameters": [ + { + "name": "productOfferingPrice", + "description": "The ProductOfferingPrice to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ProductOfferingPrice_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProductOfferingPrice" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/productOfferingPrice/{id}": { + "get": { + "operationId": "retrieveProductOfferingPrice", + "summary": "Retrieves a ProductOfferingPrice by ID", + "description": "This operation retrieves a ProductOfferingPrice entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "productOfferingPrice" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOfferingPrice", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProductOfferingPrice" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchProductOfferingPrice", + "summary": "Updates partially a ProductOfferingPrice", + "description": "This operation updates partially a ProductOfferingPrice entity.", + "tags": [ + "productOfferingPrice" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOfferingPrice", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "productOfferingPrice", + "description": "The ProductOfferingPrice to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ProductOfferingPrice_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ProductOfferingPrice" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteProductOfferingPrice", + "summary": "Deletes a ProductOfferingPrice", + "description": "This operation deletes a ProductOfferingPrice entity.", + "tags": [ + "productOfferingPrice" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOfferingPrice", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/productSpecification": { + "get": { + "operationId": "listProductSpecification", + "summary": "List or find ProductSpecification objects", + "description": "This operation list or find ProductSpecification entities", + "tags": [ + "productSpecification" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecification" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createProductSpecification", + "summary": "Creates a ProductSpecification", + "description": "This operation creates a ProductSpecification entity.", + "tags": [ + "productSpecification" + ], + "parameters": [ + { + "name": "productSpecification", + "description": "The ProductSpecification to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ProductSpecification_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProductSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/productSpecification/{id}": { + "get": { + "operationId": "retrieveProductSpecification", + "summary": "Retrieves a ProductSpecification by ID", + "description": "This operation retrieves a ProductSpecification entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "productSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProductSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchProductSpecification", + "summary": "Updates partially a ProductSpecification", + "description": "This operation updates partially a ProductSpecification entity.", + "tags": [ + "productSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "productSpecification", + "description": "The ProductSpecification to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ProductSpecification_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ProductSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteProductSpecification", + "summary": "Deletes a ProductSpecification", + "description": "This operation deletes a ProductSpecification entity.", + "tags": [ + "productSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductSpecification", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/importJob": { + "get": { + "operationId": "listImportJob", + "summary": "List or find ImportJob objects", + "description": "This operation list or find ImportJob entities", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ImportJob" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createImportJob", + "summary": "Creates a ImportJob", + "description": "This operation creates a ImportJob entity.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "importJob", + "description": "The ImportJob to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ImportJob_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ImportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/importJob/{id}": { + "get": { + "operationId": "retrieveImportJob", + "summary": "Retrieves a ImportJob by ID", + "description": "This operation retrieves a ImportJob entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ImportJob", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ImportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteImportJob", + "summary": "Deletes a ImportJob", + "description": "This operation deletes a ImportJob entity.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ImportJob", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/exportJob": { + "get": { + "operationId": "listExportJob", + "summary": "List or find ExportJob objects", + "description": "This operation list or find ExportJob entities", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ExportJob" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createExportJob", + "summary": "Creates a ExportJob", + "description": "This operation creates a ExportJob entity.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "exportJob", + "description": "The ExportJob to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ExportJob_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ExportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/exportJob/{id}": { + "get": { + "operationId": "retrieveExportJob", + "summary": "Retrieves a ExportJob by ID", + "description": "This operation retrieves a ExportJob entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ExportJob", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ExportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteExportJob", + "summary": "Deletes a ExportJob", + "description": "This operation deletes a ExportJob entity.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ExportJob", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/catalogCreateEvent": { + "post": { + "operationId": "listenToCatalogCreateEvent", + "summary": "Client listener for entity CatalogCreateEvent", + "description": "Example of a client listener for receiving the notification CatalogCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CatalogCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/catalogAttributeValueChangeEvent": { + "post": { + "operationId": "listenToCatalogAttributeValueChangeEvent", + "summary": "Client listener for entity CatalogAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification CatalogAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CatalogAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/catalogStateChangeEvent": { + "post": { + "operationId": "listenToCatalogStateChangeEvent", + "summary": "Client listener for entity CatalogStateChangeEvent", + "description": "Example of a client listener for receiving the notification CatalogStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CatalogStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/catalogDeleteEvent": { + "post": { + "operationId": "listenToCatalogDeleteEvent", + "summary": "Client listener for entity CatalogDeleteEvent", + "description": "Example of a client listener for receiving the notification CatalogDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CatalogDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/catalogBatchEvent": { + "post": { + "operationId": "listenToCatalogBatchEvent", + "summary": "Client listener for entity CatalogBatchEvent", + "description": "Example of a client listener for receiving the notification CatalogBatchEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CatalogBatchEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/categoryCreateEvent": { + "post": { + "operationId": "listenToCategoryCreateEvent", + "summary": "Client listener for entity CategoryCreateEvent", + "description": "Example of a client listener for receiving the notification CategoryCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CategoryCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/categoryAttributeValueChangeEvent": { + "post": { + "operationId": "listenToCategoryAttributeValueChangeEvent", + "summary": "Client listener for entity CategoryAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification CategoryAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CategoryAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/categoryStateChangeEvent": { + "post": { + "operationId": "listenToCategoryStateChangeEvent", + "summary": "Client listener for entity CategoryStateChangeEvent", + "description": "Example of a client listener for receiving the notification CategoryStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CategoryStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/categoryDeleteEvent": { + "post": { + "operationId": "listenToCategoryDeleteEvent", + "summary": "Client listener for entity CategoryDeleteEvent", + "description": "Example of a client listener for receiving the notification CategoryDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CategoryDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingCreateEvent": { + "post": { + "operationId": "listenToProductOfferingCreateEvent", + "summary": "Client listener for entity ProductOfferingCreateEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingAttributeValueChangeEvent": { + "post": { + "operationId": "listenToProductOfferingAttributeValueChangeEvent", + "summary": "Client listener for entity ProductOfferingAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingStateChangeEvent": { + "post": { + "operationId": "listenToProductOfferingStateChangeEvent", + "summary": "Client listener for entity ProductOfferingStateChangeEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingDeleteEvent": { + "post": { + "operationId": "listenToProductOfferingDeleteEvent", + "summary": "Client listener for entity ProductOfferingDeleteEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingPriceCreateEvent": { + "post": { + "operationId": "listenToProductOfferingPriceCreateEvent", + "summary": "Client listener for entity ProductOfferingPriceCreateEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingPriceCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingPriceCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingPriceAttributeValueChangeEvent": { + "post": { + "operationId": "listenToProductOfferingPriceAttributeValueChangeEvent", + "summary": "Client listener for entity ProductOfferingPriceAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingPriceAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingPriceAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingPriceStateChangeEvent": { + "post": { + "operationId": "listenToProductOfferingPriceStateChangeEvent", + "summary": "Client listener for entity ProductOfferingPriceStateChangeEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingPriceStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingPriceStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOfferingPriceDeleteEvent": { + "post": { + "operationId": "listenToProductOfferingPriceDeleteEvent", + "summary": "Client listener for entity ProductOfferingPriceDeleteEvent", + "description": "Example of a client listener for receiving the notification ProductOfferingPriceDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOfferingPriceDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productSpecificationCreateEvent": { + "post": { + "operationId": "listenToProductSpecificationCreateEvent", + "summary": "Client listener for entity ProductSpecificationCreateEvent", + "description": "Example of a client listener for receiving the notification ProductSpecificationCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductSpecificationCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productSpecificationAttributeValueChangeEvent": { + "post": { + "operationId": "listenToProductSpecificationAttributeValueChangeEvent", + "summary": "Client listener for entity ProductSpecificationAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ProductSpecificationAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductSpecificationAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productSpecificationStateChangeEvent": { + "post": { + "operationId": "listenToProductSpecificationStateChangeEvent", + "summary": "Client listener for entity ProductSpecificationStateChangeEvent", + "description": "Example of a client listener for receiving the notification ProductSpecificationStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductSpecificationStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productSpecificationDeleteEvent": { + "post": { + "operationId": "listenToProductSpecificationDeleteEvent", + "summary": "Client listener for entity ProductSpecificationDeleteEvent", + "description": "Example of a client listener for receiving the notification ProductSpecificationDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductSpecificationDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Addressable": { + "type": "object", + "description": "Base schema for adressable entities", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + } + } + }, + "AgreementRef": { + "type": "object", + "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the agreement" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Any": {}, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "format": "uri", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "format": "uri", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "BundledProductOffering": { + "type": "object", + "description": "A type of ProductOffering that belongs to a grouping of ProductOfferings made available to the market. It inherits of all attributes of ProductOffering.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the BundledProductOffering" + }, + "href": { + "type": "string", + "description": "Unique reference of the BundledProductOffering" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the BundledProductOffering" + }, + "bundledProductOfferingOption": { + "$ref": "#/definitions/BundledProductOfferingOption", + "description": "A set of numbers that specifies the lower and upper limits for a ProductOffering that can be procured as part of the related BundledProductOffering. Values can range from 0 to unbounded." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "BundledProductOfferingOption": { + "type": "object", + "description": "A set of numbers that specifies the lower and upper limits for a ProductOffering that can be procured as part of the related BundledProductOffering. Values can range from 0 to unbounded", + "properties": { + "numberRelOfferDefault": { + "type": "integer", + "description": "Default number of produc offereings that should be procured as part of the related BundledProductOffering" + }, + "numberRelOfferLowerLimit": { + "type": "integer", + "description": "lower limit for a product offering that can be procured as part of the related BundledProductOffering" + }, + "numberRelOfferUpperLimit": { + "type": "integer", + "description": "upper limit for a product offering that can be procured as part of the related BundledProductOffering" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "BundledProductOfferingPriceRelationship": { + "type": "object", + "description": "This represents a bundling pricing relationship, allowing a price to be composed of multiple other prices (e.g. a recurring charge and a onetime charge).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the bundled product offering price" + }, + "href": { + "type": "string", + "description": "hyperlink reference of the bundled product offering price" + }, + "name": { + "type": "string", + "description": "Name of the bundled product offering price" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "BundledProductSpecification": { + "type": "object", + "description": "A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the product specification" + }, + "href": { + "type": "string", + "description": "Reference of the product specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the product specification" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Catalog": { + "type": "object", + "description": "A collection of Product Offerings, intended for a specific DistributionChannel, enhanced with additional information such as SLA parameters, invoicing and shipping details", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the Catalog" + }, + "href": { + "type": "string", + "description": "Unique reference of the catalog" + }, + "catalogType": { + "type": "string", + "description": "Indicates if the catalog is a product, service or resource catalog" + }, + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the catalog" + }, + "version": { + "type": "string", + "description": "Catalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "List of root categories contained in this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this catalog" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Catalog_Create": { + "type": "object", + "description": "A collection of Product Offerings, intended for a specific DistributionChannel, enhanced with additional information such as SLA parameters, invoicing and shipping details\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "catalogType": { + "type": "string", + "description": "Indicates if the catalog is a product, service or resource catalog" + }, + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the catalog" + }, + "version": { + "type": "string", + "description": "Catalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "List of root categories contained in this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this catalog" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Catalog_Update": { + "type": "object", + "description": "A collection of Product Offerings, intended for a specific DistributionChannel, enhanced with additional information such as SLA parameters, invoicing and shipping details\nSkipped properties: id,href,lastUpdate,@type,@baseType", + "properties": { + "catalogType": { + "type": "string", + "description": "Indicates if the catalog is a product, service or resource catalog" + }, + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the catalog" + }, + "version": { + "type": "string", + "description": "Catalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "List of root categories contained in this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this catalog" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the catalog is valid" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + } + } + }, + "Category": { + "type": "object", + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the category" + }, + "href": { + "type": "string", + "description": "Reference of the category" + }, + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "Category version" + }, + "productOffering": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "description": "A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information." + }, + "subCategory": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other (sub-)categories and/or product offerings." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Category_Create": { + "type": "object", + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "Category version" + }, + "productOffering": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "description": "A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information." + }, + "subCategory": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other (sub-)categories and/or product offerings." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Category_Update": { + "type": "object", + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates.\nSkipped properties: id,href,lastUpdate,@type,@baseType", + "properties": { + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "Category version" + }, + "productOffering": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "description": "A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information." + }, + "subCategory": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other (sub-)categories and/or product offerings." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + } + } + }, + "CategoryRef": { + "type": "object", + "description": "The category for grouping recommendations", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Category version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ChannelRef": { + "type": "object", + "description": "The channel to which the resource reference to. e.g. channel for selling product offerings, channel for opening a trouble ticket etc..", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the channel." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "CharacteristicSpecificationBase": { + "type": "object", + "description": "This class defines a characteristic specification.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "CharacteristicValueSpecification": { + "type": "object", + "description": "specification of a value (number or text or an object) that can be assigned to a Characteristic.", + "properties": { + "isDefault": { + "type": "boolean", + "description": "If true, the Boolean Indicates if the value is the default value for a characteristic" + }, + "rangeInterval": { + "type": "string", + "description": "An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are \"open\", \"closed\", \"closedBottom\" and \"closedTop\"." + }, + "regex": { + "type": "string", + "description": "A regular expression constraint for given value" + }, + "unitOfMeasure": { + "type": "string", + "description": "A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot." + }, + "valueFrom": { + "type": "integer", + "description": "The low range value that a characteristic can take on" + }, + "valueTo": { + "type": "integer", + "description": "The upper range value that a characteristic can take on" + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic value can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a value is applicable." + }, + "value": { + "$ref": "#/definitions/Any", + "description": "A discrete value that the characteristic can take on, or the actual value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ConstraintRef": { + "type": "object", + "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "constraint version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Duration": { + "type": "object", + "description": "A time interval in a given unit of time", + "properties": { + "amount": { + "type": "integer", + "description": "Time interval (number of seconds, minutes, hours, etc.)" + }, + "units": { + "type": "string", + "description": "Unit of time (seconds, minutes, hours, etc.)" + } + } + }, + "Entity": { + "type": "object", + "description": "Base entity schema for use in TMForum Open-APIs", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ExportJob": { + "type": "object", + "description": "Represents a task used to export resources to a file", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the export job" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference of the export job" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Data at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "The format of the exported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure" + }, + "path": { + "type": "string", + "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job" + }, + "query": { + "type": "string", + "description": "Used to scope the exported data" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be exported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the export job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ExportJob_Create": { + "type": "object", + "description": "Represents a task used to export resources to a file\nSkipped properties: id,href", + "required": [ + "url" + ], + "properties": { + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Data at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "The format of the exported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure" + }, + "path": { + "type": "string", + "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job" + }, + "query": { + "type": "string", + "description": "Used to scope the exported data" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be exported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the export job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Extensible": { + "type": "object", + "description": "Base Extensible schema for use in TMForum Open-APIs", + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ImportJob": { + "type": "object", + "description": "Represents a task used to import resources from a file", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the import job" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference of the import job" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "Indicates the format of the imported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure if status is failed" + }, + "path": { + "type": "string", + "description": "URL of the root resource where the content of the file specified by the import job must be applied" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be imported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the import job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ImportJob_Create": { + "type": "object", + "description": "Represents a task used to import resources from a file\nSkipped properties: id,href", + "required": [ + "url" + ], + "properties": { + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "Indicates the format of the imported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure if status is failed" + }, + "path": { + "type": "string", + "description": "URL of the root resource where the content of the file specified by the import job must be applied" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be imported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the import job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "JobStateType": { + "type": "string", + "description": "Valid values for the state of a batch job (e.g. catalog import)", + "enum": [ + "Not Started", + "Running", + "Succeeded", + "Failed" + ] + }, + "MarketSegmentRef": { + "type": "object", + "description": "provides references to the corresponding market segment as target of product offerings. A market segment is grouping of Parties, GeographicAreas, SalesChannels, and so forth.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the market segment" + }, + "href": { + "type": "string", + "description": "Reference of the market segment" + }, + "name": { + "type": "string", + "description": "Name of the market segment" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "(Class) type of the referred market segment" + } + }, + "required": [ + "id" + ] + }, + "Money": { + "type": "object", + "description": "A base / value business entity used to represent money", + "properties": { + "unit": { + "type": "string", + "description": "Currency (ISO4217 norm uses 3 letters to define the currency)" + }, + "value": { + "type": "number", + "format": "float", + "description": "A positive floating point number" + } + } + }, + "POPAlteration": { + "type": "object", + "description": "Is an amount, usually of money, that modifies the price charged for an order item.", + "required": [ + "price", + "priceType" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail the semantics of this order item price alteration" + }, + "name": { + "type": "string", + "description": "Name given to this price alteration" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price such as recurring, one time and usage." + }, + "priority": { + "type": "integer", + "description": "Priority level for applying this alteration among all the defined alterations on the order item price" + }, + "recurringChargePeriod": { + "type": "string", + "description": "Could be month, week..." + }, + "applicationDuration": { + "$ref": "#/definitions/Duration", + "description": "The period for which the productOfferingPriceAlteration is applicable" + }, + "price": { + "$ref": "#/definitions/ProductPriceValue" + }, + "unitOfMeasure": { + "$ref": "#/definitions/Quantity", + "description": "A number and unit representing denominator of an alteration rate. For example, for a data discount rate of $1 per 20 GB usage, the amount of unitOfMeasure will be 20 with units as GB." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this productOfferingPriceAlteration is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "POPCharge": { + "type": "object", + "description": "This is representing a product offering price (charge) based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (a Product Offering Price that reflects an alteration).", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the productOfferingPrice" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "the last update time of this ProductOfferingPrice" + }, + "lifecycleStatus": { + "type": "string", + "description": "the lifecycle status of this ProductOfferingPrice" + }, + "name": { + "type": "string", + "description": "Name of the productOfferingPrice" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price charge, such as recurring, penalty, One time fee and so forth." + }, + "recurringChargePeriod": { + "type": "string", + "description": "The period type to repeat the application of the price\nCould be month, week..." + }, + "recurringChargePeriodLength": { + "type": "integer", + "description": "the period of the recurring charge: 1, 2, ... .It sets to zero if it is not applicable" + }, + "version": { + "type": "string", + "description": "ProductOffering version" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "The Constraint resource represents a policy/rule applied to ProductOfferingPrice." + }, + "price": { + "$ref": "#/definitions/ProductPriceValue" + }, + "priceAlteration": { + "type": "array", + "items": { + "$ref": "#/definitions/POPAlteration" + } + }, + "unitOfMeasure": { + "$ref": "#/definitions/Quantity", + "description": "A number and unit representing denominator of a rate. For example, for a data charge rate of $2 per 5 GB usage, the amount of unitOfMeasure will be 5 with units as GB." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOfferingPrice is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "PlaceRef": { + "type": "object", + "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "PricingLogicAlgorithm": { + "type": "object", + "description": "The PricingLogicAlgorithm entity represents an instantiation of an interface specification to external rating function (without a modeled bahavior in SID). Some of the parameters of the interface definiition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from ProductCharacteristicValues (such as assigned bandwidth)", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the PricingLogicAlgorithm" + }, + "name": { + "type": "string", + "description": "Name given to the PricingLogicAlgorithm" + }, + "plaSpecId": { + "type": "string", + "description": "id of corresponding PricingLogicAlgorithm specification" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the PricingLogicAlgorithm is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductOffering": { + "type": "object", + "description": "Represents entities that are orderable from the provider of the catalog, this resource includes pricing information.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the productOffering" + }, + "href": { + "type": "string", + "description": "Reference of the ProductOffering" + }, + "description": { + "type": "string", + "description": "Description of the productOffering" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether a productOffering represents a single productOffering (false), or a bundle of productOfferings (true)." + }, + "isSellable": { + "type": "boolean", + "description": "A flag indicating if this product offer can be sold stand-alone for sale or not. If this flag is false it indicates that the offer can only be sold within a bundle." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the productOffering" + }, + "statusReason": { + "type": "string", + "description": "A string providing a complementary information on the value of the lifecycle status attribute." + }, + "version": { + "type": "string", + "description": "ProductOffering version" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + }, + "description": "An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a product) through video, pictures..." + }, + "bundledProductOffering": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductOffering" + }, + "description": "A type of ProductOffering that belongs to a grouping of ProductOfferings made available to the market. It inherits of all attributes of ProductOffering." + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates." + }, + "channel": { + "type": "array", + "items": { + "$ref": "#/definitions/ChannelRef" + }, + "description": "The channel defines the channel for selling product offerings." + }, + "marketSegment": { + "type": "array", + "items": { + "$ref": "#/definitions/MarketSegmentRef" + }, + "description": "provides references to the corresponding market segment as target of product offerings. A market segment is grouping of Parties, GeographicAreas, SalesChannels, and so forth." + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/PlaceRef" + }, + "description": "Place defines the places where the products are sold or delivered." + }, + "prodSpecCharValueUse": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse" + }, + "description": "A use of the ProductSpecificationCharacteristicValue by a ProductOffering to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering level. For example, a characteristic 'Color' might have values White, Blue, Green, and Red. But, the list of values can be restricted to e.g. White and Blue in an associated product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse' is a strict subset of the list of values as defined in the corresponding product specification characteristics." + }, + "productOfferingPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingPriceRefOrValue" + }, + "description": "An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time and may not represent the actual price paid by a customer." + }, + "productOfferingRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingRelationship" + }, + "description": "A relationship between this product offering and other product offerings." + }, + "productOfferingTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingTerm" + }, + "description": "A condition under which a ProductOffering is made available to Customers. For instance, a productOffering can be offered with multiple commitment periods." + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef", + "description": "A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role." + }, + "resourceCandidate": { + "$ref": "#/definitions/ResourceCandidateRef", + "description": "A resource candidate is an entity that makes a ResourceSpecification available to a catalog." + }, + "serviceCandidate": { + "$ref": "#/definitions/ServiceCandidateRef", + "description": "ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog." + }, + "serviceLevelAgreement": { + "$ref": "#/definitions/SLARef", + "description": "A service level agreement (SLA) is a type of agreement that represents a formal negotiated agreement between two parties designed to create a common understanding about products, services, priorities, responsibilities, and so forth. The SLA is a set of appropriate procedures and targets formally or informally agreed between parties in order to achieve and maintain specified Quality of Service." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOffering is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductOffering_Create": { + "type": "object", + "description": "Represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the productOffering" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether a productOffering represents a single productOffering (false), or a bundle of productOfferings (true)." + }, + "isSellable": { + "type": "boolean", + "description": "A flag indicating if this product offer can be sold stand-alone for sale or not. If this flag is false it indicates that the offer can only be sold within a bundle." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the productOffering" + }, + "statusReason": { + "type": "string", + "description": "A string providing a complementary information on the value of the lifecycle status attribute." + }, + "version": { + "type": "string", + "description": "ProductOffering version" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + }, + "description": "An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a product) through video, pictures..." + }, + "bundledProductOffering": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductOffering" + }, + "description": "A type of ProductOffering that belongs to a grouping of ProductOfferings made available to the market. It inherits of all attributes of ProductOffering." + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates." + }, + "channel": { + "type": "array", + "items": { + "$ref": "#/definitions/ChannelRef" + }, + "description": "The channel defines the channel for selling product offerings." + }, + "marketSegment": { + "type": "array", + "items": { + "$ref": "#/definitions/MarketSegmentRef" + }, + "description": "provides references to the corresponding market segment as target of product offerings. A market segment is grouping of Parties, GeographicAreas, SalesChannels, and so forth." + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/PlaceRef" + }, + "description": "Place defines the places where the products are sold or delivered." + }, + "prodSpecCharValueUse": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse" + }, + "description": "A use of the ProductSpecificationCharacteristicValue by a ProductOffering to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering level. For example, a characteristic 'Color' might have values White, Blue, Green, and Red. But, the list of values can be restricted to e.g. White and Blue in an associated product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse' is a strict subset of the list of values as defined in the corresponding product specification characteristics." + }, + "productOfferingPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingPriceRefOrValue" + }, + "description": "An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time and may not represent the actual price paid by a customer." + }, + "productOfferingRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingRelationship" + }, + "description": "A relationship between this product offering and other product offerings." + }, + "productOfferingTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingTerm" + }, + "description": "A condition under which a ProductOffering is made available to Customers. For instance, a productOffering can be offered with multiple commitment periods." + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef", + "description": "A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role." + }, + "resourceCandidate": { + "$ref": "#/definitions/ResourceCandidateRef", + "description": "A resource candidate is an entity that makes a ResourceSpecification available to a catalog." + }, + "serviceCandidate": { + "$ref": "#/definitions/ServiceCandidateRef", + "description": "ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog." + }, + "serviceLevelAgreement": { + "$ref": "#/definitions/SLARef", + "description": "A service level agreement (SLA) is a type of agreement that represents a formal negotiated agreement between two parties designed to create a common understanding about products, services, priorities, responsibilities, and so forth. The SLA is a set of appropriate procedures and targets formally or informally agreed between parties in order to achieve and maintain specified Quality of Service." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOffering is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductOffering_Update": { + "type": "object", + "description": "Represents entities that are orderable from the provider of the catalog, this resource includes pricing information.\nSkipped properties: id,href,lastUpdate,@type,@baseType", + "properties": { + "description": { + "type": "string", + "description": "Description of the productOffering" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether a productOffering represents a single productOffering (false), or a bundle of productOfferings (true)." + }, + "isSellable": { + "type": "boolean", + "description": "A flag indicating if this product offer can be sold stand-alone for sale or not. If this flag is false it indicates that the offer can only be sold within a bundle." + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the productOffering" + }, + "statusReason": { + "type": "string", + "description": "A string providing a complementary information on the value of the lifecycle status attribute." + }, + "version": { + "type": "string", + "description": "ProductOffering version" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + }, + "description": "An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a product) through video, pictures..." + }, + "bundledProductOffering": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductOffering" + }, + "description": "A type of ProductOffering that belongs to a grouping of ProductOfferings made available to the market. It inherits of all attributes of ProductOffering." + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/CategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other categories and/or product offerings, resource or service candidates." + }, + "channel": { + "type": "array", + "items": { + "$ref": "#/definitions/ChannelRef" + }, + "description": "The channel defines the channel for selling product offerings." + }, + "marketSegment": { + "type": "array", + "items": { + "$ref": "#/definitions/MarketSegmentRef" + }, + "description": "provides references to the corresponding market segment as target of product offerings. A market segment is grouping of Parties, GeographicAreas, SalesChannels, and so forth." + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/PlaceRef" + }, + "description": "Place defines the places where the products are sold or delivered." + }, + "prodSpecCharValueUse": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse" + }, + "description": "A use of the ProductSpecificationCharacteristicValue by a ProductOffering to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering level. For example, a characteristic 'Color' might have values White, Blue, Green, and Red. But, the list of values can be restricted to e.g. White and Blue in an associated product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse' is a strict subset of the list of values as defined in the corresponding product specification characteristics." + }, + "productOfferingPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingPriceRefOrValue" + }, + "description": "An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time and may not represent the actual price paid by a customer." + }, + "productOfferingRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingRelationship" + }, + "description": "A relationship between this product offering and other product offerings." + }, + "productOfferingTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingTerm" + }, + "description": "A condition under which a ProductOffering is made available to Customers. For instance, a productOffering can be offered with multiple commitment periods." + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef", + "description": "A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role." + }, + "resourceCandidate": { + "$ref": "#/definitions/ResourceCandidateRef", + "description": "A resource candidate is an entity that makes a ResourceSpecification available to a catalog." + }, + "serviceCandidate": { + "$ref": "#/definitions/ServiceCandidateRef", + "description": "ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog." + }, + "serviceLevelAgreement": { + "$ref": "#/definitions/SLARef", + "description": "A service level agreement (SLA) is a type of agreement that represents a formal negotiated agreement between two parties designed to create a common understanding about products, services, priorities, responsibilities, and so forth. The SLA is a set of appropriate procedures and targets formally or informally agreed between parties in order to achieve and maintain specified Quality of Service." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOffering is valid" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + } + } + }, + "ProductOfferingPrice": { + "type": "object", + "description": "Is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (a Product Offering Price that reflects an alteration). The price, applied for a productOffering may also be influenced by the productOfferingTerm, the customer selected, eg: a productOffering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this productOfferingTerm. A productOffering may be cheaper with a 24 month commitment than with a 12 month commitment.", + "properties": { + "id": { + "type": "string", + "description": "unique id of this resource" + }, + "href": { + "type": "string", + "description": "Reference of the ProductOfferingPrice" + }, + "description": { + "type": "string", + "description": "Description of the productOfferingPrice" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicating if this ProductOfferingPrice is composite (bundle) or not" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "the last update time of this ProductOfferingPrice" + }, + "lifecycleStatus": { + "type": "string", + "description": "the lifecycle status of this ProductOfferingPrice" + }, + "name": { + "type": "string", + "description": "Name of the productOfferingPrice" + }, + "percentage": { + "type": "number", + "format": "float", + "description": "Percentage to apply if this Product Offering Price is an Alteration (such as a Discount)" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth." + }, + "recurringChargePeriodLength": { + "type": "integer", + "description": "the period of the recurring charge: 1, 2, ... .It sets to zero if it is not applicable" + }, + "recurringChargePeriodType": { + "type": "string", + "description": "The period to repeat the application of the price\nCould be month, week..." + }, + "version": { + "type": "string", + "description": "ProductOfferingPrice version" + }, + "bundledPopRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductOfferingPriceRelationship" + }, + "description": "this object represents a bundle relationship from a bundle product offering price (parent) to a simple product offering price (child). A simple product offering price may participate in more than one bundle relationship." + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "The Constraint resource represents a policy/rule applied to ProductOfferingPrice." + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/PlaceRef" + }, + "description": "Place defines the places where the products are sold or delivered." + }, + "popRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingPriceRelationship" + }, + "description": "Product Offering Prices related to this Product Offering Price, for example a price alteration such as allowance or discount" + }, + "price": { + "$ref": "#/definitions/Money", + "description": "The amount of money that characterizes the price." + }, + "pricingLogicAlgorithm": { + "type": "array", + "items": { + "$ref": "#/definitions/PricingLogicAlgorithm" + }, + "description": "The PricingLogicAlgorithm entity represents an instantiation of an interface specification to external rating function (without a modeled behavior in SID). Some of the parameters of the interface definition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from ProductCharacteristicValues (such as assigned bandwidth)." + }, + "prodSpecCharValueUse": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse" + }, + "description": "A use of the ProductSpecificationCharacteristicValue by a ProductOfferingPrice to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering and ProcuctOfferingPrice level. The list of values in ProductSpecificationCharacteristicValueUse is a strict subset of the list of values as defined in the corresponding product specification characteristics." + }, + "productOfferingTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingTerm" + }, + "description": "A list of conditions under which a ProductOfferingPrice is made available to Customers. For instance, a Product Offering Price can be offered with multiple commitment periods." + }, + "tax": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxItem" + }, + "description": "An amount of money levied on the price of a Product by a legislative body." + }, + "unitOfMeasure": { + "$ref": "#/definitions/Quantity", + "description": "A number and unit representing how many (for instance 1 dozen) of an ProductOffering is available at the offered price. Its meaning depends on the priceType. It could be a price, a rate, or a discount." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOfferingPrice is valid" + }, + "@baseType": { + "type": "string", + "description": "the immediate base class type of this product offering price" + }, + "@schemaLocation": { + "type": "string", + "description": "hyperlink reference to the schema describing this resource" + }, + "@type": { + "type": "string", + "description": "The class type of this Product offering price" + } + } + }, + "ProductOfferingPrice_Create": { + "type": "object", + "description": "Is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (a Product Offering Price that reflects an alteration). The price, applied for a productOffering may also be influenced by the productOfferingTerm, the customer selected, eg: a productOffering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this productOfferingTerm. A productOffering may be cheaper with a 24 month commitment than with a 12 month commitment.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the productOfferingPrice" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicating if this ProductOfferingPrice is composite (bundle) or not" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "the last update time of this ProductOfferingPrice" + }, + "lifecycleStatus": { + "type": "string", + "description": "the lifecycle status of this ProductOfferingPrice" + }, + "name": { + "type": "string", + "description": "Name of the productOfferingPrice" + }, + "percentage": { + "type": "number", + "format": "float", + "description": "Percentage to apply if this Product Offering Price is an Alteration (such as a Discount)" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth." + }, + "recurringChargePeriodLength": { + "type": "integer", + "description": "the period of the recurring charge: 1, 2, ... .It sets to zero if it is not applicable" + }, + "recurringChargePeriodType": { + "type": "string", + "description": "The period to repeat the application of the price\nCould be month, week..." + }, + "version": { + "type": "string", + "description": "ProductOfferingPrice version" + }, + "bundledPopRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductOfferingPriceRelationship" + }, + "description": "this object represents a bundle relationship from a bundle product offering price (parent) to a simple product offering price (child). A simple product offering price may participate in more than one bundle relationship." + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "The Constraint resource represents a policy/rule applied to ProductOfferingPrice." + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/PlaceRef" + }, + "description": "Place defines the places where the products are sold or delivered." + }, + "popRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingPriceRelationship" + }, + "description": "Product Offering Prices related to this Product Offering Price, for example a price alteration such as allowance or discount" + }, + "price": { + "$ref": "#/definitions/Money", + "description": "The amount of money that characterizes the price." + }, + "pricingLogicAlgorithm": { + "type": "array", + "items": { + "$ref": "#/definitions/PricingLogicAlgorithm" + }, + "description": "The PricingLogicAlgorithm entity represents an instantiation of an interface specification to external rating function (without a modeled behavior in SID). Some of the parameters of the interface definition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from ProductCharacteristicValues (such as assigned bandwidth)." + }, + "prodSpecCharValueUse": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse" + }, + "description": "A use of the ProductSpecificationCharacteristicValue by a ProductOfferingPrice to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering and ProcuctOfferingPrice level. The list of values in ProductSpecificationCharacteristicValueUse is a strict subset of the list of values as defined in the corresponding product specification characteristics." + }, + "productOfferingTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingTerm" + }, + "description": "A list of conditions under which a ProductOfferingPrice is made available to Customers. For instance, a Product Offering Price can be offered with multiple commitment periods." + }, + "tax": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxItem" + }, + "description": "An amount of money levied on the price of a Product by a legislative body." + }, + "unitOfMeasure": { + "$ref": "#/definitions/Quantity", + "description": "A number and unit representing how many (for instance 1 dozen) of an ProductOffering is available at the offered price. Its meaning depends on the priceType. It could be a price, a rate, or a discount." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOfferingPrice is valid" + }, + "@baseType": { + "type": "string", + "description": "the immediate base class type of this product offering price" + }, + "@schemaLocation": { + "type": "string", + "description": "hyperlink reference to the schema describing this resource" + }, + "@type": { + "type": "string", + "description": "The class type of this Product offering price" + } + } + }, + "ProductOfferingPrice_Update": { + "type": "object", + "description": "Is based on both the basic cost to develop and produce products and the enterprises policy on revenue targets. This price may be further revised through discounting (a Product Offering Price that reflects an alteration). The price, applied for a productOffering may also be influenced by the productOfferingTerm, the customer selected, eg: a productOffering can be offered with multiple terms, like commitment periods for the contract. The price may be influenced by this productOfferingTerm. A productOffering may be cheaper with a 24 month commitment than with a 12 month commitment.\nSkipped properties: id,href,lastUpdate,@type,@baseType", + "properties": { + "description": { + "type": "string", + "description": "Description of the productOfferingPrice" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicating if this ProductOfferingPrice is composite (bundle) or not" + }, + "lifecycleStatus": { + "type": "string", + "description": "the lifecycle status of this ProductOfferingPrice" + }, + "name": { + "type": "string", + "description": "Name of the productOfferingPrice" + }, + "percentage": { + "type": "number", + "format": "float", + "description": "Percentage to apply if this Product Offering Price is an Alteration (such as a Discount)" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth." + }, + "recurringChargePeriodLength": { + "type": "integer", + "description": "the period of the recurring charge: 1, 2, ... .It sets to zero if it is not applicable" + }, + "recurringChargePeriodType": { + "type": "string", + "description": "The period to repeat the application of the price\nCould be month, week..." + }, + "version": { + "type": "string", + "description": "ProductOfferingPrice version" + }, + "bundledPopRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductOfferingPriceRelationship" + }, + "description": "this object represents a bundle relationship from a bundle product offering price (parent) to a simple product offering price (child). A simple product offering price may participate in more than one bundle relationship." + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "The Constraint resource represents a policy/rule applied to ProductOfferingPrice." + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/PlaceRef" + }, + "description": "Place defines the places where the products are sold or delivered." + }, + "popRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingPriceRelationship" + }, + "description": "Product Offering Prices related to this Product Offering Price, for example a price alteration such as allowance or discount" + }, + "price": { + "$ref": "#/definitions/Money", + "description": "The amount of money that characterizes the price." + }, + "pricingLogicAlgorithm": { + "type": "array", + "items": { + "$ref": "#/definitions/PricingLogicAlgorithm" + }, + "description": "The PricingLogicAlgorithm entity represents an instantiation of an interface specification to external rating function (without a modeled behavior in SID). Some of the parameters of the interface definition may be already set (such as price per unit) and some may be gathered during the rating process from the event (such as call duration) or from ProductCharacteristicValues (such as assigned bandwidth)." + }, + "prodSpecCharValueUse": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristicValueUse" + }, + "description": "A use of the ProductSpecificationCharacteristicValue by a ProductOfferingPrice to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering and ProcuctOfferingPrice level. The list of values in ProductSpecificationCharacteristicValueUse is a strict subset of the list of values as defined in the corresponding product specification characteristics." + }, + "productOfferingTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingTerm" + }, + "description": "A list of conditions under which a ProductOfferingPrice is made available to Customers. For instance, a Product Offering Price can be offered with multiple commitment periods." + }, + "tax": { + "type": "array", + "items": { + "$ref": "#/definitions/TaxItem" + }, + "description": "An amount of money levied on the price of a Product by a legislative body." + }, + "unitOfMeasure": { + "$ref": "#/definitions/Quantity", + "description": "A number and unit representing how many (for instance 1 dozen) of an ProductOffering is available at the offered price. Its meaning depends on the priceType. It could be a price, a rate, or a discount." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOfferingPrice is valid" + }, + "@schemaLocation": { + "type": "string", + "description": "hyperlink reference to the schema describing this resource" + } + } + }, + "ProductOfferingPriceRef": { + "type": "object", + "description": "ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductOfferingPriceRefOrValue": { + "type": "object", + "description": "A new product offering price being created by value or a reference to an existing product offering price that alreasy created. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product offering price and not to this ReforValue structure", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the productOfferingPrice" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "the last update time of this ProductOfferingPrice" + }, + "lifecycleStatus": { + "type": "string", + "description": "the lifecycle status of this ProductOfferingPrice" + }, + "name": { + "type": "string", + "description": "Name of the productOfferingPrice" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price charge, such as recurring, penalty, One time fee and so forth." + }, + "recurringChargePeriod": { + "type": "string", + "description": "The period type to repeat the application of the price\nCould be month, week..." + }, + "recurringChargePeriodLength": { + "type": "integer", + "description": "the period of the recurring charge: 1, 2, ... .It sets to zero if it is not applicable" + }, + "version": { + "type": "string", + "description": "ProductOffering version" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "The Constraint resource represents a policy/rule applied to ProductOfferingPrice." + }, + "price": { + "$ref": "#/definitions/ProductPriceValue" + }, + "priceAlteration": { + "type": "array", + "items": { + "$ref": "#/definitions/POPAlteration" + } + }, + "unitOfMeasure": { + "$ref": "#/definitions/Quantity", + "description": "A number and unit representing denominator of a rate. For example, for a data charge rate of $2 per 5 GB usage, the amount of unitOfMeasure will be 5 with units as GB." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOfferingPrice is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductOfferingPriceRelationship": { + "type": "object", + "description": "Describes a non-composite relationship between product offering prices. For example one price might be an discount alteration for another price.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "relationshipType": { + "type": "string", + "description": "type of the relationship, for example override, discount, etc." + }, + "role": { + "type": "string", + "description": "The association role for the source product offering price" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductOfferingRef": { + "type": "object", + "description": "ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductOfferingRelationship": { + "type": "object", + "description": "A relationship between two product Offerings.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship between product offerings such as requires, exchangableTo, optionalFor" + }, + "role": { + "type": "string", + "description": "The association role for the source product offering" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the Relationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductOfferingTerm": { + "type": "object", + "description": "A condition under which a ProductOffering is made available to Customers. For instance, a productOffering can be offered with multiple commitment periods.", + "properties": { + "description": { + "type": "string", + "description": "Description of the productOfferingTerm" + }, + "name": { + "type": "string", + "description": "Name of the productOfferingTerm" + }, + "duration": { + "$ref": "#/definitions/Duration", + "description": "Duration of the productOfferingTerm" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productOfferingTerm is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductPriceValue": { + "type": "object", + "description": "Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.", + "properties": { + "percentage": { + "type": "number", + "format": "float", + "description": "Percentage to apply for ProdOfferPriceAlteration" + }, + "taxCategory": { + "type": "string", + "description": "Tax category" + }, + "taxRate": { + "type": "number", + "format": "float", + "description": "Tax rate" + }, + "dutyFreeAmount": { + "$ref": "#/definitions/Money", + "description": "All taxes excluded amount (expressed in the given currency)" + }, + "taxIncludedAmount": { + "$ref": "#/definitions/Money", + "description": "All taxes included amount (expressed in the given currency)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductSpecification": { + "type": "object", + "description": "Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the product specification" + }, + "href": { + "type": "string", + "description": "Reference of the product specification" + }, + "brand": { + "type": "string", + "description": "The manufacturer or trademark of the specification" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail what the product specification is" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether a productSpecification represents a single productSpecification (false), or a bundle of productSpecification (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the product specification" + }, + "productNumber": { + "type": "string", + "description": "An identification number assigned to uniquely identity the specification" + }, + "version": { + "type": "string", + "description": "Product specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a product) through video, pictures..." + }, + "bundledProductSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductSpecification" + }, + "description": "A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification." + }, + "productSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ProductSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "productSpecificationRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among product specifications." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "description": "The ResourceSpecification is required to realize a ProductSpecification." + }, + "serviceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecificationRef" + }, + "description": "ServiceSpecification(s) required to realize a ProductSpecification." + }, + "targetProductSchema": { + "$ref": "#/definitions/TargetProductSchema", + "description": "A target product schema reference. The reference object to the schema and type of target product which is described by product specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the product specification is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductSpecification_Create": { + "type": "object", + "description": "Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "brand": { + "type": "string", + "description": "The manufacturer or trademark of the specification" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail what the product specification is" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether a productSpecification represents a single productSpecification (false), or a bundle of productSpecification (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the product specification" + }, + "productNumber": { + "type": "string", + "description": "An identification number assigned to uniquely identity the specification" + }, + "version": { + "type": "string", + "description": "Product specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a product) through video, pictures..." + }, + "bundledProductSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductSpecification" + }, + "description": "A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification." + }, + "productSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ProductSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "productSpecificationRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among product specifications." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "description": "The ResourceSpecification is required to realize a ProductSpecification." + }, + "serviceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecificationRef" + }, + "description": "ServiceSpecification(s) required to realize a ProductSpecification." + }, + "targetProductSchema": { + "$ref": "#/definitions/TargetProductSchema", + "description": "A target product schema reference. The reference object to the schema and type of target product which is described by product specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the product specification is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductSpecification_Update": { + "type": "object", + "description": "Is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.\nSkipped properties: id,href,lastUpdate,@type,@baseType", + "properties": { + "brand": { + "type": "string", + "description": "The manufacturer or trademark of the specification" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail what the product specification is" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether a productSpecification represents a single productSpecification (false), or a bundle of productSpecification (true)." + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the product specification" + }, + "productNumber": { + "type": "string", + "description": "An identification number assigned to uniquely identity the specification" + }, + "version": { + "type": "string", + "description": "Product specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a product) through video, pictures..." + }, + "bundledProductSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/BundledProductSpecification" + }, + "description": "A type of ProductSpecification that belongs to a grouping of ProductSpecifications made available to the market. It inherits of all attributes of ProductSpecification." + }, + "productSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ProductSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "productSpecificationRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among product specifications." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "description": "The ResourceSpecification is required to realize a ProductSpecification." + }, + "serviceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecificationRef" + }, + "description": "ServiceSpecification(s) required to realize a ProductSpecification." + }, + "targetProductSchema": { + "$ref": "#/definitions/TargetProductSchema", + "description": "A target product schema reference. The reference object to the schema and type of target product which is described by product specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the product specification is valid" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + } + } + }, + "ProductSpecificationCharacteristic": { + "type": "object", + "description": "A characteristic quality or distinctive feature of a ProductSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "productSpecCharRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductSpecificationCharacteristicRelationship" + }, + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics." + }, + "productSpecCharacteristicValue": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicValueSpecification" + }, + "description": "A ProductSpecificationCharacteristicValue object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a ProductSpecificationCharacteristic object. The values of the attributes in the ProductSpecificationCharacteristicValue object describe the values of the attributes that a corresponding ProductSpecificationCharacteristic object can take on." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "ProductSpecificationCharacteristicRelationship": { + "type": "object", + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among productSpecificationCharacteristics.", + "properties": { + "id": { + "type": "string", + "description": "the identifier of the associated product specification" + }, + "href": { + "type": "string", + "description": "Hyperlink reference to the target product specification" + }, + "charSpecSeq": { + "type": "integer", + "description": "The order in which a CharacteristicSpecification appears within another CharacteristicSpecification that defines a grouping of CharacteristicSpecifications.\n\nFor example, a grouping may represent the name of an individual. The given name is first, the middle name is second, and the last name is third." + }, + "name": { + "type": "string", + "description": "Name of the target product specification characteristic" + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productSpecificationCharacteristicRelationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductSpecificationCharacteristicValueUse": { + "type": "object", + "description": "A use of the ProductSpecificationCharacteristicValue by a ProductOffering to which additional properties (attributes) apply or override the properties of similar properties contained in ProductSpecificationCharacteristicValue. It should be noted that characteristics which their value(s) addressed by this object must exist in corresponding product specification. The available characteristic values for a ProductSpecificationCharacteristic in a Product specification can be modified at the ProductOffering level. For example, a characteristic 'Color' might have values White, Blue, Green, and Red. But, the list of values can be restricted to e.g. White and Blue in an associated product offering. It should be noted that the list of values in 'ProductSpecificationCharacteristicValueUse' is a strict subset of the list of values as defined in the corresponding product specification characteristics.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail what the productSpecificationCharacteristic is" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "Name of the associated productSpecificationCharacteristic" + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "productSpecCharacteristicValue": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicValueSpecification" + }, + "description": "A number or text that can be assigned to a ProductSpecificationCharacteristic." + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef", + "description": "A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productSpecificationCharacteristic is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductSpecificationRef": { + "type": "object", + "description": "Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Version of the product specification" + }, + "targetProductSchema": { + "$ref": "#/definitions/TargetProductSchema", + "description": "A target product schema reference. The reference object to the schema and type of target product which is described by product specification." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductSpecificationRelationship": { + "type": "object", + "description": "A migration, substitution, dependency or exclusivity relationship between/among product specifications.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as migration, substitution, dependency, exclusivity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the productSpecificationRelationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Party reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ResourceCandidateRef": { + "type": "object", + "description": "ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "the version of resource candidate" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceSpecificationRef": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "SLARef": { + "type": "object", + "description": "ServiceLevelAgreement reference: A service level agreement (SLA) is a type of agreement that represents a formal negotiated agreement between two parties designed to create a common understanding about products, services, priorities, responsibilities, and so forth. The SLA is a set of appropriate procedures and targets formally or informally agreed between parties in order to achieve and maintain specified Quality of Service.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of service level agreement" + }, + "href": { + "type": "string", + "description": "Reference of the service level agreement" + }, + "name": { + "type": "string", + "description": "Name of the service level agreement" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ServiceCandidateRef": { + "type": "object", + "description": "ServiceCandidate reference. ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Version of the service candidate" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ServiceSpecificationRef": { + "type": "object", + "description": "Service specification reference: ServiceSpecification(s) required to realize a ProductSpecification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Service specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "TargetProductSchema": { + "type": "object", + "description": "The reference object to the schema and type of target product which is described by product specification", + "required": [ + "@schemaLocation", + "@type" + ], + "properties": { + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "This field provides a link to the schema describing the target product" + }, + "@type": { + "type": "string", + "description": "Class type of the target product" + } + } + }, + "TaxItem": { + "type": "object", + "description": "A tax item is created for each tax rate and tax type used in the bill.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "taxCategory": { + "type": "string", + "description": "Tax category" + }, + "taxRate": { + "type": "number", + "format": "float", + "description": "Applied rate of the tax" + }, + "taxAmount": { + "$ref": "#/definitions/Money", + "description": "Amount of tax expressed in the given currency" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "CatalogCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CatalogCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "CatalogCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "catalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Catalog" + } + } + }, + "CatalogAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CatalogAttributeValueChangeEventPayload" + } + } + }, + "CatalogAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "catalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Catalog" + } + } + }, + "CatalogStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CatalogStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "CatalogStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "catalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Catalog" + } + } + }, + "CatalogDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CatalogDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "CatalogDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "catalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Catalog" + } + } + }, + "CatalogBatchEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CatalogBatchEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "CatalogBatchEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "catalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Catalog" + } + } + }, + "CategoryCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CategoryCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "CategoryCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "category": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Category" + } + } + }, + "CategoryAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CategoryAttributeValueChangeEventPayload" + } + } + }, + "CategoryAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "category": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Category" + } + } + }, + "CategoryStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CategoryStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "CategoryStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "category": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Category" + } + } + }, + "CategoryDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CategoryDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "CategoryDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "category": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Category" + } + } + }, + "ProductOfferingCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductOfferingCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOffering": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOffering" + } + } + }, + "ProductOfferingAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingAttributeValueChangeEventPayload" + } + } + }, + "ProductOfferingAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOffering": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOffering" + } + } + }, + "ProductOfferingStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductOfferingStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOffering": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOffering" + } + } + }, + "ProductOfferingDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductOfferingDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOffering": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOffering" + } + } + }, + "ProductOfferingPriceCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingPriceCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductOfferingPriceCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOfferingPrice": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOfferingPrice" + } + } + }, + "ProductOfferingPriceAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingPriceAttributeValueChangeEventPayload" + } + } + }, + "ProductOfferingPriceAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOfferingPrice": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOfferingPrice" + } + } + }, + "ProductOfferingPriceStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingPriceStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductOfferingPriceStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOfferingPrice": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOfferingPrice" + } + } + }, + "ProductOfferingPriceDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOfferingPriceDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductOfferingPriceDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOfferingPrice": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOfferingPrice" + } + } + }, + "ProductSpecificationCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductSpecificationCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductSpecificationCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductSpecification" + } + } + }, + "ProductSpecificationAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductSpecificationAttributeValueChangeEventPayload" + } + } + }, + "ProductSpecificationAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductSpecification" + } + } + }, + "ProductSpecificationStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductSpecificationStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductSpecificationStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductSpecification" + } + } + }, + "ProductSpecificationDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductSpecificationDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ProductSpecificationDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductSpecification" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/product-inventory/api.json b/api/tm-forum/product-inventory/api.json new file mode 100644 index 00000000..74d37b15 --- /dev/null +++ b/api/tm-forum/product-inventory/api.json @@ -0,0 +1,2751 @@ +{ + "swagger": "2.0", + "info": { + "title": "Product Inventory", + "description": "**TMF API Reference : TMF 637 - Product Inventory Management**\n\nRelease : 19.0 - June 2019\n\nThe Product Inventory Management API provides standardized mechanism for product inventory management such as creation, update and retrieval of the representation of a product in the inventory. It also allows the notification of events related to product lifecycle\n\n**Product resource**\nA product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).\n\nProduct Inventory API performs the following operations on product :\n- Retrieval of a product or a collection of products depending on filter criteria\n- Partial update of a product (including updating rules and for administration purpose)\n- Creation of a product (including default values and creation rules and for administration purpose)\n- Deletion of a product (for administration purposes)\n- Notification of events on product.\n\nCopyright \u00a9 TM Forum 2019. All Rights Reserved\n\n\n", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/productInventory/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "product" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/product": { + "get": { + "operationId": "listProduct", + "summary": "List or find Product objects", + "description": "This operation list or find Product entities", + "tags": [ + "product" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Product" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createProduct", + "summary": "Creates a Product", + "description": "This operation creates a Product entity.", + "tags": [ + "product" + ], + "parameters": [ + { + "name": "product", + "description": "The Product to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Product_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/product/{id}": { + "get": { + "operationId": "retrieveProduct", + "summary": "Retrieves a Product by ID", + "description": "This operation retrieves a Product entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "product" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Product", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchProduct", + "summary": "Updates partially a Product", + "description": "This operation updates partially a Product entity.", + "tags": [ + "product" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Product", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "product", + "description": "The Product to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/Product_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteProduct", + "summary": "Deletes a Product", + "description": "This operation deletes a Product entity.", + "tags": [ + "product" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Product", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productCreateEvent": { + "post": { + "operationId": "listenToProductCreateEvent", + "summary": "Client listener for entity ProductCreateEvent", + "description": "Example of a client listener for receiving the notification ProductCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productAttributeValueChangeEvent": { + "post": { + "operationId": "listenToProductAttributeValueChangeEvent", + "summary": "Client listener for entity ProductAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ProductAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productStateChangeEvent": { + "post": { + "operationId": "listenToProductStateChangeEvent", + "summary": "Client listener for entity ProductStateChangeEvent", + "description": "Example of a client listener for receiving the notification ProductStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productBatchEvent": { + "post": { + "operationId": "listenToProductBatchEvent", + "summary": "Client listener for entity ProductBatchEvent", + "description": "Example of a client listener for receiving the notification ProductBatchEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductBatchEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productDeleteEvent": { + "post": { + "operationId": "listenToProductDeleteEvent", + "summary": "Client listener for entity ProductDeleteEvent", + "description": "Example of a client listener for receiving the notification ProductDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "AgreementItemRef": { + "type": "object", + "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "agreementItemId": { + "type": "string", + "description": "Identifier of the agreement" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Any": {}, + "BillingAccountRef": { + "type": "object", + "description": "BillingAccount reference. A BillingAccount is a detailed description of a bill structure.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the billing account" + }, + "href": { + "type": "string", + "description": "Reference of the billing account" + }, + "name": { + "type": "string", + "description": "Name of the billing account" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Money": { + "type": "object", + "description": "A base / value business entity used to represent money", + "properties": { + "unit": { + "type": "string", + "description": "Currency (ISO4217 norm uses 3 letters to define the currency)" + }, + "value": { + "type": "number", + "format": "float", + "description": "A positive floating point number" + } + } + }, + "Place": { + "type": "object", + "description": "Place reference. Place defines the places where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PlaceRef": { + "type": "object", + "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Price": { + "type": "object", + "description": "Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.", + "properties": { + "percentage": { + "type": "number", + "format": "float", + "description": "Percentage to apply for ProdOfferPriceAlteration" + }, + "taxRate": { + "type": "number", + "format": "float", + "description": "Tax rate" + }, + "dutyFreeAmount": { + "$ref": "#/definitions/Money", + "description": "All taxes excluded amount (expressed in the given currency)" + }, + "taxIncludedAmount": { + "$ref": "#/definitions/Money", + "description": "All taxes included amount (expressed in the given currency)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PriceAlteration": { + "type": "object", + "description": "Is an amount, usually of money, that modifies the price charged for an order item.", + "required": [ + "price", + "priceType" + ], + "properties": { + "applicationDuration": { + "type": "integer", + "description": "Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail the semantics of this order item price alteration" + }, + "name": { + "type": "string", + "description": "Name of the order item price alteration" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price such as recurring, one time and usage." + }, + "priority": { + "type": "integer", + "description": "Priority level for applying this alteration among all the defined alterations on the order item price" + }, + "recurringChargePeriod": { + "type": "string", + "description": "Could be month, week..." + }, + "unitOfMeasure": { + "type": "string", + "description": "Could be minutes, GB..." + }, + "price": { + "$ref": "#/definitions/Price" + }, + "productOfferingPrice": { + "$ref": "#/definitions/ProductOfferingPriceRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Product": { + "type": "object", + "description": "A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the product" + }, + "href": { + "type": "string", + "description": "Reference of the product" + }, + "description": { + "type": "string", + "description": "Is the description of the product. It could be copied from the description of the Product Offering." + }, + "isBundle": { + "type": "boolean", + "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." + }, + "isCustomerVisible": { + "type": "boolean", + "description": "If true, the product is visible by the customer." + }, + "name": { + "type": "string", + "description": "Name of the product. It could be the same as the name of the product offering" + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was ordered" + }, + "productSerialNumber": { + "type": "string", + "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Is the date from which the product starts" + }, + "terminationDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was terminated" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItemRef" + } + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + } + }, + "product": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRefOrValue" + } + }, + "productCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "productOffering": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedProductOrderItem" + } + }, + "productPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductPrice" + } + }, + "productRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRelationship" + } + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef" + }, + "productTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductTerm" + } + }, + "realizingResource": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" + } + }, + "realizingService": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/ProductStatusType", + "description": "Is the lifecycle status of the product." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Product_Create": { + "type": "object", + "description": "A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).\nSkipped properties: id,href", + "required": [ + "status" + ], + "properties": { + "description": { + "type": "string", + "description": "Is the description of the product. It could be copied from the description of the Product Offering." + }, + "isBundle": { + "type": "boolean", + "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." + }, + "isCustomerVisible": { + "type": "boolean", + "description": "If true, the product is visible by the customer." + }, + "name": { + "type": "string", + "description": "Name of the product. It could be the same as the name of the product offering" + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was ordered" + }, + "productSerialNumber": { + "type": "string", + "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Is the date from which the product starts" + }, + "terminationDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was terminated" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItemRef" + } + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + } + }, + "product": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRefOrValue" + } + }, + "productCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "productOffering": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedProductOrderItem" + } + }, + "productPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductPrice" + } + }, + "productRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRelationship" + } + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef" + }, + "productTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductTerm" + } + }, + "realizingResource": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" + } + }, + "realizingService": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/ProductStatusType", + "description": "Is the lifecycle status of the product." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Product_Update": { + "type": "object", + "description": "A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).\nSkipped properties: id,href", + "properties": { + "description": { + "type": "string", + "description": "Is the description of the product. It could be copied from the description of the Product Offering." + }, + "isBundle": { + "type": "boolean", + "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." + }, + "isCustomerVisible": { + "type": "boolean", + "description": "If true, the product is visible by the customer." + }, + "name": { + "type": "string", + "description": "Name of the product. It could be the same as the name of the product offering" + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was ordered" + }, + "productSerialNumber": { + "type": "string", + "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Is the date from which the product starts" + }, + "terminationDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was terminated" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItemRef" + } + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + } + }, + "product": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRefOrValue" + } + }, + "productCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "productOffering": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedProductOrderItem" + } + }, + "productPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductPrice" + } + }, + "productRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRelationship" + } + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef" + }, + "productTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductTerm" + } + }, + "realizingResource": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" + } + }, + "realizingService": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/ProductStatusType", + "description": "Is the lifecycle status of the product." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductOfferingPriceRef": { + "type": "object", + "description": "ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductOfferingRef": { + "type": "object", + "description": "ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductPrice": { + "type": "object", + "description": "An amount, usually of money, that represents the actual price paid by a Customer for a purchase, a rent or a lease of a Product. The price is valid for a defined period of time.", + "required": [ + "price", + "priceType" + ], + "properties": { + "description": { + "type": "string", + "description": "A narrative that explains in detail the semantics of this product price." + }, + "name": { + "type": "string", + "description": "A short descriptive name such as \"Subscription price\"." + }, + "priceType": { + "type": "string", + "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth." + }, + "recurringChargePeriod": { + "type": "string", + "description": "Could be month, week..." + }, + "unitOfMeasure": { + "type": "string", + "description": "Could be minutes, GB..." + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "price": { + "$ref": "#/definitions/Price" + }, + "productOfferingPrice": { + "$ref": "#/definitions/ProductOfferingPriceRef" + }, + "productPriceAlteration": { + "type": "array", + "items": { + "$ref": "#/definitions/PriceAlteration" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductRefOrValue": { + "type": "object", + "description": "A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the product" + }, + "href": { + "type": "string", + "description": "Reference of the product" + }, + "description": { + "type": "string", + "description": "Is the description of the product. It could be copied from the description of the Product Offering." + }, + "isBundle": { + "type": "boolean", + "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." + }, + "isCustomerVisible": { + "type": "boolean", + "description": "If true, the product is visible by the customer." + }, + "name": { + "type": "string", + "description": "Name of the product. It could be the same as the name of the product offering" + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was ordered" + }, + "productSerialNumber": { + "type": "string", + "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Is the date from which the product starts" + }, + "terminationDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was terminated" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItemRef" + } + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + } + }, + "product": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRefOrValue" + } + }, + "productCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "productOffering": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedProductOrderItem" + } + }, + "productPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductPrice" + } + }, + "productRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRelationship" + } + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef" + }, + "productTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductTerm" + } + }, + "realizingResource": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" + } + }, + "realizingService": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/ProductStatusType", + "description": "Is the lifecycle status of the product." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductRelationship": { + "type": "object", + "description": "Linked products to the one instantiate, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful", + "required": [ + "product", + "relationshipType" + ], + "properties": { + "relationshipType": { + "type": "string", + "description": "Type of the product relationship, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful" + }, + "product": { + "$ref": "#/definitions/ProductRefOrValue" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductSpecificationRef": { + "type": "object", + "description": "Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Version of the product specification" + }, + "targetProductSchema": { + "$ref": "#/definitions/TargetProductSchema", + "description": "A target product schema reference. The reference object to the schema and type of target product which is described by product specification." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductStatusType": { + "type": "string", + "description": "Possible values for the status of the product", + "enum": [ + "created", + "pendingActive", + "cancelled", + "active", + "pendingTerminate", + "terminated", + "suspended", + "aborted " + ] + }, + "ProductTerm": { + "type": "object", + "description": "Description of a productTerm linked to this product. This represent a commitment with a duration", + "properties": { + "description": { + "type": "string", + "description": "Description of the productTerm" + }, + "name": { + "type": "string", + "description": "Name of the productTerm" + }, + "duration": { + "$ref": "#/definitions/Quantity", + "description": "Duration of the productTerm" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "productTerm validity period" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedPlaceRefOrValue": { + "type": "object", + "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself", + "required": [ + "role" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "role": { + "type": "string" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedProductOrderItem": { + "type": "object", + "description": "RelatedProductOrderItem (ProductOrder item) .The product order item which triggered product creation/change/termination.", + "required": [ + "orderItemId", + "productOrderId" + ], + "properties": { + "orderItemAction": { + "type": "string", + "description": "Action of the order item for this product" + }, + "orderItemId": { + "type": "string", + "description": "Identifier of the order item where the product was managed" + }, + "productOrderHref": { + "type": "string", + "description": "Reference of the related entity." + }, + "productOrderId": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "role": { + "type": "string", + "description": "role of the product order item for this product" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ResourceRef": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the resource" + }, + "value": { + "type": "string", + "description": "The resource value that can be used to identify a resource with a public key (e.g.: a tel nr, an msisdn)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ServiceRef": { + "type": "object", + "description": "Service reference, for when Service is used by other entities", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "TargetProductSchema": { + "type": "object", + "description": "The reference object to the schema and type of target product which is described by product specification", + "required": [ + "@schemaLocation", + "@type" + ], + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "This field provides a link to the schema describing the target product" + }, + "@type": { + "type": "string", + "description": "Class type of the target product" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "ProductCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductCreateEventPayload" + } + } + }, + "ProductCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "product": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Product" + } + } + }, + "ProductAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductAttributeValueChangeEventPayload" + } + } + }, + "ProductAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "product": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Product" + } + } + }, + "ProductStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductStateChangeEventPayload" + } + } + }, + "ProductStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "product": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Product" + } + } + }, + "ProductBatchEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductBatchEventPayload" + } + } + }, + "ProductBatchEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "product": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Product" + } + } + }, + "ProductDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductDeleteEventPayload" + } + } + }, + "ProductDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "product": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Product" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/product-ordering-management/api.json b/api/tm-forum/product-ordering-management/api.json new file mode 100644 index 00000000..bf2c53c0 --- /dev/null +++ b/api/tm-forum/product-ordering-management/api.json @@ -0,0 +1,4331 @@ +{ + "swagger": "2.0", + "info": { + "title": "Product Ordering", + "description": "**TMF API Reference : TMF 622 - Product Ordering Management**\n\n**Release : 19.0 - June 2019**\n\nThe Product Ordering API provides a standardized mechanism for placing a product order with all of the necessary order parameters. The API consists of a simple set of operations that interact with CRM/Order Negotiation systems in a consistent manner. A product order is created based on a product offer that is defined in a catalog. The product offer identifies the product or set of products that are available to a customer, and includes characteristics such as pricing, product options and market. This API provide a task based resource to request order cancellation.\n\nThe product order references the product offer and identifies any specific requests made by the customer.\n\n**Product Order resource**\nA Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa. Main Product Order attributes are its identifier, state, priority category (mass market, Enterprise, etc.) related dates (start, completion, etc.), related billing account, related parties and order items. Main Order Items (aka order lines) attributes are the ordered offering and product characteristics with the related action to be performed (e.g. add or delete the products), state, location information for delivery, order item price and price alteration.\n\nProduct Order API performs the following operations on product order :\n\n -Retrieval of a product order or a collection of product orders depending on filter criteria\n -Partial update of a product order (including updating rules)\n -Creation of a product order (including default values and creation rules)\n -Deletion of product order (for administration purposes)\n -Notification of events on product order.\n\n**cancelProductOrder resource**\nThis resource is used to request a product order cancellation.\nProduct Order API performs the following operations on product order :\n\n -Retrieval of a cancel product order or a collection of cancel product orders \n -Creation of a cancel product order \n -Notification of events on cancel product order.\n\n\nCopyright \u00a9 TM Forum 2019. All Rights Reserved\n\n\n", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/productOrderingManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "productOrder" + }, + { + "name": "cancelProductOrder" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/productOrder": { + "get": { + "operationId": "listProductOrder", + "summary": "List or find ProductOrder objects", + "description": "This operation list or find ProductOrder entities", + "tags": [ + "productOrder" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOrder" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createProductOrder", + "summary": "Creates a ProductOrder", + "description": "This operation creates a ProductOrder entity.", + "tags": [ + "productOrder" + ], + "parameters": [ + { + "name": "productOrder", + "description": "The ProductOrder to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ProductOrder_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProductOrder" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/productOrder/{id}": { + "get": { + "operationId": "retrieveProductOrder", + "summary": "Retrieves a ProductOrder by ID", + "description": "This operation retrieves a ProductOrder entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "productOrder" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOrder", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProductOrder" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchProductOrder", + "summary": "Updates partially a ProductOrder", + "description": "This operation updates partially a ProductOrder entity.", + "tags": [ + "productOrder" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOrder", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "productOrder", + "description": "The ProductOrder to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ProductOrder_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ProductOrder" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteProductOrder", + "summary": "Deletes a ProductOrder", + "description": "This operation deletes a ProductOrder entity.", + "tags": [ + "productOrder" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ProductOrder", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/cancelProductOrder": { + "get": { + "operationId": "listCancelProductOrder", + "summary": "List or find CancelProductOrder objects", + "description": "This operation list or find CancelProductOrder entities", + "tags": [ + "cancelProductOrder" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CancelProductOrder" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createCancelProductOrder", + "summary": "Creates a CancelProductOrder", + "description": "This operation creates a CancelProductOrder entity.", + "tags": [ + "cancelProductOrder" + ], + "parameters": [ + { + "name": "cancelProductOrder", + "description": "The CancelProductOrder to be created", + "required": true, + "schema": { + "$ref": "#/definitions/CancelProductOrder_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CancelProductOrder" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/cancelProductOrder/{id}": { + "get": { + "operationId": "retrieveCancelProductOrder", + "summary": "Retrieves a CancelProductOrder by ID", + "description": "This operation retrieves a CancelProductOrder entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "cancelProductOrder" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the CancelProductOrder", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CancelProductOrder" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOrderCreateEvent": { + "post": { + "operationId": "listenToProductOrderCreateEvent", + "summary": "Client listener for entity ProductOrderCreateEvent", + "description": "Example of a client listener for receiving the notification ProductOrderCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOrderCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOrderAttributeValueChangeEvent": { + "post": { + "operationId": "listenToProductOrderAttributeValueChangeEvent", + "summary": "Client listener for entity ProductOrderAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ProductOrderAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOrderAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOrderDeleteEvent": { + "post": { + "operationId": "listenToProductOrderDeleteEvent", + "summary": "Client listener for entity ProductOrderDeleteEvent", + "description": "Example of a client listener for receiving the notification ProductOrderDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOrderDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOrderStateChangeEvent": { + "post": { + "operationId": "listenToProductOrderStateChangeEvent", + "summary": "Client listener for entity ProductOrderStateChangeEvent", + "description": "Example of a client listener for receiving the notification ProductOrderStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOrderStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/productOrderInformationRequiredEvent": { + "post": { + "operationId": "listenToProductOrderInformationRequiredEvent", + "summary": "Client listener for entity ProductOrderInformationRequiredEvent", + "description": "Example of a client listener for receiving the notification ProductOrderInformationRequiredEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ProductOrderInformationRequiredEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/cancelProductOrderCreateEvent": { + "post": { + "operationId": "listenToCancelProductOrderCreateEvent", + "summary": "Client listener for entity CancelProductOrderCreateEvent", + "description": "Example of a client listener for receiving the notification CancelProductOrderCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CancelProductOrderCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/cancelProductOrderStateChangeEvent": { + "post": { + "operationId": "listenToCancelProductOrderStateChangeEvent", + "summary": "Client listener for entity CancelProductOrderStateChangeEvent", + "description": "Example of a client listener for receiving the notification CancelProductOrderStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CancelProductOrderStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/cancelProductOrderInformationRequiredEvent": { + "post": { + "operationId": "listenToCancelProductOrderInformationRequiredEvent", + "summary": "Client listener for entity CancelProductOrderInformationRequiredEvent", + "description": "Example of a client listener for receiving the notification CancelProductOrderInformationRequiredEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/CancelProductOrderInformationRequiredEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "AgreementItemRef": { + "type": "object", + "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "agreementItemId": { + "type": "string", + "description": "Identifier of the agreement" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AgreementRef": { + "type": "object", + "description": "Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the agreement" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Any": {}, + "AppointmentRef": { + "type": "object", + "description": "Refers an appointment, such as a Customer presentation or internal meeting or site visit", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the referred appointment" + }, + "href": { + "type": "string", + "description": "The reference of the appointment" + }, + "description": { + "type": "string", + "description": "An explanatory text regarding the appointment made with a party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation" + } + }, + "required": [ + "id" + ] + }, + "BillingAccountRef": { + "type": "object", + "description": "BillingAccount reference. A BillingAccount is a detailed description of a bill structure.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the billing account" + }, + "href": { + "type": "string", + "description": "Reference of the billing account" + }, + "name": { + "type": "string", + "description": "Name of the billing account" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "CancelOrder": { + "type": "object", + "description": "A Order cancel is a type of task which can be used to place a request to cancel an order", + "properties": { + "id": { + "type": "string", + "description": "id of the cancellation request (this is not an order id)" + }, + "href": { + "type": "string", + "description": "Hyperlink to access the cancellation request" + }, + "cancellationReason": { + "type": "string", + "description": "Reason why the order is cancelled." + }, + "effectiveCancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order is cancelled." + }, + "requestedCancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the submitter wants the order to be cancelled" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the cancellation request, such as Acknowledged, Rejected, InProgress, Pending and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CancelProductOrder": { + "type": "object", + "description": "Request for cancellation an existing product order", + "required": [ + "productOrder" + ], + "properties": { + "id": { + "type": "string", + "description": "id of the cancellation request (this is not an order id)" + }, + "href": { + "type": "string", + "description": "Hyperlink to access the cancellation request" + }, + "cancellationReason": { + "type": "string", + "description": "Reason why the order is cancelled." + }, + "effectiveCancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order is cancelled." + }, + "requestedCancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the submitter wants the order to be cancelled" + }, + "productOrder": { + "$ref": "#/definitions/ProductOrderRef" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the cancellation request, such as Acknowledged, Rejected, InProgress, Pending and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "CancelProductOrder_Create": { + "type": "object", + "description": "Request for cancellation an existing product order\nSkipped properties: id,href,state,effectiveCancellationDate", + "required": [ + "productOrder" + ], + "properties": { + "cancellationReason": { + "type": "string", + "description": "Reason why the order is cancelled." + }, + "requestedCancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the submitter wants the order to be cancelled" + }, + "productOrder": { + "$ref": "#/definitions/ProductOrderRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Money": { + "type": "object", + "description": "A base / value business entity used to represent money", + "properties": { + "unit": { + "type": "string", + "description": "Currency (ISO4217 norm uses 3 letters to define the currency)" + }, + "value": { + "type": "number", + "format": "float", + "description": "A positive floating point number" + } + } + }, + "Note": { + "type": "object", + "description": "Extra information about a given entity", + "required": [ + "text" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation)" + }, + "author": { + "type": "string", + "description": "Author of the note" + }, + "date": { + "type": "string", + "format": "date-time", + "description": "Date of the note" + }, + "text": { + "type": "string", + "description": "Text of the note" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OrderItemActionType": { + "type": "string", + "description": "action to be performed on the product", + "enum": [ + "add", + "modify", + "delete", + "noChange" + ] + }, + "OrderItemRelationship": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "relationshipType": { + "type": "string", + "description": "The type of order item relationship" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OrderPrice": { + "type": "object", + "description": "An amount, usually of money, that represents the actual price paid by the Customer for this item or this order", + "properties": { + "description": { + "type": "string", + "description": "A narrative that explains in detail the semantics of this order item price." + }, + "name": { + "type": "string", + "description": "A short descriptive name such as \"Subscription price\"." + }, + "priceType": { + "type": "string", + "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth" + }, + "recurringChargePeriod": { + "type": "string", + "description": "Could be month, week..." + }, + "unitOfMeasure": { + "type": "string", + "description": "Could be minutes, GB..." + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef", + "description": "A reference to a billing account used for paid the order price charge" + }, + "price": { + "$ref": "#/definitions/Price", + "description": "a structure used to define price amount" + }, + "priceAlteration": { + "type": "array", + "items": { + "$ref": "#/definitions/PriceAlteration" + }, + "description": "a strucuture used to describe a price alteration" + }, + "productOfferingPrice": { + "$ref": "#/definitions/ProductOfferingPriceRef", + "description": "An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "OrderTerm": { + "type": "object", + "description": "Description of a productTerm linked to this orderItem. This represent a commitment with a duration", + "properties": { + "description": { + "type": "string", + "description": "Description of the productOrderTerm" + }, + "name": { + "type": "string", + "description": "Name of the productOrderTerm" + }, + "duration": { + "$ref": "#/definitions/Quantity", + "description": "Duration of the productOrderTerm" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PaymentRef": { + "type": "object", + "description": "If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "A name for the payment" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Place": { + "type": "object", + "description": "Place reference. Place defines the places where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PlaceRef": { + "type": "object", + "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Price": { + "type": "object", + "description": "Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration.", + "properties": { + "percentage": { + "type": "number", + "format": "float", + "description": "Percentage to apply for ProdOfferPriceAlteration" + }, + "taxRate": { + "type": "number", + "format": "float", + "description": "Tax rate" + }, + "dutyFreeAmount": { + "$ref": "#/definitions/Money", + "description": "All taxes excluded amount (expressed in the given currency)" + }, + "taxIncludedAmount": { + "$ref": "#/definitions/Money", + "description": "All taxes included amount (expressed in the given currency)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "PriceAlteration": { + "type": "object", + "description": "Is an amount, usually of money, that modifies the price charged for an order item.", + "required": [ + "price", + "priceType" + ], + "properties": { + "applicationDuration": { + "type": "integer", + "description": "Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge)" + }, + "description": { + "type": "string", + "description": "A narrative that explains in detail the semantics of this order item price alteration" + }, + "name": { + "type": "string", + "description": "Name of the order item price alteration" + }, + "priceType": { + "type": "string", + "description": "A category that describes the price such as recurring, one time and usage." + }, + "priority": { + "type": "integer", + "description": "Priority level for applying this alteration among all the defined alterations on the order item price" + }, + "recurringChargePeriod": { + "type": "string", + "description": "Could be month, week..." + }, + "unitOfMeasure": { + "type": "string", + "description": "Could be minutes, GB..." + }, + "price": { + "$ref": "#/definitions/Price" + }, + "productOfferingPrice": { + "$ref": "#/definitions/ProductOfferingPriceRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Product": { + "type": "object", + "description": "A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the product" + }, + "href": { + "type": "string", + "description": "Reference of the product" + }, + "description": { + "type": "string", + "description": "Is the description of the product. It could be copied from the description of the Product Offering." + }, + "isBundle": { + "type": "boolean", + "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." + }, + "isCustomerVisible": { + "type": "boolean", + "description": "If true, the product is visible by the customer." + }, + "name": { + "type": "string", + "description": "Name of the product. It could be the same as the name of the product offering" + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was ordered" + }, + "productSerialNumber": { + "type": "string", + "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Is the date from which the product starts" + }, + "terminationDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was terminated" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItemRef" + } + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + } + }, + "product": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRefOrValue" + } + }, + "productCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "productOffering": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedProductOrderItem" + } + }, + "productPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductPrice" + } + }, + "productRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRelationship" + } + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef" + }, + "productTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductTerm" + } + }, + "realizingResource": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" + } + }, + "realizingService": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/ProductStatusType", + "description": "Is the lifecycle status of the product." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductOfferingPriceRef": { + "type": "object", + "description": "ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductOfferingQualificationItemRef": { + "type": "object", + "description": "It's a productOfferingQualification item that has been executed previously.", + "required": [ + "id", + "productOfferingQualificationId" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of an item of a product offering qualification" + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "productOfferingQualificationHref": { + "type": "string", + "description": "Reference of the related entity." + }, + "productOfferingQualificationId": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "productOfferingQualificationName": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductOfferingQualificationRef": { + "type": "object", + "description": "It's a productOfferingQualification that has been executed previously", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductOfferingRef": { + "type": "object", + "description": "ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductOrder": { + "type": "object", + "description": "A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa,", + "required": [ + "productOrderItem" + ], + "properties": { + "id": { + "type": "string", + "description": "ID created on repository side (OM system)" + }, + "href": { + "type": "string", + "description": "Hyperlink to access the order" + }, + "cancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order is cancelled. This is used when order is cancelled. " + }, + "cancellationReason": { + "type": "string", + "description": "Reason why the order is cancelled. This is used when order is cancelled. " + }, + "category": { + "type": "string", + "description": "Used to categorize the order from a business perspective that can be useful for the OM system (e.g. \"enterprise\", \"residential\", ...)" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order was completed" + }, + "description": { + "type": "string", + "description": "Description of the product order" + }, + "expectedCompletionDate": { + "type": "string", + "format": "date-time", + "description": "Expected delivery date amended by the provider" + }, + "externalId": { + "type": "string", + "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards)" + }, + "notificationContact": { + "type": "string", + "description": "Contact attached to the order to send back information regarding this order" + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order was created" + }, + "priority": { + "type": "string", + "description": "A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)" + }, + "requestedCompletionDate": { + "type": "string", + "format": "date-time", + "description": "Requested delivery date from the requestor perspective" + }, + "requestedStartDate": { + "type": "string", + "format": "date-time", + "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date. " + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + }, + "description": "A reference to an agreement defined in the context of the product order" + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "channel": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedChannel" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "orderTotalPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderPrice" + } + }, + "payment": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentRef" + } + }, + "productOfferingQualification": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingQualificationRef" + } + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOrderItem" + }, + "minItems": 1 + }, + "quote": { + "type": "array", + "items": { + "$ref": "#/definitions/QuoteRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "state": { + "$ref": "#/definitions/ProductOrderStateType", + "description": "Tracks the lifecycle status of the product order, such as Acknowledged, Rejected, InProgress, Pending and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductOrder_Create": { + "type": "object", + "description": "A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa,\nSkipped properties: id,href,completionDate,orderDate,state,expectedCompletionDate,productOrderItem.state", + "required": [ + "productOrderItem" + ], + "properties": { + "cancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order is cancelled. This is used when order is cancelled. " + }, + "cancellationReason": { + "type": "string", + "description": "Reason why the order is cancelled. This is used when order is cancelled. " + }, + "category": { + "type": "string", + "description": "Used to categorize the order from a business perspective that can be useful for the OM system (e.g. \"enterprise\", \"residential\", ...)" + }, + "description": { + "type": "string", + "description": "Description of the product order" + }, + "externalId": { + "type": "string", + "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards)" + }, + "notificationContact": { + "type": "string", + "description": "Contact attached to the order to send back information regarding this order" + }, + "priority": { + "type": "string", + "description": "A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)" + }, + "requestedCompletionDate": { + "type": "string", + "format": "date-time", + "description": "Requested delivery date from the requestor perspective" + }, + "requestedStartDate": { + "type": "string", + "format": "date-time", + "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date. " + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + }, + "description": "A reference to an agreement defined in the context of the product order" + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "channel": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedChannel" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "orderTotalPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderPrice" + } + }, + "payment": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentRef" + } + }, + "productOfferingQualification": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingQualificationRef" + } + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOrderItem" + }, + "minItems": 1 + }, + "quote": { + "type": "array", + "items": { + "$ref": "#/definitions/QuoteRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductOrder_Update": { + "type": "object", + "description": "A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa,\nSkipped properties: id,href,orderDate", + "required": [ + "productOrderItem" + ], + "properties": { + "cancellationDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order is cancelled. This is used when order is cancelled. " + }, + "cancellationReason": { + "type": "string", + "description": "Reason why the order is cancelled. This is used when order is cancelled. " + }, + "category": { + "type": "string", + "description": "Used to categorize the order from a business perspective that can be useful for the OM system (e.g. \"enterprise\", \"residential\", ...)" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date when the order was completed" + }, + "description": { + "type": "string", + "description": "Description of the product order" + }, + "expectedCompletionDate": { + "type": "string", + "format": "date-time", + "description": "Expected delivery date amended by the provider" + }, + "externalId": { + "type": "string", + "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards)" + }, + "notificationContact": { + "type": "string", + "description": "Contact attached to the order to send back information regarding this order" + }, + "priority": { + "type": "string", + "description": "A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)" + }, + "requestedCompletionDate": { + "type": "string", + "format": "date-time", + "description": "Requested delivery date from the requestor perspective" + }, + "requestedStartDate": { + "type": "string", + "format": "date-time", + "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date. " + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementRef" + }, + "description": "A reference to an agreement defined in the context of the product order" + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "channel": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedChannel" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "orderTotalPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderPrice" + } + }, + "payment": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentRef" + } + }, + "productOfferingQualification": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingQualificationRef" + } + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOrderItem" + }, + "minItems": 1 + }, + "quote": { + "type": "array", + "items": { + "$ref": "#/definitions/QuoteRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "state": { + "$ref": "#/definitions/ProductOrderStateType", + "description": "Tracks the lifecycle status of the product order, such as Acknowledged, Rejected, InProgress, Pending and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductOrderItem": { + "type": "object", + "description": "An identified part of the order. A product order is decomposed into one or more order items.", + "required": [ + "id", + "action" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, ...)" + }, + "quantity": { + "type": "integer", + "description": "Quantity ordered" + }, + "action": { + "$ref": "#/definitions/OrderItemActionType", + "description": "The action to be carried out on the Product. Can be: add, modify, delete, noChange" + }, + "appointment": { + "$ref": "#/definitions/AppointmentRef" + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "itemPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderPrice" + } + }, + "itemTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderTerm" + } + }, + "itemTotalPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderPrice" + } + }, + "payment": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentRef" + } + }, + "product": { + "$ref": "#/definitions/ProductRefOrValue" + }, + "productOffering": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "productOfferingQualificationItem": { + "$ref": "#/definitions/ProductOfferingQualificationItemRef" + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOrderItem" + } + }, + "productOrderItemRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderItemRelationship" + } + }, + "qualification": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductOfferingQualificationRef" + } + }, + "quoteItem": { + "$ref": "#/definitions/QuoteItemRef" + }, + "state": { + "$ref": "#/definitions/ProductOrderItemStateType", + "description": "State of the order item : described in the state machine diagram" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductOrderItemStateType": { + "type": "string", + "description": "Possible values for the state of the product order item", + "enum": [ + "acknowledged", + "rejected", + "pending", + "held", + "inProgress", + "cancelled", + "completed", + "failed", + "assessingCancellation", + "pendingCancellation" + ] + }, + "ProductOrderRef": { + "type": "object", + "description": "ProductOrder (ProductOrder) .The product order which the recommendation is related with.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductOrderStateType": { + "type": "string", + "description": "Possible values for the state of the order", + "enum": [ + "acknowledged", + "rejected", + "pending", + "held", + "inProgress", + "cancelled", + "completed", + "failed", + "partial", + "assessingCancellation", + "pendingCancellation" + ] + }, + "ProductPrice": { + "type": "object", + "description": "An amount, usually of money, that represents the actual price paid by a Customer for a purchase, a rent or a lease of a Product. The price is valid for a defined period of time.", + "required": [ + "price", + "priceType" + ], + "properties": { + "description": { + "type": "string", + "description": "A narrative that explains in detail the semantics of this product price." + }, + "name": { + "type": "string", + "description": "A short descriptive name such as \"Subscription price\"." + }, + "priceType": { + "type": "string", + "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth." + }, + "recurringChargePeriod": { + "type": "string", + "description": "Could be month, week..." + }, + "unitOfMeasure": { + "type": "string", + "description": "Could be minutes, GB..." + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "price": { + "$ref": "#/definitions/Price" + }, + "productOfferingPrice": { + "$ref": "#/definitions/ProductOfferingPriceRef" + }, + "productPriceAlteration": { + "type": "array", + "items": { + "$ref": "#/definitions/PriceAlteration" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductRefOrValue": { + "type": "object", + "description": "A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the product" + }, + "href": { + "type": "string", + "description": "Reference of the product" + }, + "description": { + "type": "string", + "description": "Is the description of the product. It could be copied from the description of the Product Offering." + }, + "isBundle": { + "type": "boolean", + "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." + }, + "isCustomerVisible": { + "type": "boolean", + "description": "If true, the product is visible by the customer." + }, + "name": { + "type": "string", + "description": "Name of the product. It could be the same as the name of the product offering" + }, + "orderDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was ordered" + }, + "productSerialNumber": { + "type": "string", + "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Is the date from which the product starts" + }, + "terminationDate": { + "type": "string", + "format": "date-time", + "description": "Is the date when the product was terminated" + }, + "agreement": { + "type": "array", + "items": { + "$ref": "#/definitions/AgreementItemRef" + } + }, + "billingAccount": { + "$ref": "#/definitions/BillingAccountRef" + }, + "place": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + } + }, + "product": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRefOrValue" + } + }, + "productCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "productOffering": { + "$ref": "#/definitions/ProductOfferingRef" + }, + "productOrderItem": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedProductOrderItem" + } + }, + "productPrice": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductPrice" + } + }, + "productRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductRelationship" + } + }, + "productSpecification": { + "$ref": "#/definitions/ProductSpecificationRef" + }, + "productTerm": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductTerm" + } + }, + "realizingResource": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" + } + }, + "realizingService": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRef" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/ProductStatusType", + "description": "Is the lifecycle status of the product." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ProductRelationship": { + "type": "object", + "description": "Linked products to the one instantiate, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful", + "required": [ + "product", + "relationshipType" + ], + "properties": { + "relationshipType": { + "type": "string", + "description": "Type of the product relationship, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful" + }, + "product": { + "$ref": "#/definitions/ProductRefOrValue" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "ProductSpecificationRef": { + "type": "object", + "description": "Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Version of the product specification" + }, + "targetProductSchema": { + "$ref": "#/definitions/TargetProductSchema", + "description": "A target product schema reference. The reference object to the schema and type of target product which is described by product specification." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ProductStatusType": { + "type": "string", + "description": "Possible values for the status of the product", + "enum": [ + "created", + "pendingActive", + "cancelled", + "active", + "pendingTerminate", + "terminated", + "suspended", + "aborted " + ] + }, + "ProductTerm": { + "type": "object", + "description": "Description of a productTerm linked to this product. This represent a commitment with a duration", + "properties": { + "description": { + "type": "string", + "description": "Description of the productTerm" + }, + "name": { + "type": "string", + "description": "Name of the productTerm" + }, + "duration": { + "$ref": "#/definitions/Quantity", + "description": "Duration of the productTerm" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "productTerm validity period" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + } + } + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "QuoteItemRef": { + "type": "object", + "description": "It's a Quote item that has been executed previously.", + "required": [ + "id", + "quoteId" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of an item of a quote" + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "quoteHref": { + "type": "string", + "description": "Reference of the related entity." + }, + "quoteId": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "quoteName": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "QuoteRef": { + "type": "object", + "description": "It's a Quote that has been executed previously", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedChannel": { + "type": "object", + "description": "Related channel to another entity. May be online web, mobile app, social ,etc.", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the channel." + }, + "role": { + "type": "string", + "description": "Role playing by the channel." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedPlaceRefOrValue": { + "type": "object", + "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself", + "required": [ + "role" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "role": { + "type": "string" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedProductOrderItem": { + "type": "object", + "description": "RelatedProductOrderItem (ProductOrder item) .The product order item which triggered product creation/change/termination.", + "required": [ + "orderItemId", + "productOrderId" + ], + "properties": { + "orderItemAction": { + "type": "string", + "description": "Action of the order item for this product" + }, + "orderItemId": { + "type": "string", + "description": "Identifier of the order item where the product was managed" + }, + "productOrderHref": { + "type": "string", + "description": "Reference of the related entity." + }, + "productOrderId": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "role": { + "type": "string", + "description": "role of the product order item for this product" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ResourceRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the resource" + }, + "value": { + "type": "string", + "description": "The resource value that can be used to identify a resource with a public key (e.g.: a tel nr, an msisdn)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ServiceRef": { + "type": "object", + "description": "Service reference, for when Service is used by other entities", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of a related entity." + }, + "href": { + "type": "string", + "description": "Reference of the related entity." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "TargetProductSchema": { + "type": "object", + "description": "The reference object to the schema and type of target product which is described by product specification", + "required": [ + "@schemaLocation", + "@type" + ], + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "description": "This field provides a link to the schema describing the target product" + }, + "@type": { + "type": "string", + "description": "Class type of the target product" + } + } + }, + "TaskStateType": { + "type": "string", + "description": "Possible values for the state of a task", + "enum": [ + "acknowledged", + "terminatedWithError", + "inProgress", + "done" + ] + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "ProductOrderCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOrderCreateEventPayload" + } + } + }, + "ProductOrderCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOrder" + } + } + }, + "ProductOrderAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOrderAttributeValueChangeEventPayload" + } + } + }, + "ProductOrderAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOrder" + } + } + }, + "ProductOrderDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOrderDeleteEventPayload" + } + } + }, + "ProductOrderDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOrder" + } + } + }, + "ProductOrderStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOrderStateChangeEventPayload" + } + } + }, + "ProductOrderStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOrder" + } + } + }, + "ProductOrderInformationRequiredEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ProductOrderInformationRequiredEventPayload" + } + } + }, + "ProductOrderInformationRequiredEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "productOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ProductOrder" + } + } + }, + "CancelProductOrderCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CancelProductOrderCreateEventPayload" + } + } + }, + "CancelProductOrderCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "cancelProductOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/CancelProductOrder" + } + } + }, + "CancelProductOrderStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the Process flow" + }, + "href": { + "type": "string", + "description": "Reference of the ProcessFlow" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CancelProductOrderStateChangeEventPayload" + } + } + }, + "CancelProductOrderStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "cancelProductOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/CancelProductOrder" + } + } + }, + "CancelProductOrderInformationRequiredEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/CancelProductOrderInformationRequiredEventPayload" + } + } + }, + "CancelProductOrderInformationRequiredEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "cancelProductOrder": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/CancelProductOrder" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/resource-catalog/api.json b/api/tm-forum/resource-catalog/api.json new file mode 100644 index 00000000..4d0b2c1c --- /dev/null +++ b/api/tm-forum/resource-catalog/api.json @@ -0,0 +1,7284 @@ +{ + "swagger": "2.0", + "info": { + "title": "Resource Catalog Management", + "description": "## TMF API Reference: TMF634 - Resource Catalog Management\n\n### December 2019\n\nResource Catalog API is one of Catalog Management API Family. Resource Catalog API goal is to provide a catalog of resources. \n\n### Operations\nResource Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events", + "version": "4.1.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/resourceCatalog/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "resourceCatalog" + }, + { + "name": "resourceCategory" + }, + { + "name": "resourceCandidate" + }, + { + "name": "resourceSpecification" + }, + { + "name": "importJob" + }, + { + "name": "exportJob" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/resourceCatalog": { + "get": { + "operationId": "listResourceCatalog", + "summary": "List or find ResourceCatalog objects", + "description": "This operation list or find ResourceCatalog entities", + "tags": [ + "resourceCatalog" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCatalog" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createResourceCatalog", + "summary": "Creates a ResourceCatalog", + "description": "This operation creates a ResourceCatalog entity.", + "tags": [ + "resourceCatalog" + ], + "parameters": [ + { + "name": "resourceCatalog", + "description": "The ResourceCatalog to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceCatalog_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ResourceCatalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceCatalog/{id}": { + "get": { + "operationId": "retrieveResourceCatalog", + "summary": "Retrieves a ResourceCatalog by ID", + "description": "This operation retrieves a ResourceCatalog entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "resourceCatalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCatalog", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceCatalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchResourceCatalog", + "summary": "Updates partially a ResourceCatalog", + "description": "This operation updates partially a ResourceCatalog entity.", + "tags": [ + "resourceCatalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCatalog", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "resourceCatalog", + "description": "The ResourceCatalog to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceCatalog_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ResourceCatalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteResourceCatalog", + "summary": "Deletes a ResourceCatalog", + "description": "This operation deletes a ResourceCatalog entity.", + "tags": [ + "resourceCatalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCatalog", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceCategory": { + "get": { + "operationId": "listResourceCategory", + "summary": "List or find ResourceCategory objects", + "description": "This operation list or find ResourceCategory entities", + "tags": [ + "resourceCategory" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategory" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createResourceCategory", + "summary": "Creates a ResourceCategory", + "description": "This operation creates a ResourceCategory entity.", + "tags": [ + "resourceCategory" + ], + "parameters": [ + { + "name": "resourceCategory", + "description": "The ResourceCategory to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceCategory_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ResourceCategory" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceCategory/{id}": { + "get": { + "operationId": "retrieveResourceCategory", + "summary": "Retrieves a ResourceCategory by ID", + "description": "This operation retrieves a ResourceCategory entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "resourceCategory" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCategory", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceCategory" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchResourceCategory", + "summary": "Updates partially a ResourceCategory", + "description": "This operation updates partially a ResourceCategory entity.", + "tags": [ + "resourceCategory" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCategory", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "resourceCategory", + "description": "The ResourceCategory to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceCategory_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ResourceCategory" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteResourceCategory", + "summary": "Deletes a ResourceCategory", + "description": "This operation deletes a ResourceCategory entity.", + "tags": [ + "resourceCategory" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCategory", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceCandidate": { + "get": { + "operationId": "listResourceCandidate", + "summary": "List or find ResourceCandidate objects", + "description": "This operation list or find ResourceCandidate entities", + "tags": [ + "resourceCandidate" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCandidate" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createResourceCandidate", + "summary": "Creates a ResourceCandidate", + "description": "This operation creates a ResourceCandidate entity.", + "tags": [ + "resourceCandidate" + ], + "parameters": [ + { + "name": "resourceCandidate", + "description": "The ResourceCandidate to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceCandidate_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ResourceCandidate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceCandidate/{id}": { + "get": { + "operationId": "retrieveResourceCandidate", + "summary": "Retrieves a ResourceCandidate by ID", + "description": "This operation retrieves a ResourceCandidate entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "resourceCandidate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCandidate", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceCandidate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchResourceCandidate", + "summary": "Updates partially a ResourceCandidate", + "description": "This operation updates partially a ResourceCandidate entity.", + "tags": [ + "resourceCandidate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCandidate", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "resourceCandidate", + "description": "The ResourceCandidate to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceCandidate_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ResourceCandidate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteResourceCandidate", + "summary": "Deletes a ResourceCandidate", + "description": "This operation deletes a ResourceCandidate entity.", + "tags": [ + "resourceCandidate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceCandidate", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceSpecification": { + "get": { + "operationId": "listResourceSpecification", + "summary": "List or find ResourceSpecification objects", + "description": "This operation list or find ResourceSpecification entities", + "tags": [ + "resourceSpecification" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecification" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createResourceSpecification", + "summary": "Creates a ResourceSpecification", + "description": "This operation creates a ResourceSpecification entity.", + "tags": [ + "resourceSpecification" + ], + "parameters": [ + { + "name": "resourceSpecification", + "description": "The ResourceSpecification to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceSpecification_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ResourceSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceSpecification/{id}": { + "get": { + "operationId": "retrieveResourceSpecification", + "summary": "Retrieves a ResourceSpecification by ID", + "description": "This operation retrieves a ResourceSpecification entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "resourceSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchResourceSpecification", + "summary": "Updates partially a ResourceSpecification", + "description": "This operation updates partially a ResourceSpecification entity.", + "tags": [ + "resourceSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "resourceSpecification", + "description": "The ResourceSpecification to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceSpecification_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ResourceSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteResourceSpecification", + "summary": "Deletes a ResourceSpecification", + "description": "This operation deletes a ResourceSpecification entity.", + "tags": [ + "resourceSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceSpecification", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/importJob": { + "get": { + "operationId": "listImportJob", + "summary": "List or find ImportJob objects", + "description": "This operation list or find ImportJob entities", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ImportJob" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createImportJob", + "summary": "Creates a ImportJob", + "description": "This operation creates a ImportJob entity.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "importJob", + "description": "The ImportJob to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ImportJob_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ImportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/importJob/{id}": { + "get": { + "operationId": "retrieveImportJob", + "summary": "Retrieves a ImportJob by ID", + "description": "This operation retrieves a ImportJob entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ImportJob", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ImportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteImportJob", + "summary": "Deletes a ImportJob", + "description": "This operation deletes a ImportJob entity.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ImportJob", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/exportJob": { + "get": { + "operationId": "listExportJob", + "summary": "List or find ExportJob objects", + "description": "This operation list or find ExportJob entities", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ExportJob" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createExportJob", + "summary": "Creates a ExportJob", + "description": "This operation creates a ExportJob entity.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "exportJob", + "description": "The ExportJob to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ExportJob_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ExportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/exportJob/{id}": { + "get": { + "operationId": "retrieveExportJob", + "summary": "Retrieves a ExportJob by ID", + "description": "This operation retrieves a ExportJob entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ExportJob", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ExportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteExportJob", + "summary": "Deletes a ExportJob", + "description": "This operation deletes a ExportJob entity.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ExportJob", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCatalogCreateEvent": { + "post": { + "operationId": "listenToResourceCatalogCreateEvent", + "summary": "Client listener for entity ResourceCatalogCreateEvent", + "description": "Example of a client listener for receiving the notification ResourceCatalogCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCatalogCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCatalogChangeEvent": { + "post": { + "operationId": "listenToResourceCatalogChangeEvent", + "summary": "Client listener for entity ResourceCatalogChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceCatalogChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCatalogChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCatalogDeleteEvent": { + "post": { + "operationId": "listenToResourceCatalogDeleteEvent", + "summary": "Client listener for entity ResourceCatalogDeleteEvent", + "description": "Example of a client listener for receiving the notification ResourceCatalogDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCatalogDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCategoryCreateEvent": { + "post": { + "operationId": "listenToResourceCategoryCreateEvent", + "summary": "Client listener for entity ResourceCategoryCreateEvent", + "description": "Example of a client listener for receiving the notification ResourceCategoryCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCategoryCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCategoryChangeEvent": { + "post": { + "operationId": "listenToResourceCategoryChangeEvent", + "summary": "Client listener for entity ResourceCategoryChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceCategoryChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCategoryChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCategoryDeleteEvent": { + "post": { + "operationId": "listenToResourceCategoryDeleteEvent", + "summary": "Client listener for entity ResourceCategoryDeleteEvent", + "description": "Example of a client listener for receiving the notification ResourceCategoryDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCategoryDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCandidateCreateEvent": { + "post": { + "operationId": "listenToResourceCandidateCreateEvent", + "summary": "Client listener for entity ResourceCandidateCreateEvent", + "description": "Example of a client listener for receiving the notification ResourceCandidateCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCandidateCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCandidateChangeEvent": { + "post": { + "operationId": "listenToResourceCandidateChangeEvent", + "summary": "Client listener for entity ResourceCandidateChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceCandidateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCandidateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCandidateDeleteEvent": { + "post": { + "operationId": "listenToResourceCandidateDeleteEvent", + "summary": "Client listener for entity ResourceCandidateDeleteEvent", + "description": "Example of a client listener for receiving the notification ResourceCandidateDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCandidateDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceSpecificationCreateEvent": { + "post": { + "operationId": "listenToResourceSpecificationCreateEvent", + "summary": "Client listener for entity ResourceSpecificationCreateEvent", + "description": "Example of a client listener for receiving the notification ResourceSpecificationCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceSpecificationCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceSpecificationChangeEvent": { + "post": { + "operationId": "listenToResourceSpecificationChangeEvent", + "summary": "Client listener for entity ResourceSpecificationChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceSpecificationChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceSpecificationChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceSpecificationDeleteEvent": { + "post": { + "operationId": "listenToResourceSpecificationDeleteEvent", + "summary": "Client listener for entity ResourceSpecificationDeleteEvent", + "description": "Example of a client listener for receiving the notification ResourceSpecificationDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceSpecificationDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/importJobCreateEvent": { + "post": { + "operationId": "listenToImportJobCreateEvent", + "summary": "Client listener for entity ImportJobCreateEvent", + "description": "Example of a client listener for receiving the notification ImportJobCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ImportJobCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/importJobStateChangeEvent": { + "post": { + "operationId": "listenToImportJobStateChangeEvent", + "summary": "Client listener for entity ImportJobStateChangeEvent", + "description": "Example of a client listener for receiving the notification ImportJobStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ImportJobStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/exportJobCreateEvent": { + "post": { + "operationId": "listenToExportJobCreateEvent", + "summary": "Client listener for entity ExportJobCreateEvent", + "description": "Example of a client listener for receiving the notification ExportJobCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ExportJobCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/exportJobStateChangeEvent": { + "post": { + "operationId": "listenToExportJobStateChangeEvent", + "summary": "Client listener for entity ExportJobStateChangeEvent", + "description": "Example of a client listener for receiving the notification ExportJobStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ExportJobStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Addressable": { + "type": "object", + "description": "Base schema for adressable entities", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + } + } + }, + "Any": {}, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "format": "uri", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "format": "uri", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "CharacteristicSpecificationBase": { + "type": "object", + "description": "This class defines a characteristic specification.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "CharacteristicValueSpecification": { + "type": "object", + "description": "specification of a value (number or text or an object) that can be assigned to a Characteristic.", + "properties": { + "isDefault": { + "type": "boolean", + "description": "If true, the Boolean Indicates if the value is the default value for a characteristic" + }, + "rangeInterval": { + "type": "string", + "description": "An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are \"open\", \"closed\", \"closedBottom\" and \"closedTop\"." + }, + "regex": { + "type": "string", + "description": "A regular expression constraint for given value" + }, + "unitOfMeasure": { + "type": "string", + "description": "A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot." + }, + "valueFrom": { + "type": "integer", + "description": "The low range value that a characteristic can take on" + }, + "valueTo": { + "type": "integer", + "description": "The upper range value that a characteristic can take on" + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic value can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a value is applicable." + }, + "value": { + "$ref": "#/definitions/Any", + "description": "A discrete value that the characteristic can take on, or the actual value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ConnectionPointSpecificationRef": { + "type": "object", + "description": "Connection point specification reference. A connection point provides a service access point (SAP) for input and/or output of the resource function.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Connection point specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ConnectionSpecification": { + "type": "object", + "description": "A specification for an edge in a resource graph.", + "required": [ + "associationType", + "endpointSpecification" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for graph edge specification." + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "associationType": { + "type": "string", + "description": "Association type." + }, + "name": { + "type": "string", + "description": "Descriptive name for graph edge specification." + }, + "endpointSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/EndpointSpecificationRef" + }, + "minItems": 1, + "description": "Specifications for resource graph vertices connected by this edge." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ConstraintRef": { + "type": "object", + "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "constraint version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "EndpointSpecificationRef": { + "type": "object", + "description": "A specification for a vertex in a resource graph.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "isRoot": { + "default": true, + "type": "boolean", + "description": "Directionality: true when endpoint is a source, false when a sink. If true for all endpoints connectivity is bidirectional. Default is true." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role of the Resource Function." + }, + "connectionPointSpecification": { + "$ref": "#/definitions/ConnectionPointSpecificationRef", + "description": "A specification for the connection point (SAP) of the associated resource function (optional)." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Entity": { + "type": "object", + "description": "Base entity schema for use in TMForum Open-APIs", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ExportJob": { + "type": "object", + "description": "Represents a task used to export resources to a file", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the export job" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference of the export job" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Data at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "The format of the exported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure" + }, + "path": { + "type": "string", + "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job" + }, + "query": { + "type": "string", + "description": "Used to scope the exported data" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be exported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the export job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ExportJob_Create": { + "type": "object", + "description": "Represents a task used to export resources to a file\nSkipped properties: id,href", + "required": [ + "url" + ], + "properties": { + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Data at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "The format of the exported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure" + }, + "path": { + "type": "string", + "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job" + }, + "query": { + "type": "string", + "description": "Used to scope the exported data" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be exported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the export job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Extensible": { + "type": "object", + "description": "Base Extensible schema for use in TMForum Open-APIs", + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "FeatureSpecification": { + "type": "object", + "description": "Specification for resource, service or product features", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the feature specification. Must be locally unique within the containing specification, thus allowing direct access to the feature spec." + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicating if this is a feature group (true) or not (false)" + }, + "isEnabled": { + "type": "boolean", + "description": "A flag indicating if the feature is enabled (true) or not (false)" + }, + "name": { + "type": "string", + "description": "Unique name given to the feature specification" + }, + "version": { + "type": "string", + "description": "Version of the feature specification" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of feature constraints" + }, + "featureSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecificationCharacteristic" + }, + "description": "This is a list of characteristics for a particular feature" + }, + "featureSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecificationRelationship" + }, + "description": "A dependency, exclusivity or aggratation relationship between/among feature specifications." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this feature specification is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "FeatureSpecificationCharacteristic": { + "type": "object", + "description": "Configuration feature characteristic specification.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "featureSpecCharRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecificationCharacteristicRelationship" + }, + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among feature characteristics." + }, + "featureSpecCharacteristicValue": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicValueSpecification" + }, + "description": "Used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a FeatureCharacteristic object." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "FeatureSpecificationCharacteristicRelationship": { + "type": "object", + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among FeatureSpecificationCharacteristics.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "characteristicId": { + "type": "string", + "description": "Unique identifier of the characteristic within the the target feature specification" + }, + "featureId": { + "type": "string", + "description": "Unique identifier of the target feature specification within the resource specification." + }, + "name": { + "type": "string", + "description": "Name of the target characteristic" + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity" + }, + "resourceSpecificationHref": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the resource specification containing the target feature and feature characteristic" + }, + "resourceSpecificationId": { + "type": "string", + "description": "Unique identifier of the resource specification containing the target feature and feature characteristic" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the object is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "FeatureSpecificationRelationship": { + "type": "object", + "description": "Relationship between feature specifications", + "required": [ + "name", + "relationshipType" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "featureId": { + "type": "string", + "description": "Unique identifier of the target feature specification." + }, + "name": { + "type": "string", + "description": "This is the name of the target feature specification." + }, + "parentSpecificationHref": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the parent specification containing the target feature" + }, + "parentSpecificationId": { + "type": "string", + "description": "Unique identifier of the parent specification containing the target feature" + }, + "relationshipType": { + "type": "string", + "description": "This is the type of the feature specification relationship." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this feature spoecification relationship is valid." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ImportJob": { + "type": "object", + "description": "Represents a task used to import resources from a file", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the import job" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference of the import job" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "Indicates the format of the imported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure if status is failed" + }, + "path": { + "type": "string", + "description": "URL of the root resource where the content of the file specified by the import job must be applied" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be imported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the import job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ImportJob_Create": { + "type": "object", + "description": "Represents a task used to import resources from a file\nSkipped properties: id,href", + "required": [ + "url" + ], + "properties": { + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "Indicates the format of the imported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure if status is failed" + }, + "path": { + "type": "string", + "description": "URL of the root resource where the content of the file specified by the import job must be applied" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be imported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the import job (not started, running, succeeded, failed)" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "JobStateType": { + "type": "string", + "description": "Valid values for the state of a batch job (e.g. catalog import)", + "enum": [ + "Not Started", + "Running", + "Succeeded", + "Failed" + ] + }, + "LogicalResourceSpecification": { + "type": "object", + "description": "This is an example of a derived class of ResourceSpecification, and is used to define the invariant characteristics and behavior (attributes, methods, constraints, and relationships) of a LogicalResource.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "category": { + "type": "string", + "description": "Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on." + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicates that if this resource specification is a bundled specification (true) or single (false)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource specification" + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a resource) through video, pictures ..." + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ResourceSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "resourceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among resource specifications." + }, + "targetResourceSchema": { + "$ref": "#/definitions/TargetResourceSchema", + "description": "A target resource schema reference. The reference object to the schema and type of target resource which is described by resource specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "PhysicalResourceSpecification": { + "type": "object", + "description": "This is an example of a derived class of ResourceSpecification, and is used to define the invariant characteristics and behavior (attributes, methods, constraints, and relationships) of a PhysicalResource.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "category": { + "type": "string", + "description": "Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on." + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicates that if this resource specification is a bundled specification (true) or single (false)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource specification" + }, + "model": { + "type": "string", + "description": "This is a string that represents a manufacturer-allocated number used to identify the general type and/or category of the hardware item. This, in combination with the Part and the Vendor, identify different types of hardware items. The SerialNumber can then be used to differentiate between different instances of the same type of hardware item. This is an optional attribute." + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "part": { + "type": "string", + "description": "This is a string that defines a manufacturer-allocated part number assigned by the organization that manufactures the hardware item. This, in combination with the Model and the Vendor, identify different types of hardware items. The SerialNumber can then be used to differentiate between different instances of the same type of hardware item. This is a REQUIRED attribute." + }, + "sku": { + "type": "string", + "description": "This is a string that defines the manufacturer-allocated Stock Keeping Unit (SKU) number of the hardware item. This is an optional attribute." + }, + "vendor": { + "type": "string", + "description": "This is a string that defines the name of the manufacturer. This, in combination with the Model and the Part, identify different types of hardware items. The SerialNumber can then be used to differentiate between different instances of the same type of hardware item. This is a REQUIRED attribute for a physical resource." + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a resource) through video, pictures ..." + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ResourceSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "resourceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among resource specifications." + }, + "targetResourceSchema": { + "$ref": "#/definitions/TargetResourceSchema", + "description": "A target resource schema reference. The reference object to the schema and type of target resource which is described by resource specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ResourceCandidate": { + "type": "object", + "description": "ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of this REST resource" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to this REST resource" + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource candidate." + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "the version of resource candidate" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "The categories in which this candidate is exposed" + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef", + "description": "The detailed specification for this candidate" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCandidate_Create": { + "type": "object", + "description": "ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource candidate." + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "the version of resource candidate" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "The categories in which this candidate is exposed" + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef", + "description": "The detailed specification for this candidate" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCandidate_Update": { + "type": "object", + "description": "ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none.\nSkipped properties: id,href", + "properties": { + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource candidate." + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "the version of resource candidate" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "The categories in which this candidate is exposed" + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef", + "description": "The detailed specification for this candidate" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCandidateRef": { + "type": "object", + "description": "ResourceCandidate is an entity that makes a resource specification available to a catalog. A ResourceCandidate and its associated resource specification may be published - made visible - in any number of resource catalogs, or in none.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "the version of resource candidate" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceCatalog": { + "type": "object", + "description": "The root entity for resource catalog management.\nA resource catalog is a group of resource specifications made available through resource candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the Catalog" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Unique reference of the catalog" + }, + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the catalog" + }, + "version": { + "type": "string", + "description": "Catalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "List of root categories contained in this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this catalog" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCatalog_Create": { + "type": "object", + "description": "The root entity for resource catalog management.\nA resource catalog is a group of resource specifications made available through resource candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers).\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the catalog" + }, + "version": { + "type": "string", + "description": "Catalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "List of root categories contained in this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this catalog" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCatalog_Update": { + "type": "object", + "description": "The root entity for resource catalog management.\nA resource catalog is a group of resource specifications made available through resource candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers).\nSkipped properties: id,href", + "properties": { + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the catalog" + }, + "version": { + "type": "string", + "description": "Catalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "List of root categories contained in this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this catalog" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCategory": { + "type": "object", + "description": "The (resource) category resource is used to group resource candidates in logical containers. Categories can contain other categories.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the category" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the category" + }, + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "Category version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other (sub-)categories and/or product offerings." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this category" + }, + "resourceCandidate": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCandidateRef" + }, + "description": "List of resource candidates accessible via this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCategory_Create": { + "type": "object", + "description": "The (resource) category resource is used to group resource candidates in logical containers. Categories can contain other categories.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "Category version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other (sub-)categories and/or product offerings." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this category" + }, + "resourceCandidate": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCandidateRef" + }, + "description": "List of resource candidates accessible via this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCategory_Update": { + "type": "object", + "description": "The (resource) category resource is used to group resource candidates in logical containers. Categories can contain other categories.\nSkipped properties: id,href", + "properties": { + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "Category version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCategoryRef" + }, + "description": "The category resource is used to group product offerings, service and resource candidates in logical containers. Categories can contain other (sub-)categories and/or product offerings." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties involved in this category" + }, + "resourceCandidate": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceCandidateRef" + }, + "description": "List of resource candidates accessible via this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceCategoryRef": { + "type": "object", + "description": "The (resource) category resource is used to group resource candidates in logical containers. Categories can contain other categories.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Category version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceFunctionSpecification": { + "type": "object", + "description": "Specifies a function as a behavior to transform inputs of any nature into outputs of any nature independently from the way it is provided, for example a Medium to Large Enterprise Firewall.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "category": { + "type": "string", + "description": "Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on." + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicates that if this resource specification is a bundled specification (true) or single (false)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource specification" + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a resource) through video, pictures ..." + }, + "connectionPointSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointSpecificationRef" + }, + "description": "External connection point specifications. These are the service access points (SAP) where inputs and outputs of the function are available." + }, + "connectivitySpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGraphSpecification" + }, + "description": "Internal connectivity potential specifications." + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ResourceSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "resourceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among resource specifications." + }, + "targetResourceSchema": { + "$ref": "#/definitions/TargetResourceSchema", + "description": "A target resource schema reference. The reference object to the schema and type of target resource which is described by resource specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceGraphSpecification": { + "type": "object", + "description": "Resource graph specification.", + "required": [ + "connectionSpecification" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the resource graph specification." + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the resource graph specification." + }, + "name": { + "type": "string", + "description": "Descriptive name for the resource graph specification." + }, + "connectionSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionSpecification" + }, + "minItems": 1, + "description": "Resource graph edge specifications." + }, + "graphSpecificationRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGraphSpecificationRelationship" + }, + "description": "Relationships to other resource graph specifications." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceGraphSpecificationRef": { + "type": "object", + "description": "Resource graph specification reference.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceGraphSpecificationRelationship": { + "type": "object", + "description": "Describes link between resource graph specifications.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "relationshipType": { + "type": "string", + "description": "Semantic of the relationship." + }, + "resourceGraph": { + "$ref": "#/definitions/ResourceGraphSpecificationRef", + "description": "A reference to the related resource graph specification." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceSpecification": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is a base class that represents a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.", + "properties": { + "id": { + "example": "6c088cf7f1bc", + "type": "string", + "description": "Unique identifier of this REST resource" + }, + "href": { + "example": "http://host/resourceSpecification/6c088cf7f1bc", + "type": "string", + "format": "uri", + "description": "Hyperlink reference to this REST resource" + }, + "category": { + "type": "string", + "description": "Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on." + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicates that if this resource specification is a bundled specification (true) or single (false)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource specification" + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a resource) through video, pictures ..." + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ResourceSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "resourceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among resource specifications." + }, + "targetResourceSchema": { + "$ref": "#/definitions/TargetResourceSchema", + "description": "A target resource schema reference. The reference object to the schema and type of target resource which is described by resource specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceSpecification_Create": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is a base class that represents a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "category": { + "type": "string", + "description": "Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on." + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicates that if this resource specification is a bundled specification (true) or single (false)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource specification" + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a resource) through video, pictures ..." + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ResourceSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "resourceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among resource specifications." + }, + "targetResourceSchema": { + "$ref": "#/definitions/TargetResourceSchema", + "description": "A target resource schema reference. The reference object to the schema and type of target resource which is described by resource specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceSpecification_Update": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is a base class that represents a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.\nSkipped properties: id,href", + "properties": { + "category": { + "type": "string", + "description": "Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on." + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicates that if this resource specification is a bundled specification (true) or single (false)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the resource specification" + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Complements the description of an element (for instance a resource) through video, pictures ..." + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "A related party defines party or party role linked to a specific entity." + }, + "resourceSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristic" + }, + "description": "A characteristic quality or distinctive feature of a ResourceSpecification. The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process." + }, + "resourceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRelationship" + }, + "description": "A migration, substitution, dependency or exclusivity relationship between/among resource specifications." + }, + "targetResourceSchema": { + "$ref": "#/definitions/TargetResourceSchema", + "description": "A target resource schema reference. The reference object to the schema and type of target resource which is described by resource specification." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceSpecificationCharacteristic": { + "type": "object", + "description": "This class defines the characteristic features of a resource specification. Every ResourceSpecification has a variety of important attributes, methods, constraints, and\nrelationships, which distinguish a resource specification from other resource specifications.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "resourceSpecCharRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristicRelationship" + }, + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics." + }, + "resourceSpecCharacteristicValue": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicValueSpecification" + }, + "description": "A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a ResourceSpecificationCharacteristic object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding ResourceSpecificationCharacteristic object can take on." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "ResourceSpecificationCharacteristicRelationship": { + "type": "object", + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among ResourceSpecificationCharacteristics. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID.", + "properties": { + "characteristicSpecificationId": { + "type": "string", + "description": "Unique identifier of the characteristic within the specification" + }, + "name": { + "type": "string", + "description": "Name of the target characteristic within the specification" + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity" + }, + "resourceSpecificationHref": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the resource specification containing the target characteristic" + }, + "resourceSpecificationId": { + "type": "string", + "description": "Unique identifier of the resource specification containing the target characteristic" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the object is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceSpecificationRef": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceSpecificationRelationship": { + "type": "object", + "description": "A migration, substitution, dependency or exclusivity relationship between/among resource specifications.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of target ResourceSpecification" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference of the target ResourceSpecification" + }, + "defaultQuantity": { + "type": "integer", + "description": "The default number of the related resource that should be instantiated, for example a rack would typically have 4 cards, although it could support more." + }, + "maximumQuantity": { + "type": "integer", + "description": "The maximum number of the related resource that should be instantiated, for example a rack supports a maximum of 16 cards" + }, + "minimumQuantity": { + "type": "integer", + "description": "The minimum number of the related resource that should be instantiated, for example a rack must have at least 1 card" + }, + "name": { + "type": "string", + "description": "The name given to the target resource specification instance" + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as migration, substitution, dependency, exclusivity" + }, + "role": { + "type": "string", + "description": "The association role for this resource specification" + }, + "characteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationCharacteristic" + }, + "description": "A characteristic that refines the relationship. For example, consider the relationship between a slot and a card. For a half-height card it is important to know the position at which the card is inserted, so a characteristic Position might be defined on the relationship to allow capturing of this in the inventory" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the ResourceSpecRelationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "TargetResourceSchema": { + "type": "object", + "description": "The reference object to the schema and type of target resource which is described by resource specification", + "required": [ + "@schemaLocation", + "@type" + ], + "properties": { + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "This field provides a link to the schema describing the target resource" + }, + "@type": { + "type": "string", + "description": "Class type of the target resource" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "ResourceCatalogCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCatalogCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCatalogCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCatalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCatalog" + } + } + }, + "ResourceCatalogChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCatalogChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCatalogChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCatalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCatalog" + } + } + }, + "ResourceCatalogDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCatalogDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCatalogDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCatalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCatalog" + } + } + }, + "ResourceCategoryCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCategoryCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCategoryCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCategory": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCategory" + } + } + }, + "ResourceCategoryChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCategoryChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCategoryChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCategory": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCategory" + } + } + }, + "ResourceCategoryDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCategoryDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCategoryDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCategory": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCategory" + } + } + }, + "ResourceCandidateCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCandidateCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCandidateCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCandidate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCandidate" + } + } + }, + "ResourceCandidateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCandidateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCandidateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCandidate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCandidate" + } + } + }, + "ResourceCandidateDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCandidateDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCandidateDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceCandidate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceCandidate" + } + } + }, + "ResourceSpecificationCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceSpecificationCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceSpecificationCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceSpecification" + } + } + }, + "ResourceSpecificationChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceSpecificationChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceSpecificationChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceSpecification" + } + } + }, + "ResourceSpecificationDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceSpecificationDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceSpecificationDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceSpecification" + } + } + }, + "ImportJobCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ImportJobCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ImportJobCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "importJob": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ImportJob" + } + } + }, + "ImportJobStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ImportJobStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ImportJobStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "importJob": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ImportJob" + } + } + }, + "ExportJobCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ExportJobCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ExportJobCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "exportJob": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ExportJob" + } + } + }, + "ExportJobStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ExportJobStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ExportJobStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "exportJob": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ExportJob" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/resource-function-activation/api.json b/api/tm-forum/resource-function-activation/api.json new file mode 100644 index 00000000..1350995e --- /dev/null +++ b/api/tm-forum/resource-function-activation/api.json @@ -0,0 +1,6770 @@ +{ + "swagger": "2.0", + "info": { + "title": "Resource Function Activation and Configuration", + "description": "Provisioning and lifecycle management of Resource Functions", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/resourceFunctionActivation/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "resourceFunction" + }, + { + "name": "monitor" + }, + { + "name": "heal" + }, + { + "name": "scale" + }, + { + "name": "migrate" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/resourceFunction": { + "get": { + "operationId": "listResourceFunction", + "summary": "List or find ResourceFunction objects", + "description": "This operation list or find ResourceFunction entities", + "tags": [ + "resourceFunction" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFunction" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createResourceFunction", + "summary": "Creates a ResourceFunction", + "description": "This operation creates a ResourceFunction entity.", + "tags": [ + "resourceFunction" + ], + "parameters": [ + { + "name": "resourceFunction", + "description": "The ResourceFunction to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceFunction_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ResourceFunction" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resourceFunction/{id}": { + "get": { + "operationId": "retrieveResourceFunction", + "summary": "Retrieves a ResourceFunction by ID", + "description": "This operation retrieves a ResourceFunction entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "resourceFunction" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceFunction", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceFunction" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchResourceFunction", + "summary": "Updates partially a ResourceFunction", + "description": "This operation updates partially a ResourceFunction entity.", + "tags": [ + "resourceFunction" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceFunction", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "resourceFunction", + "description": "The ResourceFunction to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceFunction_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ResourceFunction" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteResourceFunction", + "summary": "Deletes a ResourceFunction", + "description": "This operation deletes a ResourceFunction entity.", + "tags": [ + "resourceFunction" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ResourceFunction", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/monitor": { + "get": { + "operationId": "listMonitor", + "summary": "List or find Monitor objects", + "description": "This operation list or find Monitor entities", + "tags": [ + "monitor" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Monitor" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/monitor/{id}": { + "get": { + "operationId": "retrieveMonitor", + "summary": "Retrieves a Monitor by ID", + "description": "This operation retrieves a Monitor entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "monitor" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Monitor", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Monitor" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/heal": { + "get": { + "operationId": "listHeal", + "summary": "List or find Heal objects", + "description": "This operation list or find Heal entities", + "tags": [ + "heal" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Heal" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createHeal", + "summary": "Creates a Heal", + "description": "This operation creates a Heal entity.", + "tags": [ + "heal" + ], + "parameters": [ + { + "name": "heal", + "description": "The Heal to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Heal_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Heal" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/heal/{id}": { + "get": { + "operationId": "retrieveHeal", + "summary": "Retrieves a Heal by ID", + "description": "This operation retrieves a Heal entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "heal" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Heal", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Heal" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/scale": { + "get": { + "operationId": "listScale", + "summary": "List or find Scale objects", + "description": "This operation list or find Scale entities", + "tags": [ + "scale" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Scale" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createScale", + "summary": "Creates a Scale", + "description": "This operation creates a Scale entity.", + "tags": [ + "scale" + ], + "parameters": [ + { + "name": "scale", + "description": "The Scale to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Scale_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Scale" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/scale/{id}": { + "get": { + "operationId": "retrieveScale", + "summary": "Retrieves a Scale by ID", + "description": "This operation retrieves a Scale entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "scale" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Scale", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Scale" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/migrate": { + "get": { + "operationId": "listMigrate", + "summary": "List or find Migrate objects", + "description": "This operation list or find Migrate entities", + "tags": [ + "migrate" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Migrate" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createMigrate", + "summary": "Creates a Migrate", + "description": "This operation creates a Migrate entity.", + "tags": [ + "migrate" + ], + "parameters": [ + { + "name": "migrate", + "description": "The Migrate to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Migrate_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Migrate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/migrate/{id}": { + "get": { + "operationId": "retrieveMigrate", + "summary": "Retrieves a Migrate by ID", + "description": "This operation retrieves a Migrate entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "migrate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Migrate", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Migrate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceFunctionCreateEvent": { + "post": { + "operationId": "listenToResourceFunctionCreateEvent", + "summary": "Client listener for entity ResourceFunctionCreateEvent", + "description": "Example of a client listener for receiving the notification ResourceFunctionCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceFunctionCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceFunctionAttributeValueChangeEvent": { + "post": { + "operationId": "listenToResourceFunctionAttributeValueChangeEvent", + "summary": "Client listener for entity ResourceFunctionAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceFunctionAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceFunctionAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceFunctionStateChangeEvent": { + "post": { + "operationId": "listenToResourceFunctionStateChangeEvent", + "summary": "Client listener for entity ResourceFunctionStateChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceFunctionStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceFunctionStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceFunctionDeleteEvent": { + "post": { + "operationId": "listenToResourceFunctionDeleteEvent", + "summary": "Client listener for entity ResourceFunctionDeleteEvent", + "description": "Example of a client listener for receiving the notification ResourceFunctionDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceFunctionDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/monitorCreateEvent": { + "post": { + "operationId": "listenToMonitorCreateEvent", + "summary": "Client listener for entity MonitorCreateEvent", + "description": "Example of a client listener for receiving the notification MonitorCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MonitorCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/monitorAttributeValueChangeEvent": { + "post": { + "operationId": "listenToMonitorAttributeValueChangeEvent", + "summary": "Client listener for entity MonitorAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification MonitorAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MonitorAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/monitorStateChangeEvent": { + "post": { + "operationId": "listenToMonitorStateChangeEvent", + "summary": "Client listener for entity MonitorStateChangeEvent", + "description": "Example of a client listener for receiving the notification MonitorStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MonitorStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/monitorDeleteEvent": { + "post": { + "operationId": "listenToMonitorDeleteEvent", + "summary": "Client listener for entity MonitorDeleteEvent", + "description": "Example of a client listener for receiving the notification MonitorDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MonitorDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/healCreateEvent": { + "post": { + "operationId": "listenToHealCreateEvent", + "summary": "Client listener for entity HealCreateEvent", + "description": "Example of a client listener for receiving the notification HealCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/HealCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/healAttributeValueChangeEvent": { + "post": { + "operationId": "listenToHealAttributeValueChangeEvent", + "summary": "Client listener for entity HealAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification HealAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/HealAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/healStateChangeEvent": { + "post": { + "operationId": "listenToHealStateChangeEvent", + "summary": "Client listener for entity HealStateChangeEvent", + "description": "Example of a client listener for receiving the notification HealStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/HealStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/healDeleteEvent": { + "post": { + "operationId": "listenToHealDeleteEvent", + "summary": "Client listener for entity HealDeleteEvent", + "description": "Example of a client listener for receiving the notification HealDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/HealDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/scaleCreateEvent": { + "post": { + "operationId": "listenToScaleCreateEvent", + "summary": "Client listener for entity ScaleCreateEvent", + "description": "Example of a client listener for receiving the notification ScaleCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ScaleCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/scaleAttributeValueChangeEvent": { + "post": { + "operationId": "listenToScaleAttributeValueChangeEvent", + "summary": "Client listener for entity ScaleAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ScaleAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ScaleAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/scaleStateChangeEvent": { + "post": { + "operationId": "listenToScaleStateChangeEvent", + "summary": "Client listener for entity ScaleStateChangeEvent", + "description": "Example of a client listener for receiving the notification ScaleStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ScaleStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/scaleDeleteEvent": { + "post": { + "operationId": "listenToScaleDeleteEvent", + "summary": "Client listener for entity ScaleDeleteEvent", + "description": "Example of a client listener for receiving the notification ScaleDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ScaleDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/migrateCreateEvent": { + "post": { + "operationId": "listenToMigrateCreateEvent", + "summary": "Client listener for entity MigrateCreateEvent", + "description": "Example of a client listener for receiving the notification MigrateCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MigrateCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/migrateAttributeValueChangeEvent": { + "post": { + "operationId": "listenToMigrateAttributeValueChangeEvent", + "summary": "Client listener for entity MigrateAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification MigrateAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MigrateAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/migrateStateChangeEvent": { + "post": { + "operationId": "listenToMigrateStateChangeEvent", + "summary": "Client listener for entity MigrateStateChangeEvent", + "description": "Example of a client listener for receiving the notification MigrateStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MigrateStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/migrateDeleteEvent": { + "post": { + "operationId": "listenToMigrateDeleteEvent", + "summary": "Client listener for entity MigrateDeleteEvent", + "description": "Example of a client listener for receiving the notification MigrateDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/MigrateDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Addressable": { + "type": "object", + "description": "Base schema for adressable entities", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + } + } + }, + "Any": {}, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "example": "video/mp4", + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "example": "iPhone 14 video", + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Remote reference to the content if web-addressable" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "format": "uri", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "format": "uri", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "example": "video/mp4", + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "example": "iPhone 14 video", + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Remote reference to the content if web-addressable" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the characteristic" + }, + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "characteristicRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicRelationship" + } + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "CharacteristicRelationship": { + "type": "object", + "description": "Another Characteristic that is related to the current Characteristic.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the characteristic" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "relationshipType": { + "type": "string", + "description": "The type of relationship" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Connection": { + "type": "object", + "description": "An edge in a resource graph.", + "required": [ + "associationType", + "endpoint" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for graph edge." + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "associationType": { + "type": "string", + "description": "Association type." + }, + "name": { + "type": "string", + "description": "Descriptive name for graph edge." + }, + "endpoint": { + "$ref": "#/definitions/EndpointRef", + "description": "Resource graph vertices connected by this edge." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ConnectionPointRef": { + "type": "object", + "description": "Connection point reference. A connection point provides a service access point (SAP) for input and/or output of the resource function.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Connection point version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ConstraintRef": { + "type": "object", + "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "constraint version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "EndpointRef": { + "type": "object", + "description": "A vertex in a resource graph.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "isRoot": { + "default": true, + "type": "boolean", + "description": "Directionality: true when endpoint is a source, false when a sink. If true for all endpoints connectivity is bidirectional. Default is true." + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "connectionPoint": { + "$ref": "#/definitions/ConnectionPointRef", + "description": "The connection point (SAP) of the associated resource function (optional)." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Entity": { + "type": "object", + "description": "Base entity schema for use in TMForum Open-APIs", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Extensible": { + "type": "object", + "description": "Base Extensible schema for use in TMForum Open-APIs", + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Feature": { + "type": "object", + "description": "Configuration feature.", + "required": [ + "featureCharacteristic", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the feature." + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "isBundle": { + "type": "boolean", + "description": "True if this is a feature group. Default is false." + }, + "isEnabled": { + "type": "boolean", + "description": "True if this feature is enabled. Default is true." + }, + "name": { + "type": "string", + "description": "This is the name for the feature." + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of feature constraints." + }, + "featureCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "minItems": 1, + "description": "This is a list of Characteristics for a particular feature." + }, + "featureRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureRelationship" + } + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "FeatureRelationship": { + "type": "object", + "description": "Configuration feature", + "required": [ + "name", + "relationshipType" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the target feature." + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "This is the name of the target feature." + }, + "relationshipType": { + "type": "string", + "description": "This is the type of the feature relationship." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this feature relationship is valid." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "HeaderItem": { + "type": "object", + "description": "An item typically included in a request or response", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the header item, e.g. locale" + }, + "value": { + "type": "string", + "description": "The value of the header item, e.g. en-us" + } + } + }, + "Heal": { + "type": "object", + "description": "Task Resource used to request healing of a Resource Function", + "required": [ + "cause", + "degreeOfHealing", + "resourceFunction" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the Heal task resource" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference to the Heal task resource" + }, + "cause": { + "type": "string", + "description": "Reason why healing is being requested" + }, + "degreeOfHealing": { + "type": "string", + "description": "Indicates the degree of healing required" + }, + "healAction": { + "type": "string", + "description": "Exact action to be taken as part of the heal process or a pointer to a script to be run" + }, + "name": { + "type": "string", + "description": "Name of the Heal task resource" + }, + "startTime": { + "type": "string", + "description": "The time when the heal action needs to commence. This allows a delay to be added" + }, + "additionalParms": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Additional parameters to be sent to the heal action as name value pairs" + }, + "healPolicy": { + "$ref": "#/definitions/HealPolicyRef" + }, + "resourceFunction": { + "$ref": "#/definitions/ResourceFunctionRef", + "description": "Reference to the Resource Function that needs to be healed" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the migrate request." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Heal_Create": { + "type": "object", + "description": "Task Resource used to request healing of a Resource Function\nSkipped properties: id,href", + "required": [ + "cause", + "degreeOfHealing", + "resourceFunction" + ], + "properties": { + "cause": { + "type": "string", + "description": "Reason why healing is being requested" + }, + "degreeOfHealing": { + "type": "string", + "description": "Indicates the degree of healing required" + }, + "healAction": { + "type": "string", + "description": "Exact action to be taken as part of the heal process or a pointer to a script to be run" + }, + "name": { + "type": "string", + "description": "Name of the Heal task resource" + }, + "startTime": { + "type": "string", + "description": "The time when the heal action needs to commence. This allows a delay to be added" + }, + "additionalParms": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Additional parameters to be sent to the heal action as name value pairs" + }, + "healPolicy": { + "$ref": "#/definitions/HealPolicyRef" + }, + "resourceFunction": { + "$ref": "#/definitions/ResourceFunctionRef", + "description": "Reference to the Resource Function that needs to be healed" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the migrate request." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "HealPolicyRef": { + "type": "object", + "description": "Heal policy reference.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "LogicalResource": { + "type": "object", + "description": "Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory.", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "value": { + "type": "string", + "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the operational state of the resource, such as enable, disable and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the usage state of the resource, such as idle, active, busy and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Migrate": { + "type": "object", + "description": "Task resource used to request migration of the Resource Function", + "required": [ + "cause", + "resourceFunction" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the Migrate task resource" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference to the Migrate task resource" + }, + "adminStateModification": { + "type": "string", + "description": "SubState required before migrate is carried out" + }, + "cause": { + "type": "string", + "description": "Reason why migration is being requested" + }, + "completionMode": { + "type": "string", + "description": "In what mode is the migrate operation to be performed" + }, + "name": { + "type": "string", + "description": "Name of the Migrate task resource" + }, + "priority": { + "type": "integer", + "description": "Priority of the migrate operation" + }, + "startTime": { + "type": "string", + "description": "The time when the migration needs to commence. This allows a delay to be added" + }, + "addConnectionPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointRef" + }, + "description": "Connection points to be added when function is migrated" + }, + "characteristics": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Additional attributes to pass to the migrate operation" + }, + "place": { + "$ref": "#/definitions/PlaceRef" + }, + "removeConnectionPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointRef" + }, + "description": "Connection points to be removed when function is migrated" + }, + "resourceFunction": { + "$ref": "#/definitions/ResourceFunctionRef", + "description": "Reference to the Resource Function that needs to be migrated" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the migrate request." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Migrate_Create": { + "type": "object", + "description": "Task resource used to request migration of the Resource Function\nSkipped properties: id,href", + "required": [ + "cause", + "resourceFunction" + ], + "properties": { + "adminStateModification": { + "type": "string", + "description": "SubState required before migrate is carried out" + }, + "cause": { + "type": "string", + "description": "Reason why migration is being requested" + }, + "completionMode": { + "type": "string", + "description": "In what mode is the migrate operation to be performed" + }, + "name": { + "type": "string", + "description": "Name of the Migrate task resource" + }, + "priority": { + "type": "integer", + "description": "Priority of the migrate operation" + }, + "startTime": { + "type": "string", + "description": "The time when the migration needs to commence. This allows a delay to be added" + }, + "addConnectionPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointRef" + }, + "description": "Connection points to be added when function is migrated" + }, + "characteristics": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "Additional attributes to pass to the migrate operation" + }, + "place": { + "$ref": "#/definitions/PlaceRef" + }, + "removeConnectionPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointRef" + }, + "description": "Connection points to be removed when function is migrated" + }, + "resourceFunction": { + "$ref": "#/definitions/ResourceFunctionRef", + "description": "Reference to the Resource Function that needs to be migrated" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the migrate request." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Monitor": { + "type": "object", + "description": "Monitoring of resources", + "properties": { + "id": { + "type": "string", + "description": "Identifier of an instance of the monitor. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type" + }, + "href": { + "type": "string", + "description": "reference to this monitor" + }, + "sourceHref": { + "type": "string", + "description": "The monitored resource href" + }, + "state": { + "type": "string", + "description": "The Monitor state of the resource. InProgress, InError, Completed" + }, + "request": { + "$ref": "#/definitions/Request", + "description": "Represents the request" + }, + "response": { + "$ref": "#/definitions/Response", + "description": "Represents the response" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Note": { + "type": "object", + "description": "Extra information about a given entity", + "properties": { + "id": { + "example": [ + "afa9-3d90aaa8da0f" + ], + "type": "string", + "description": "Identifier of the note within its containing entity" + }, + "author": { + "example": [ + "Mr. N. Bene" + ], + "type": "string", + "description": "Author of the note" + }, + "date": { + "example": [ + "2020-11-20T08:00:00Z" + ], + "type": "string", + "format": "date-time", + "description": "Date of the note" + }, + "text": { + "example": [ + "This is important" + ], + "type": "string", + "description": "Text of the note" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Place": { + "type": "object", + "description": "Place reference. Place defines the places where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "PlaceRef": { + "type": "object", + "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedPlaceRefOrValue": { + "type": "object", + "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself", + "required": [ + "role" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "role": { + "type": "string" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Request": { + "type": "object", + "description": "A response to a request", + "required": [ + "body", + "header" + ], + "properties": { + "body": { + "type": "string", + "description": "The body of the request. For example for an HTTP request might contain content of a form ." + }, + "method": { + "type": "string", + "description": "The protocol of the request, e.g. http" + }, + "to": { + "type": "string", + "description": "The target of the request, e.g. a URL for an HTTP request" + }, + "header": { + "type": "array", + "items": { + "$ref": "#/definitions/HeaderItem" + }, + "minItems": 1, + "description": "Items included in the header of the request. For example for an HTTP request might contain requested locale, basic authentication." + } + } + }, + "Resource": { + "type": "object", + "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory.", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type." + }, + "href": { + "type": "string", + "description": "The URI for the object itself." + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the operational state of the resource, such as enable, disable and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the usage state of the resource, such as idle, active, busy and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceAdministrativeStateType": { + "type": "string", + "description": "ResourceAdministrativeStateType enumerations", + "enum": [ + "locked", + "unlocked", + "shutdown" + ] + }, + "ResourceFunction": { + "type": "object", + "description": "A ResourceFunction is a behavior to transform inputs of any nature into outputs of any nature independently from the way it is provided.", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "functionType": { + "type": "string", + "description": "A type of the Resource Function as specified by the provider of the API." + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "priority": { + "type": "integer", + "description": "Priority of the Resource Function. Decides what happens in a contention scenario." + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "role": { + "type": "string", + "description": "Role of the Resource Function. Used when Resource Function is a component of a composite Resource Function and the exact role of the service within the composite is not clear from descriptor/location." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "value": { + "type": "string", + "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "autoModification": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "List of the kinds of auto-modifications that are applied to a given network service e.g what can be scaled." + }, + "connectionPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointRef" + }, + "description": "External connection points of the resource function. These are the service access points (SAP) where inputs and outputs of the function are available." + }, + "connectivity": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGraph" + }, + "description": "Internal connectivity of contained resource functions." + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the operational state of the resource, such as enable, disable and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on." + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRef" + }, + "description": "This is a reference to a schedule. Allows consumers to schedule modifications to the service at certain times." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the usage state of the resource, such as idle, active, busy and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceFunction_Create": { + "type": "object", + "description": "A ResourceFunction is a behavior to transform inputs of any nature into outputs of any nature independently from the way it is provided.\nSkipped properties: id,href", + "required": [ + "name", + "resourceSpecification" + ], + "properties": { + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "functionType": { + "type": "string", + "description": "A type of the Resource Function as specified by the provider of the API." + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "priority": { + "type": "integer", + "description": "Priority of the Resource Function. Decides what happens in a contention scenario." + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "role": { + "type": "string", + "description": "Role of the Resource Function. Used when Resource Function is a component of a composite Resource Function and the exact role of the service within the composite is not clear from descriptor/location." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "value": { + "type": "string", + "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "autoModification": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "List of the kinds of auto-modifications that are applied to a given network service e.g what can be scaled." + }, + "connectionPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointRef" + }, + "description": "External connection points of the resource function. These are the service access points (SAP) where inputs and outputs of the function are available." + }, + "connectivity": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGraph" + }, + "description": "Internal connectivity of contained resource functions." + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the operational state of the resource, such as enable, disable and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on." + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRef" + }, + "description": "This is a reference to a schedule. Allows consumers to schedule modifications to the service at certain times." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the usage state of the resource, such as idle, active, busy and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceFunction_Update": { + "type": "object", + "description": "A ResourceFunction is a behavior to transform inputs of any nature into outputs of any nature independently from the way it is provided.\nSkipped properties: id,href", + "properties": { + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "functionType": { + "type": "string", + "description": "A type of the Resource Function as specified by the provider of the API." + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "priority": { + "type": "integer", + "description": "Priority of the Resource Function. Decides what happens in a contention scenario." + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "role": { + "type": "string", + "description": "Role of the Resource Function. Used when Resource Function is a component of a composite Resource Function and the exact role of the service within the composite is not clear from descriptor/location." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "value": { + "type": "string", + "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "autoModification": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "description": "List of the kinds of auto-modifications that are applied to a given network service e.g what can be scaled." + }, + "connectionPoint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionPointRef" + }, + "description": "External connection points of the resource function. These are the service access points (SAP) where inputs and outputs of the function are available." + }, + "connectivity": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGraph" + }, + "description": "Internal connectivity of contained resource functions." + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the operational state of the resource, such as enable, disable and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on." + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRef" + }, + "description": "This is a reference to a schedule. Allows consumers to schedule modifications to the service at certain times." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the usage state of the resource, such as idle, active, busy and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceFunctionRef": { + "type": "object", + "description": "Resource Function reference.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Resource function version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceGraph": { + "type": "object", + "description": "Resource graph", + "required": [ + "connection" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the resource graph." + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the resource graph." + }, + "name": { + "type": "string", + "description": "Descriptive name for the resource graph." + }, + "connection": { + "type": "array", + "items": { + "$ref": "#/definitions/Connection" + }, + "minItems": 1, + "description": "Resource graph edges." + }, + "graphRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGraphRelationship" + }, + "description": "Relationships to other resource graphs." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceGraphRef": { + "type": "object", + "description": "Resource graph reference.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceGraphRelationship": { + "type": "object", + "description": "Describes links between resource graphs.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "relationshipType": { + "type": "string", + "description": "Semantic of the relationship." + }, + "resourceGraph": { + "$ref": "#/definitions/ResourceGraphRef", + "description": "A reference to the related resource graph." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceOperationalStateType": { + "type": "string", + "description": "ResourceOperationalStateType enumerations", + "enum": [ + "enable", + "disable" + ] + }, + "ResourceRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceRefOrValue": { + "type": "object", + "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue class itself", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type." + }, + "href": { + "type": "string", + "description": "The URI for the object itself." + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the operational state of the resource, such as enable, disable and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the usage state of the resource, such as idle, active, busy and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ResourceRelationship": { + "type": "object", + "description": "Linked resources to the one instantiate, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (e.g. an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful", + "required": [ + "relationshipType", + "resource" + ], + "properties": { + "relationshipType": { + "example": "bundled", + "type": "string", + "description": "Type of the resource relationship, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (eg: an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful" + }, + "resource": { + "$ref": "#/definitions/ResourceRefOrValue" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceSpecificationRef": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceStatusType": { + "type": "string", + "description": "ResourceStatusType enumerations", + "enum": [ + "standby", + "alarm", + "available", + "reserved", + "unknown", + "suspended" + ] + }, + "ResourceUsageStateType": { + "type": "string", + "description": "ResourceUsageStateType enumerations", + "enum": [ + "idle", + "active", + "busy" + ] + }, + "Response": { + "type": "object", + "description": "A response to a request", + "required": [ + "body", + "header" + ], + "properties": { + "body": { + "type": "string", + "description": "The body of the response. For example for an HTTP response might contain HTML for rendering." + }, + "statusCode": { + "type": "string", + "description": "The status of the response. For example for an HTTP response would be codes such as 200, 400, etc." + }, + "header": { + "type": "array", + "items": { + "$ref": "#/definitions/HeaderItem" + }, + "minItems": 1, + "description": "Items included in the header of the response. For example for an HTTP response might contain negotiated locale." + } + } + }, + "Scale": { + "type": "object", + "description": "Task Resource used to request scaling of a Resource Function", + "required": [ + "numberOfSteps", + "resourceFunction", + "scaleType" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the Scale task resource" + }, + "href": { + "type": "string", + "description": "Reference to the Scale task resource" + }, + "aspectId": { + "type": "string", + "description": "Scaling aspect is the dimension along which the Resource Function needs to be scaled. The id of the aspect is provided here" + }, + "name": { + "type": "string", + "description": "Name of the Scale task resource" + }, + "numberOfSteps": { + "example": 2, + "type": "integer", + "description": "Number of scaling steps in the direction indicated by type of scale" + }, + "scaleType": { + "type": "string", + "description": "Type of scaling requested" + }, + "resourceFunction": { + "$ref": "#/definitions/ResourceFunctionRef", + "description": "Reference to the Resource Function that needs to be scaled" + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRef" + }, + "description": "Schedule for the scale. If not provided then needs to be actioned immediately" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the migrate request." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Scale_Create": { + "type": "object", + "description": "Task Resource used to request scaling of a Resource Function\nSkipped properties: id,href", + "required": [ + "numberOfSteps", + "resourceFunction", + "scaleType" + ], + "properties": { + "aspectId": { + "type": "string", + "description": "Scaling aspect is the dimension along which the Resource Function needs to be scaled. The id of the aspect is provided here" + }, + "name": { + "type": "string", + "description": "Name of the Scale task resource" + }, + "numberOfSteps": { + "example": 2, + "type": "integer", + "description": "Number of scaling steps in the direction indicated by type of scale" + }, + "scaleType": { + "type": "string", + "description": "Type of scaling requested" + }, + "resourceFunction": { + "$ref": "#/definitions/ResourceFunctionRef", + "description": "Reference to the Resource Function that needs to be scaled" + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRef" + }, + "description": "Schedule for the scale. If not provided then needs to be actioned immediately" + }, + "state": { + "$ref": "#/definitions/TaskStateType", + "description": "Tracks the lifecycle status of the migrate request." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ScheduleRef": { + "type": "object", + "description": "Schedule reference.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "TaskStateType": { + "type": "string", + "description": "Possible values for the state of a task", + "enum": [ + "accepted", + "terminatedWithError", + "inProgress", + "done" + ] + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "ResourceFunctionCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceFunctionCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceFunctionCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceFunction": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceFunction" + } + } + }, + "ResourceFunctionAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceFunctionAttributeValueChangeEventPayload" + } + } + }, + "ResourceFunctionAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceFunction": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceFunction" + } + } + }, + "ResourceFunctionStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceFunctionStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceFunctionStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceFunction": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceFunction" + } + } + }, + "ResourceFunctionDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceFunctionDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceFunctionDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resourceFunction": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ResourceFunction" + } + } + }, + "MonitorCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MonitorCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "MonitorCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "monitor": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Monitor" + } + } + }, + "MonitorAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MonitorAttributeValueChangeEventPayload" + } + } + }, + "MonitorAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "monitor": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Monitor" + } + } + }, + "MonitorStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MonitorStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "MonitorStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "monitor": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Monitor" + } + } + }, + "MonitorDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MonitorDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "MonitorDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "monitor": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Monitor" + } + } + }, + "HealCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/HealCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "HealCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "heal": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Heal" + } + } + }, + "HealAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/HealAttributeValueChangeEventPayload" + } + } + }, + "HealAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "heal": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Heal" + } + } + }, + "HealStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/HealStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "HealStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "heal": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Heal" + } + } + }, + "HealDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/HealDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "HealDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "heal": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Heal" + } + } + }, + "ScaleCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ScaleCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ScaleCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "scale": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Scale" + } + } + }, + "ScaleAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ScaleAttributeValueChangeEventPayload" + } + } + }, + "ScaleAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "scale": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Scale" + } + } + }, + "ScaleStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ScaleStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ScaleStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "scale": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Scale" + } + } + }, + "ScaleDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ScaleDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ScaleDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "scale": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Scale" + } + } + }, + "MigrateCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MigrateCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "MigrateCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "migrate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Migrate" + } + } + }, + "MigrateAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MigrateAttributeValueChangeEventPayload" + } + } + }, + "MigrateAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "migrate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Migrate" + } + } + }, + "MigrateStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MigrateStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "MigrateStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "migrate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Migrate" + } + } + }, + "MigrateDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/MigrateDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "MigrateDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "migrate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Migrate" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/api/tm-forum/resource-inventory/api.json b/api/tm-forum/resource-inventory/api.json new file mode 100644 index 00000000..42bf3224 --- /dev/null +++ b/api/tm-forum/resource-inventory/api.json @@ -0,0 +1,2721 @@ +{ + "swagger": "2.0", + "info": { + "title": "API Resource Inventory Management", + "description": "## TMF API Reference: TMF639 - Resource Inventory \n\n### Release : 19.5 - December 2019\n\nResource Inventory API goal is to provide the ability to manage Resources.\n\n### Operations\nResource Inventory API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity (for administration purposes)\n- Manage notification of events", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/resourceInventoryManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "resource" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/resource": { + "get": { + "operationId": "listResource", + "summary": "List or find Resource objects", + "description": "This operation list or find Resource entities", + "tags": [ + "resource" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Resource" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createResource", + "summary": "Creates a Resource", + "description": "This operation creates a Resource entity.", + "tags": [ + "resource" + ], + "parameters": [ + { + "name": "resource", + "description": "The Resource to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Resource_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Resource" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/resource/{id}": { + "get": { + "operationId": "retrieveResource", + "summary": "Retrieves a Resource by ID", + "description": "This operation retrieves a Resource entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "resource" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Resource", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Resource" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchResource", + "summary": "Updates partially a Resource", + "description": "This operation updates partially a Resource entity.", + "tags": [ + "resource" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Resource", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "resource", + "description": "The Resource to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/Resource_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Resource" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteResource", + "summary": "Deletes a Resource", + "description": "This operation deletes a Resource entity.", + "tags": [ + "resource" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Resource", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceCreateEvent": { + "post": { + "operationId": "listenToResourceCreateEvent", + "summary": "Client listener for entity ResourceCreateEvent", + "description": "Example of a client listener for receiving the notification ResourceCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceAttributeValueChangeEvent": { + "post": { + "operationId": "listenToResourceAttributeValueChangeEvent", + "summary": "Client listener for entity ResourceAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceStateChangeEvent": { + "post": { + "operationId": "listenToResourceStateChangeEvent", + "summary": "Client listener for entity ResourceStateChangeEvent", + "description": "Example of a client listener for receiving the notification ResourceStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/resourceDeleteEvent": { + "post": { + "operationId": "listenToResourceDeleteEvent", + "summary": "Client listener for entity ResourceDeleteEvent", + "description": "Example of a client listener for receiving the notification ResourceDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ResourceDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Addressable": { + "type": "object", + "description": "Base schema for adressable entities", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + } + } + }, + "Any": {}, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "format": "uri", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "format": "uri", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the characteristic" + }, + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "characteristicRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicRelationship" + } + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "CharacteristicRelationship": { + "type": "object", + "description": "Another Characteristic that is related to the current Characteristic;", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the characteristic" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "relationshipType": { + "type": "string", + "description": "The type of relationship" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ConstraintRef": { + "type": "object", + "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "constraint version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Entity": { + "type": "object", + "description": "Base entity schema for use in TMForum Open-APIs", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Extensible": { + "type": "object", + "description": "Base Extensible schema for use in TMForum Open-APIs", + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Feature": { + "type": "object", + "description": "Configuration feature.", + "required": [ + "featureCharacteristic", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the feature." + }, + "isBundle": { + "type": "boolean", + "description": "True if this is a feature group. Default is false." + }, + "isEnabled": { + "type": "boolean", + "description": "True if this feature is enabled. Default is true." + }, + "name": { + "type": "string", + "description": "This is the name for the feature." + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of feature constraints." + }, + "featureCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + }, + "minItems": 1, + "description": "This is a list of Characteristics for a particular feature." + }, + "featureRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureRelationship" + } + } + } + }, + "FeatureRelationship": { + "type": "object", + "description": "Configuration feature", + "required": [ + "name", + "relationshipType" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the target feature." + }, + "name": { + "type": "string", + "description": "This is the name of the target feature." + }, + "relationshipType": { + "type": "string", + "description": "This is the type of the feature relationship." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this feature relationship is valid." + } + } + }, + "LogicalResource": { + "type": "object", + "description": "Logic resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory.", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "value": { + "type": "string", + "description": "the value of the logical resource. E.g '0746712345' for MSISDN's" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Note": { + "type": "object", + "description": "Extra information about a given entity", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation)" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "author": { + "type": "string", + "description": "Author of the note" + }, + "date": { + "type": "string", + "format": "date-time", + "description": "Date of the note" + }, + "text": { + "type": "string", + "description": "Text of the note" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "PhysicalResource": { + "type": "object", + "description": "Physical resource is a type of resource that describes the common set of attributes shared by all concrete physical resources (e.g. EQUIPMENT) in the inventory.", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "manufactureDate": { + "type": "string", + "format": "date-time", + "description": "This is a string attribute that defines the date of manufacture of this item in the fixed format \"dd/mm/yyyy\". This is an optional attribute." + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "powerState": { + "type": "string", + "description": "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "serialNumber": { + "type": "string", + "description": "This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "versionNumber": { + "type": "string", + "description": "This is a string that identifies the version of this physical resource. This is an optional attribute." + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Place": { + "type": "object", + "description": "Place reference. Place defines the places where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "PlaceRef": { + "type": "object", + "description": "Place reference. PlaceRef defines the placeRefs where the products are sold or delivered.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "RelatedPlaceRefOrValue": { + "type": "object", + "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself", + "required": [ + "role" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the place" + }, + "href": { + "type": "string", + "description": "Unique reference of the place" + }, + "name": { + "type": "string", + "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]" + }, + "role": { + "type": "string" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Resource": { + "type": "object", + "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory.", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type." + }, + "href": { + "type": "string", + "description": "The URI for the object itself." + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Resource_Create": { + "type": "object", + "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory.\nSkipped properties: id,href", + "required": [ + "href", + "id", + "name" + ], + "properties": { + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Resource_Update": { + "type": "object", + "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory.\nSkipped properties: id,href", + "required": [ + "href", + "id" + ], + "properties": { + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceAdministrativeStateType": { + "type": "string", + "description": "ResourceAdministrativeStateType enumerations", + "enum": [ + "locked", + "unlocked", + "shutdown" + ] + }, + "ResourceOperationalStateType": { + "type": "string", + "description": "ResourceOperationalStateType enumerations", + "enum": [ + "enable", + "disable" + ] + }, + "ResourceRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceRefOrValue": { + "type": "object", + "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue class itself", + "required": [ + "href", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type." + }, + "href": { + "type": "string", + "description": "The URI for the object itself." + }, + "category": { + "type": "string", + "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" + }, + "description": { + "type": "string", + "description": "free-text description of the resource" + }, + "endOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date till the resource is operating" + }, + "name": { + "type": "string", + "description": "A string used to give a name to the resource" + }, + "resourceVersion": { + "type": "string", + "description": "A field that identifies the specific version of an instance of a resource." + }, + "startOperatingDate": { + "type": "string", + "format": "date-time", + "description": "A date time( DateTime). The date from which the resource is operating" + }, + "activationFeature": { + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "description": "Configuration features" + }, + "administrativeState": { + "$ref": "#/definitions/ResourceAdministrativeStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + } + }, + "note": { + "type": "array", + "items": { + "$ref": "#/definitions/Note" + } + }, + "operationalState": { + "$ref": "#/definitions/ResourceOperationalStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "place": { + "$ref": "#/definitions/RelatedPlaceRefOrValue" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "resourceCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/Characteristic" + } + }, + "resourceRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRelationship" + } + }, + "resourceSpecification": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "resourceStatus": { + "$ref": "#/definitions/ResourceStatusType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "usageState": { + "$ref": "#/definitions/ResourceUsageStateType", + "description": "Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ResourceRelationship": { + "type": "object", + "description": "Linked resources to the one instantiate, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (e.g. an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful", + "required": [ + "relationshipType", + "resource" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "relationshipType": { + "example": "bundled", + "type": "string", + "description": "Type of the resource relationship, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (eg: an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful" + }, + "resource": { + "$ref": "#/definitions/ResourceRefOrValue" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ResourceSpecificationRef": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ResourceStatusType": { + "type": "string", + "description": "ResourceStatusType enumerations", + "enum": [ + "standby", + "alarm", + "available", + "reserved", + "unknown", + "suspended" + ] + }, + "ResourceUsageStateType": { + "type": "string", + "description": "ResourceUsageStateType enumerations", + "enum": [ + "idle", + "active", + "busy" + ] + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "ResourceCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resource": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Resource" + } + } + }, + "ResourceAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceAttributeValueChangeEventPayload" + } + } + }, + "ResourceAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resource": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Resource" + } + } + }, + "ResourceStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resource": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Resource" + } + } + }, + "ResourceDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ResourceDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ResourceDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "resource": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Resource" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} diff --git a/api/tm-forum/service-catalog/api.json b/api/tm-forum/service-catalog/api.json new file mode 100644 index 00000000..2c13072b --- /dev/null +++ b/api/tm-forum/service-catalog/api.json @@ -0,0 +1,6416 @@ +{ + "swagger": "2.0", + "info": { + "title": "Service Catalog Management", + "description": "## TMF API Reference: TMF633 - Service Catalog Management\n\n Version 4.0 \n\nThe Service Catalog API is one of Catalog Management API Family. Service Catalog API goal is to provide a catalog of services. \nService Catalog API performs the following operations on the resource :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity (for administration purposes)\n- Manage notification of events. .\n\nCopyright \u00a9 TM Forum 2020. All Rights Reserved. ", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/serviceCatalogManagement/v4/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "serviceCatalog" + }, + { + "name": "serviceCategory" + }, + { + "name": "serviceCandidate" + }, + { + "name": "serviceSpecification" + }, + { + "name": "importJob" + }, + { + "name": "exportJob" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/serviceCatalog": { + "get": { + "operationId": "listServiceCatalog", + "summary": "List or find ServiceCatalog objects", + "description": "This operation list or find ServiceCatalog entities", + "tags": [ + "serviceCatalog" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCatalog" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createServiceCatalog", + "summary": "Creates a ServiceCatalog", + "description": "This operation creates a ServiceCatalog entity.", + "tags": [ + "serviceCatalog" + ], + "parameters": [ + { + "name": "serviceCatalog", + "description": "The ServiceCatalog to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceCatalog_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServiceCatalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/serviceCatalog/{id}": { + "get": { + "operationId": "retrieveServiceCatalog", + "summary": "Retrieves a ServiceCatalog by ID", + "description": "This operation retrieves a ServiceCatalog entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "serviceCatalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCatalog", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceCatalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchServiceCatalog", + "summary": "Updates partially a ServiceCatalog", + "description": "This operation updates partially a ServiceCatalog entity.", + "tags": [ + "serviceCatalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCatalog", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "serviceCatalog", + "description": "The ServiceCatalog to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceCatalog_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ServiceCatalog" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteServiceCatalog", + "summary": "Deletes a ServiceCatalog", + "description": "This operation deletes a ServiceCatalog entity.", + "tags": [ + "serviceCatalog" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCatalog", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/serviceCategory": { + "get": { + "operationId": "listServiceCategory", + "summary": "List or find ServiceCategory objects", + "description": "This operation list or find ServiceCategory entities", + "tags": [ + "serviceCategory" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategory" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createServiceCategory", + "summary": "Creates a ServiceCategory", + "description": "This operation creates a ServiceCategory entity.", + "tags": [ + "serviceCategory" + ], + "parameters": [ + { + "name": "serviceCategory", + "description": "The ServiceCategory to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceCategory_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServiceCategory" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/serviceCategory/{id}": { + "get": { + "operationId": "retrieveServiceCategory", + "summary": "Retrieves a ServiceCategory by ID", + "description": "This operation retrieves a ServiceCategory entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "serviceCategory" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCategory", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceCategory" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchServiceCategory", + "summary": "Updates partially a ServiceCategory", + "description": "This operation updates partially a ServiceCategory entity.", + "tags": [ + "serviceCategory" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCategory", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "serviceCategory", + "description": "The ServiceCategory to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceCategory_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ServiceCategory" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteServiceCategory", + "summary": "Deletes a ServiceCategory", + "description": "This operation deletes a ServiceCategory entity.", + "tags": [ + "serviceCategory" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCategory", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/serviceCandidate": { + "get": { + "operationId": "listServiceCandidate", + "summary": "List or find ServiceCandidate objects", + "description": "This operation list or find ServiceCandidate entities", + "tags": [ + "serviceCandidate" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCandidate" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createServiceCandidate", + "summary": "Creates a ServiceCandidate", + "description": "This operation creates a ServiceCandidate entity.", + "tags": [ + "serviceCandidate" + ], + "parameters": [ + { + "name": "serviceCandidate", + "description": "The ServiceCandidate to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceCandidate_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServiceCandidate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/serviceCandidate/{id}": { + "get": { + "operationId": "retrieveServiceCandidate", + "summary": "Retrieves a ServiceCandidate by ID", + "description": "This operation retrieves a ServiceCandidate entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "serviceCandidate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCandidate", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceCandidate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchServiceCandidate", + "summary": "Updates partially a ServiceCandidate", + "description": "This operation updates partially a ServiceCandidate entity.", + "tags": [ + "serviceCandidate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCandidate", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "serviceCandidate", + "description": "The ServiceCandidate to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceCandidate_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ServiceCandidate" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteServiceCandidate", + "summary": "Deletes a ServiceCandidate", + "description": "This operation deletes a ServiceCandidate entity.", + "tags": [ + "serviceCandidate" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceCandidate", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/serviceSpecification": { + "get": { + "operationId": "listServiceSpecification", + "summary": "List or find ServiceSpecification objects", + "description": "This operation list or find ServiceSpecification entities", + "tags": [ + "serviceSpecification" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createServiceSpecification", + "summary": "Creates a ServiceSpecification", + "description": "This operation creates a ServiceSpecification entity.", + "tags": [ + "serviceSpecification" + ], + "parameters": [ + { + "name": "serviceSpecification", + "description": "The ServiceSpecification to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceSpecification_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServiceSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/serviceSpecification/{id}": { + "get": { + "operationId": "retrieveServiceSpecification", + "summary": "Retrieves a ServiceSpecification by ID", + "description": "This operation retrieves a ServiceSpecification entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "serviceSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchServiceSpecification", + "summary": "Updates partially a ServiceSpecification", + "description": "This operation updates partially a ServiceSpecification entity.", + "tags": [ + "serviceSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "serviceSpecification", + "description": "The ServiceSpecification to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceSpecification_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/ServiceSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteServiceSpecification", + "summary": "Deletes a ServiceSpecification", + "description": "This operation deletes a ServiceSpecification entity.", + "tags": [ + "serviceSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ServiceSpecification", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/importJob": { + "get": { + "operationId": "listImportJob", + "summary": "List or find ImportJob objects", + "description": "This operation list or find ImportJob entities", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ImportJob" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createImportJob", + "summary": "Creates a ImportJob", + "description": "This operation creates a ImportJob entity.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "importJob", + "description": "The ImportJob to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ImportJob_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ImportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/importJob/{id}": { + "get": { + "operationId": "retrieveImportJob", + "summary": "Retrieves a ImportJob by ID", + "description": "This operation retrieves a ImportJob entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ImportJob", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ImportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteImportJob", + "summary": "Deletes a ImportJob", + "description": "This operation deletes a ImportJob entity.", + "tags": [ + "importJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ImportJob", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/exportJob": { + "get": { + "operationId": "listExportJob", + "summary": "List or find ExportJob objects", + "description": "This operation list or find ExportJob entities", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ExportJob" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createExportJob", + "summary": "Creates a ExportJob", + "description": "This operation creates a ExportJob entity.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "exportJob", + "description": "The ExportJob to be created", + "required": true, + "schema": { + "$ref": "#/definitions/ExportJob_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ExportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/exportJob/{id}": { + "get": { + "operationId": "retrieveExportJob", + "summary": "Retrieves a ExportJob by ID", + "description": "This operation retrieves a ExportJob entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ExportJob", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ExportJob" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteExportJob", + "summary": "Deletes a ExportJob", + "description": "This operation deletes a ExportJob entity.", + "tags": [ + "exportJob" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the ExportJob", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCatalogCreateEvent": { + "post": { + "operationId": "listenToServiceCatalogCreateEvent", + "summary": "Client listener for entity ServiceCatalogCreateEvent", + "description": "Example of a client listener for receiving the notification ServiceCatalogCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCatalogCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCatalogChangeEvent": { + "post": { + "operationId": "listenToServiceCatalogChangeEvent", + "summary": "Client listener for entity ServiceCatalogChangeEvent", + "description": "Example of a client listener for receiving the notification ServiceCatalogChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCatalogChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCatalogBatchEvent": { + "post": { + "operationId": "listenToServiceCatalogBatchEvent", + "summary": "Client listener for entity ServiceCatalogBatchEvent", + "description": "Example of a client listener for receiving the notification ServiceCatalogBatchEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCatalogBatchEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCatalogDeleteEvent": { + "post": { + "operationId": "listenToServiceCatalogDeleteEvent", + "summary": "Client listener for entity ServiceCatalogDeleteEvent", + "description": "Example of a client listener for receiving the notification ServiceCatalogDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCatalogDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCategoryCreateEvent": { + "post": { + "operationId": "listenToServiceCategoryCreateEvent", + "summary": "Client listener for entity ServiceCategoryCreateEvent", + "description": "Example of a client listener for receiving the notification ServiceCategoryCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCategoryCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCategoryChangeEvent": { + "post": { + "operationId": "listenToServiceCategoryChangeEvent", + "summary": "Client listener for entity ServiceCategoryChangeEvent", + "description": "Example of a client listener for receiving the notification ServiceCategoryChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCategoryChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCategoryDeleteEvent": { + "post": { + "operationId": "listenToServiceCategoryDeleteEvent", + "summary": "Client listener for entity ServiceCategoryDeleteEvent", + "description": "Example of a client listener for receiving the notification ServiceCategoryDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCategoryDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCandidateCreateEvent": { + "post": { + "operationId": "listenToServiceCandidateCreateEvent", + "summary": "Client listener for entity ServiceCandidateCreateEvent", + "description": "Example of a client listener for receiving the notification ServiceCandidateCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCandidateCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCandidateChangeEvent": { + "post": { + "operationId": "listenToServiceCandidateChangeEvent", + "summary": "Client listener for entity ServiceCandidateChangeEvent", + "description": "Example of a client listener for receiving the notification ServiceCandidateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCandidateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceCandidateDeleteEvent": { + "post": { + "operationId": "listenToServiceCandidateDeleteEvent", + "summary": "Client listener for entity ServiceCandidateDeleteEvent", + "description": "Example of a client listener for receiving the notification ServiceCandidateDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceCandidateDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceSpecificationCreateEvent": { + "post": { + "operationId": "listenToServiceSpecificationCreateEvent", + "summary": "Client listener for entity ServiceSpecificationCreateEvent", + "description": "Example of a client listener for receiving the notification ServiceSpecificationCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceSpecificationCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceSpecificationChangeEvent": { + "post": { + "operationId": "listenToServiceSpecificationChangeEvent", + "summary": "Client listener for entity ServiceSpecificationChangeEvent", + "description": "Example of a client listener for receiving the notification ServiceSpecificationChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceSpecificationChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/serviceSpecificationDeleteEvent": { + "post": { + "operationId": "listenToServiceSpecificationDeleteEvent", + "summary": "Client listener for entity ServiceSpecificationDeleteEvent", + "description": "Example of a client listener for receiving the notification ServiceSpecificationDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/ServiceSpecificationDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Addressable": { + "type": "object", + "description": "Base schema for adressable entities", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + } + } + }, + "Any": {}, + "AssociationSpecificationRef": { + "type": "object", + "description": "reference to an AssociationSpecification object", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "format": "uri", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "format": "uri", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "CharacteristicSpecification": { + "type": "object", + "description": "This class defines a characteristic specification.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "charSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecificationRelationship" + }, + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics." + }, + "characteristicValueSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicValueSpecification" + }, + "description": "A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "CharacteristicSpecificationBase": { + "type": "object", + "description": "This class defines a characteristic specification.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "CharacteristicSpecificationRelationship": { + "type": "object", + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Characteristic specifications. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID.", + "properties": { + "characteristicSpecificationId": { + "type": "string", + "description": "Unique identifier of the characteristic within the specification" + }, + "name": { + "type": "string", + "description": "Name of the target characteristic within the specification" + }, + "parentSpecificationHref": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the parent specification containing the target characteristic" + }, + "parentSpecificationId": { + "type": "string", + "description": "Unique identifier of the parent specification containing the target characteristic" + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the object is valid" + } + } + }, + "CharacteristicValueSpecification": { + "type": "object", + "description": "specification of a value (number or text or an object) that can be assigned to a Characteristic.", + "properties": { + "isDefault": { + "type": "boolean", + "description": "If true, the Boolean Indicates if the value is the default value for a characteristic" + }, + "rangeInterval": { + "type": "string", + "description": "An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are \"open\", \"closed\", \"closedBottom\" and \"closedTop\"." + }, + "regex": { + "type": "string", + "description": "A regular expression constraint for given value" + }, + "unitOfMeasure": { + "type": "string", + "description": "A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot." + }, + "valueFrom": { + "type": "integer", + "description": "The low range value that a characteristic can take on" + }, + "valueTo": { + "type": "integer", + "description": "The upper range value that a characteristic can take on" + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic value can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a value is applicable." + }, + "value": { + "$ref": "#/definitions/Any", + "description": "A discrete value that the characteristic can take on, or the actual value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ConstraintRef": { + "type": "object", + "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "constraint version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "EntitySpecification": { + "type": "object", + "description": "EntitySpecification is a class that offers characteristics to describe a type of entity. Entities are generic constructs that may be used to describe bespoke business entities that are not effectively covered by the existing SID model.\nFunctionally, the entity specification acts as a template by which entities may be instantiated and described. By sharing the same specification, these entities would therefore share the same set of characteristics.\nNote: The \u2018configurable\u2019 attribute on the specCharacteristics determines if an entity instantiated from the entity specification can override the value of the attribute. When set to false, the entity instance may not define a value that differs from the value in the specification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of the specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "EntitySpecificationRelationship": { + "type": "object", + "description": "A migration, substitution, dependency or exclusivity relationship between/among entity specifications.", + "required": [ + "relationshipType" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as migration, substitution, dependency, exclusivity" + }, + "role": { + "type": "string", + "description": "The association role for this entity specification" + }, + "associationSpec": { + "$ref": "#/definitions/AssociationSpecificationRef", + "description": "A specification for an association used by this relationship" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the entitySpecRelationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ExportJob": { + "type": "object", + "description": "Represents a task used to export resources to a file", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the export job" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference of the export job" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Data at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "The format of the exported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure" + }, + "path": { + "type": "string", + "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job" + }, + "query": { + "type": "string", + "description": "Used to scope the exported data" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be exported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the export job (not started, running, succeeded, failed)" + } + } + }, + "ExportJob_Create": { + "type": "object", + "description": "Represents a task used to export resources to a file\nSkipped properties: id,href", + "required": [ + "url" + ], + "properties": { + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Data at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "The format of the exported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure" + }, + "path": { + "type": "string", + "description": "URL of the root resource acting as the source for streaming content to the file specified by the export job" + }, + "query": { + "type": "string", + "description": "Used to scope the exported data" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be exported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the export job (not started, running, succeeded, failed)" + } + } + }, + "Extensible": { + "type": "object", + "description": "Base Extensible schema for use in TMForum Open-APIs", + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "FeatureSpecification": { + "type": "object", + "description": "Specification for resource, service or product features", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the feature specification. Must be locally unique within the containing specification, thus allowing direct access to the feature spec." + }, + "isBundle": { + "type": "boolean", + "description": "A flag indicating if this is a feature group (true) or not (false)" + }, + "isEnabled": { + "type": "boolean", + "description": "A flag indicating if the feature is enabled (true) or not (false)" + }, + "name": { + "type": "string", + "description": "Unique name given to the feature specification" + }, + "version": { + "type": "string", + "description": "Version of the feature specification" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of feature constraints" + }, + "featureSpecCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecificationCharacteristic" + }, + "description": "This is a list of characteristics for a particular feature" + }, + "featureSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecificationRelationship" + }, + "description": "A dependency, exclusivity or aggratation relationship between/among feature specifications." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this feature specification is valid" + } + } + }, + "FeatureSpecificationCharacteristic": { + "type": "object", + "description": "Configuration feature characteristic specification.", + "required": [ + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "featureSpecCharRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecificationCharacteristicRelationship" + }, + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among feature characteristics." + }, + "featureSpecCharacteristicValue": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicValueSpecification" + }, + "description": "Used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a FeatureCharacteristic object." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "FeatureSpecificationCharacteristicRelationship": { + "type": "object", + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among FeatureSpecificationCharacteristics.", + "properties": { + "characteristicId": { + "type": "string", + "description": "Unique identifier of the characteristic within the the target feature specification" + }, + "featureId": { + "type": "string", + "description": "Unique identifier of the target feature specification within the resource specification." + }, + "name": { + "type": "string", + "description": "Name of the target characteristic" + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity" + }, + "resourceSpecificationHref": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the resource specification containing the target feature and feature characteristic" + }, + "resourceSpecificationId": { + "type": "string", + "description": "Unique identifier of the resource specification containing the target feature and feature characteristic" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the object is valid" + } + } + }, + "FeatureSpecificationRelationship": { + "type": "object", + "description": "Relationship between feature specifications", + "required": [ + "name", + "relationshipType" + ], + "properties": { + "featureId": { + "type": "string", + "description": "Unique identifier of the target feature specification." + }, + "name": { + "type": "string", + "description": "This is the name of the target feature specification." + }, + "parentSpecificationHref": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the parent specification containing the target feature" + }, + "parentSpecificationId": { + "type": "string", + "description": "Unique identifier of the parent specification containing the target feature" + }, + "relationshipType": { + "type": "string", + "description": "This is the type of the feature specification relationship." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this feature spoecification relationship is valid." + } + } + }, + "ImportJob": { + "type": "object", + "description": "Represents a task used to import resources from a file", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the import job" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Reference of the import job" + }, + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "Indicates the format of the imported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure if status is failed" + }, + "path": { + "type": "string", + "description": "URL of the root resource where the content of the file specified by the import job must be applied" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be imported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the import job (not started, running, succeeded, failed)" + } + } + }, + "ImportJob_Create": { + "type": "object", + "description": "Represents a task used to import resources from a file\nSkipped properties: id,href", + "required": [ + "url" + ], + "properties": { + "completionDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was completed" + }, + "contentType": { + "type": "string", + "description": "Indicates the format of the imported data" + }, + "creationDate": { + "type": "string", + "format": "date-time", + "description": "Date at which the job was created" + }, + "errorLog": { + "type": "string", + "description": "Reason for failure if status is failed" + }, + "path": { + "type": "string", + "description": "URL of the root resource where the content of the file specified by the import job must be applied" + }, + "url": { + "type": "string", + "format": "uri", + "description": "URL of the file containing the data to be imported" + }, + "status": { + "$ref": "#/definitions/JobStateType", + "description": "Status of the import job (not started, running, succeeded, failed)" + } + } + }, + "JobStateType": { + "type": "string", + "description": "Valid values for the state of a batch job (e.g. catalog import)", + "enum": [ + "Not Started", + "Running", + "Succeeded", + "Failed" + ] + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ResourceSpecificationRef": { + "type": "object", + "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Resource Specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ServiceCandidate": { + "type": "object", + "description": "ServiceCandidate is an entity that makes a service specification available to a catalog. A\nServiceCandidate and its associated service specification may be published - made visible - in any number of service catalogs, or in none. One service specification can be composed of other service specifications.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the service candidate." + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "the version of service candidate" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of categories for this candidate" + }, + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecificationRef", + "description": "The service specification implied by this candidate" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCandidate_Create": { + "type": "object", + "description": "ServiceCandidate is an entity that makes a service specification available to a catalog. A\nServiceCandidate and its associated service specification may be published - made visible - in any number of service catalogs, or in none. One service specification can be composed of other service specifications.\nSkipped properties: id,href", + "required": [ + "name", + "serviceSpecification" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the service candidate." + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "the version of service candidate" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of categories for this candidate" + }, + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecificationRef", + "description": "The service specification implied by this candidate" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCandidate_Update": { + "type": "object", + "description": "ServiceCandidate is an entity that makes a service specification available to a catalog. A\nServiceCandidate and its associated service specification may be published - made visible - in any number of service catalogs, or in none. One service specification can be composed of other service specifications.\nSkipped properties: id,href,lastUpdate", + "properties": { + "description": { + "type": "string", + "description": "Description of this REST resource" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of the service candidate." + }, + "name": { + "type": "string", + "description": "Name given to this REST resource" + }, + "version": { + "type": "string", + "description": "the version of service candidate" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of categories for this candidate" + }, + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecificationRef", + "description": "The service specification implied by this candidate" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCandidateRef": { + "type": "object", + "description": "ServiceCandidate reference. ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Version of the service candidate" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ServiceCatalog": { + "type": "object", + "description": "The root entity for service catalog management.\nA service catalog is a group of service specifications made available through service candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers). \nA service catalog typically includes name, description and time period that is valid for. It will have a list of ServiceCandidate catalog items. A ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.\nA ServiceCandidate and its associated ServiceSpecification may be \"published\" - made visible -in any number of ServiceCatalogs, or in none.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the service catalog" + }, + "version": { + "type": "string", + "description": "ServiceCatalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of service categories associated with this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties or party roles related to this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the service catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCatalog_Create": { + "type": "object", + "description": "The root entity for service catalog management.\nA service catalog is a group of service specifications made available through service candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers). \nA service catalog typically includes name, description and time period that is valid for. It will have a list of ServiceCandidate catalog items. A ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.\nA ServiceCandidate and its associated ServiceSpecification may be \"published\" - made visible -in any number of ServiceCatalogs, or in none.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the service catalog" + }, + "version": { + "type": "string", + "description": "ServiceCatalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of service categories associated with this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties or party roles related to this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the service catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCatalog_Update": { + "type": "object", + "description": "The root entity for service catalog management.\nA service catalog is a group of service specifications made available through service candidates that an organization provides to the consumers (internal consumers like its employees or B2B customers or B2C customers). \nA service catalog typically includes name, description and time period that is valid for. It will have a list of ServiceCandidate catalog items. A ServiceCandidate is an entity that makes a ServiceSpecification available to a catalog.\nA ServiceCandidate and its associated ServiceSpecification may be \"published\" - made visible -in any number of ServiceCatalogs, or in none.\nSkipped properties: id,href,lastUpdate", + "properties": { + "description": { + "type": "string", + "description": "Description of this catalog" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the service catalog" + }, + "version": { + "type": "string", + "description": "ServiceCatalog version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of service categories associated with this catalog" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "List of parties or party roles related to this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the service catalog is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCategory": { + "type": "object", + "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "ServiceCategory version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of child categories in the tree for in this category" + }, + "serviceCandidate": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCandidateRef" + }, + "description": "List of service candidates associated with this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCategory_Create": { + "type": "object", + "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "ServiceCategory version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of child categories in the tree for in this category" + }, + "serviceCandidate": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCandidateRef" + }, + "description": "List of service candidates associated with this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCategory_Update": { + "type": "object", + "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.\nSkipped properties: id,href,lastUpdate", + "properties": { + "description": { + "type": "string", + "description": "Description of the category" + }, + "isRoot": { + "type": "boolean", + "description": "If true, this Boolean indicates that the category is a root of categories" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status" + }, + "name": { + "type": "string", + "description": "Name of the category" + }, + "parentId": { + "type": "string", + "description": "Unique identifier of the parent category" + }, + "version": { + "type": "string", + "description": "ServiceCategory version" + }, + "category": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCategoryRef" + }, + "description": "List of child categories in the tree for in this category" + }, + "serviceCandidate": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCandidateRef" + }, + "description": "List of service candidates associated with this category" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the category is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceCategoryRef": { + "type": "object", + "description": "The (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Category version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ServiceLevelSpecificationRef": { + "type": "object", + "description": "A Service Level Specification represents a pre-defined or negotiated set of Service Level \nObjectives. In addition, certain consequences are associated with not meeting the Service Level \nObjectives. Service Level Agreements are expressed in terms of Service Level Specifications.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "ServiceSpecRelationship": { + "type": "object", + "description": "A dependency, substitution or exclusivity relationship between/among service specifications.", + "required": [ + "relationshipType" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as dependency, substitution or exclusivity" + }, + "role": { + "type": "string", + "description": "The association role for this service specification" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the serviceSpecRelationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "ServiceSpecification": { + "type": "object", + "description": "ServiceSpecification is a class that offers characteristics to describe a type of service.\nFunctionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of the specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "resourceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "description": "A list of resource specification references (ResourceSpecificationRef [*]). The ResourceSpecification is required for a service specification with type ResourceFacingServiceSpecification (RFSS)." + }, + "serviceLevelSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLevelSpecificationRef" + }, + "description": "A list of service level specifications related to this service specification, and which will need to be satisifiable for corresponding service instances; e.g. Gold, Platinum" + }, + "serviceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecRelationship" + }, + "description": "A list of service specifications related to this specification, e.g. migration, substitution, dependency or exclusivity relationship" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceSpecification_Create": { + "type": "object", + "description": "ServiceSpecification is a class that offers characteristics to describe a type of service.\nFunctionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.\nSkipped properties: id,href", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of the specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "resourceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "description": "A list of resource specification references (ResourceSpecificationRef [*]). The ResourceSpecification is required for a service specification with type ResourceFacingServiceSpecification (RFSS)." + }, + "serviceLevelSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLevelSpecificationRef" + }, + "description": "A list of service level specifications related to this service specification, and which will need to be satisifiable for corresponding service instances; e.g. Gold, Platinum" + }, + "serviceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecRelationship" + }, + "description": "A list of service specifications related to this specification, e.g. migration, substitution, dependency or exclusivity relationship" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceSpecification_Update": { + "type": "object", + "description": "ServiceSpecification is a class that offers characteristics to describe a type of service.\nFunctionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.\nSkipped properties: id,href,lastUpdate", + "properties": { + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "featureSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureSpecification" + }, + "description": "A list of Features for this specification." + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "resourceSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSpecificationRef" + }, + "description": "A list of resource specification references (ResourceSpecificationRef [*]). The ResourceSpecification is required for a service specification with type ResourceFacingServiceSpecification (RFSS)." + }, + "serviceLevelSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLevelSpecificationRef" + }, + "description": "A list of service level specifications related to this service specification, and which will need to be satisifiable for corresponding service instances; e.g. Gold, Platinum" + }, + "serviceSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceSpecRelationship" + }, + "description": "A list of service specifications related to this specification, e.g. migration, substitution, dependency or exclusivity relationship" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ServiceSpecificationRef": { + "type": "object", + "description": "Service specification reference: ServiceSpecification(s) required to realize a ProductSpecification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "Service specification version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "TargetEntitySchema": { + "type": "object", + "description": "The reference object to the schema and type of target entity which is described by a specification", + "required": [ + "@schemaLocation", + "@type" + ], + "properties": { + "@schemaLocation": { + "type": "string", + "description": "This field provides a link to the schema describing the target entity" + }, + "@type": { + "type": "string", + "description": "Class type of the target entity" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "endDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format" + } + } + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "ServiceCatalogCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCatalogCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCatalogCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCatalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCatalog" + } + } + }, + "ServiceCatalogChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCatalogChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCatalogChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCatalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCatalog" + } + } + }, + "ServiceCatalogBatchEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCatalogBatchEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCatalogBatchEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCatalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCatalog" + } + } + }, + "ServiceCatalogDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCatalogDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCatalogDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCatalog": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCatalog" + } + } + }, + "ServiceCategoryCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCategoryCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCategoryCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCategory": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCategory" + } + } + }, + "ServiceCategoryChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCategoryChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCategoryChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCategory": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCategory" + } + } + }, + "ServiceCategoryDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCategoryDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCategoryDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCategory": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCategory" + } + } + }, + "ServiceCandidateCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCandidateCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCandidateCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCandidate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCandidate" + } + } + }, + "ServiceCandidateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCandidateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCandidateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCandidate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCandidate" + } + } + }, + "ServiceCandidateDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceCandidateDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceCandidateDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceCandidate": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceCandidate" + } + } + }, + "ServiceSpecificationCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceSpecificationCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceSpecificationCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "ServiceSpecificationChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceSpecificationChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceSpecificationChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "ServiceSpecificationDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/ServiceSpecificationDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "ServiceSpecificationDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "serviceSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} diff --git a/api/tm-forum/usage-management/api.json b/api/tm-forum/usage-management/api.json new file mode 100644 index 00000000..008a079a --- /dev/null +++ b/api/tm-forum/usage-management/api.json @@ -0,0 +1,3570 @@ +{ + "swagger": "2.0", + "info": { + "title": "Usage Management", + "description": "TMF635 Usage Management provides a standaised mechanism for usage management such as creation, update, retrieval, import and export of a collection of rated and non-rated usage. A usage represents an event that is of interest to a billing system, and can have charges applied to it. It is comprised of characteristics which define all attributes known for a particular type of usage.", + "version": "4.0.0" + }, + "host": "serverRoot", + "basePath": "/tmf-api/usageManagement/v4/", + "schemes": [ + "http" + ], + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "tags": [ + { + "name": "usage" + }, + { + "name": "usageSpecification" + }, + { + "name": "notification listeners (client side)" + }, + { + "name": "events subscription" + } + ], + "paths": { + "/usage": { + "get": { + "operationId": "listUsage", + "summary": "List or find Usage objects", + "description": "This operation list or find Usage entities", + "tags": [ + "usage" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createUsage", + "summary": "Creates a Usage", + "description": "This operation creates a Usage entity.", + "tags": [ + "usage" + ], + "parameters": [ + { + "name": "usage", + "description": "The Usage to be created", + "required": true, + "schema": { + "$ref": "#/definitions/Usage_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Usage" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/usage/{id}": { + "get": { + "operationId": "retrieveUsage", + "summary": "Retrieves a Usage by ID", + "description": "This operation retrieves a Usage entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "usage" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Usage", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Usage" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchUsage", + "summary": "Updates partially a Usage", + "description": "This operation updates partially a Usage entity.", + "tags": [ + "usage" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Usage", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "usage", + "description": "The Usage to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/Usage_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/Usage" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteUsage", + "summary": "Deletes a Usage", + "description": "This operation deletes a Usage entity.", + "tags": [ + "usage" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the Usage", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/usageSpecification": { + "get": { + "operationId": "listUsageSpecification", + "summary": "List or find UsageSpecification objects", + "description": "This operation list or find UsageSpecification entities", + "tags": [ + "usageSpecification" + ], + "parameters": [ + { + "name": "fields", + "description": "Comma-separated properties to be provided in response", + "required": false, + "in": "query", + "type": "string" + }, + { + "name": "offset", + "description": "Requested index for start of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + }, + { + "name": "limit", + "description": "Requested number of resources to be provided in response", + "required": false, + "in": "query", + "type": "integer" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "X-Result-Count": { + "description": "Actual number of items returned in the response body", + "type": "integer" + }, + "X-Total-Count": { + "description": "Total number of items matching criteria", + "type": "integer" + } + }, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/UsageSpecification" + } + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "operationId": "createUsageSpecification", + "summary": "Creates a UsageSpecification", + "description": "This operation creates a UsageSpecification entity.", + "tags": [ + "usageSpecification" + ], + "parameters": [ + { + "name": "usageSpecification", + "description": "The UsageSpecification to be created", + "required": true, + "schema": { + "$ref": "#/definitions/UsageSpecification_Create" + }, + "in": "body" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/UsageSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/usageSpecification/{id}": { + "get": { + "operationId": "retrieveUsageSpecification", + "summary": "Retrieves a UsageSpecification by ID", + "description": "This operation retrieves a UsageSpecification entity. Attribute selection is enabled for all first level attributes.", + "tags": [ + "usageSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the UsageSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "fields", + "description": "Comma-separated properties to provide in response", + "required": false, + "type": "string", + "in": "query" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UsageSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "operationId": "patchUsageSpecification", + "summary": "Updates partially a UsageSpecification", + "description": "This operation updates partially a UsageSpecification entity.", + "tags": [ + "usageSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the UsageSpecification", + "required": true, + "type": "string", + "in": "path" + }, + { + "name": "usageSpecification", + "description": "The UsageSpecification to be updated", + "required": true, + "schema": { + "$ref": "#/definitions/UsageSpecification_Update" + }, + "in": "body" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/UsageSpecification" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "operationId": "deleteUsageSpecification", + "summary": "Deletes a UsageSpecification", + "description": "This operation deletes a UsageSpecification entity.", + "tags": [ + "usageSpecification" + ], + "parameters": [ + { + "name": "id", + "description": "Identifier of the UsageSpecification", + "required": true, + "type": "string", + "in": "path" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub": { + "post": { + "operationId": "registerListener", + "summary": "Register a listener", + "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "data", + "schema": { + "$ref": "#/definitions/EventSubscriptionInput" + }, + "required": true, + "in": "body", + "description": "Data containing the callback endpoint to deliver the information" + } + ], + "responses": { + "201": { + "description": "Subscribed", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/hub/{id}": { + "delete": { + "operationId": "unregisterListener", + "summary": "Unregister a listener", + "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", + "tags": [ + "events subscription" + ], + "parameters": [ + { + "name": "id", + "type": "string", + "required": true, + "in": "path", + "description": "The id of the registered listener" + } + ], + "responses": { + "204": { + "description": "Deleted" + }, + "400": { + "description": "Bad request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/usageCreateEvent": { + "post": { + "operationId": "listenToUsageCreateEvent", + "summary": "Client listener for entity UsageCreateEvent", + "description": "Example of a client listener for receiving the notification UsageCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/UsageCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/usageAttributeValueChangeEvent": { + "post": { + "operationId": "listenToUsageAttributeValueChangeEvent", + "summary": "Client listener for entity UsageAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification UsageAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/UsageAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/usageDeleteEvent": { + "post": { + "operationId": "listenToUsageDeleteEvent", + "summary": "Client listener for entity UsageDeleteEvent", + "description": "Example of a client listener for receiving the notification UsageDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/UsageDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/usageStateChangeEvent": { + "post": { + "operationId": "listenToUsageStateChangeEvent", + "summary": "Client listener for entity UsageStateChangeEvent", + "description": "Example of a client listener for receiving the notification UsageStateChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/UsageStateChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/usageSpecificationCreateEvent": { + "post": { + "operationId": "listenToUsageSpecificationCreateEvent", + "summary": "Client listener for entity UsageSpecificationCreateEvent", + "description": "Example of a client listener for receiving the notification UsageSpecificationCreateEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/UsageSpecificationCreateEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/usageSpecificationAttributeValueChangeEvent": { + "post": { + "operationId": "listenToUsageSpecificationAttributeValueChangeEvent", + "summary": "Client listener for entity UsageSpecificationAttributeValueChangeEvent", + "description": "Example of a client listener for receiving the notification UsageSpecificationAttributeValueChangeEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/UsageSpecificationAttributeValueChangeEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/listener/usageSpecificationDeleteEvent": { + "post": { + "operationId": "listenToUsageSpecificationDeleteEvent", + "summary": "Client listener for entity UsageSpecificationDeleteEvent", + "description": "Example of a client listener for receiving the notification UsageSpecificationDeleteEvent", + "tags": [ + "notification listeners (client side)" + ], + "parameters": [ + { + "name": "data", + "required": true, + "in": "body", + "description": "The event data", + "schema": { + "$ref": "#/definitions/UsageSpecificationDeleteEvent" + } + } + ], + "responses": { + "201": { + "description": "Notified", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "405": { + "description": "Method Not allowed", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Conflict", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Addressable": { + "type": "object", + "description": "Base schema for adressable entities", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + } + } + }, + "Any": {}, + "AssociationSpecificationRef": { + "type": "object", + "description": "reference to an AssociationSpecification object", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Attachment": { + "type": "object", + "description": "Complements the description of an element (for instance a product) through video, pictures...", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "AttachmentRef": { + "type": "object", + "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", + "properties": { + "id": { + "type": "string", + "description": "Unique-Identifier for this attachment" + }, + "href": { + "type": "string", + "format": "uri", + "description": "URL serving as reference for the attachment resource" + }, + "description": { + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "url": { + "type": "string", + "format": "uri", + "description": "Link to the attachment media/content" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "AttachmentRefOrValue": { + "type": "object", + "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.", + "properties": { + "id": { + "example": "4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "description": "Unique identifier for this particular attachment" + }, + "href": { + "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "URI for this Attachment" + }, + "attachmentType": { + "example": "video", + "type": "string", + "description": "Attachment type such as video, picture" + }, + "content": { + "type": "string", + "format": "base64", + "description": "The actual contents of the attachment object, if embedded, encoded as base64" + }, + "description": { + "example": "Photograph of the Product", + "type": "string", + "description": "A narrative text describing the content of the attachment" + }, + "mimeType": { + "type": "string", + "description": "Attachment mime type such as extension file for video, picture and document" + }, + "name": { + "type": "string", + "description": "The name of the attachment" + }, + "url": { + "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f", + "type": "string", + "format": "uri", + "description": "Uniform Resource Locator, is a web page address (a subset of URI)" + }, + "size": { + "$ref": "#/definitions/Quantity", + "description": "The size of the attachment." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which the attachment is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Characteristic": { + "type": "object", + "description": "Describes a given characteristic of an object or entity through a name/value pair.", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the characteristic" + }, + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "characteristicRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicRelationship" + } + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "CharacteristicRelationship": { + "type": "object", + "description": "Another Characteristic that is related to the current Characteristic;", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the characteristic" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "relationshipType": { + "type": "string", + "description": "The type of relationship" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "CharacteristicSpecification": { + "type": "object", + "description": "This class defines a characteristic specification.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "charSpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecificationRelationship" + }, + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics." + }, + "characteristicValueSpecification": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicValueSpecification" + }, + "description": "A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on." + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "CharacteristicSpecificationBase": { + "type": "object", + "description": "This class defines a characteristic specification.", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the characteristic" + }, + "configurable": { + "type": "boolean", + "description": "If true, the Boolean indicates that the target Characteristic is configurable" + }, + "description": { + "type": "string", + "description": "A narrative that explains the CharacteristicSpecification." + }, + "extensible": { + "type": "boolean", + "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource." + }, + "isUnique": { + "type": "boolean", + "description": "An indicator that specifies if a value is unique for the specification. Possible values are; \"unique while value is in effect\" and \"unique whether value is in effect or not\"" + }, + "maxCardinality": { + "type": "integer", + "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality." + }, + "minCardinality": { + "type": "integer", + "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality." + }, + "name": { + "type": "string", + "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications." + }, + "regex": { + "type": "string", + "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value." + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a characteristic is applicable." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@valueSchemaLocation": { + "type": "string", + "description": "This (optional) field provides a link to the schema describing the value type." + } + } + }, + "CharacteristicSpecificationRelationship": { + "type": "object", + "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Characteristic specifications. The specification characteristic is embedded within the specification whose ID and href are in this entity, and identified by its ID.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "characteristicSpecificationId": { + "type": "string", + "description": "Unique identifier of the characteristic within the specification" + }, + "name": { + "type": "string", + "description": "Name of the target characteristic within the specification" + }, + "parentSpecificationHref": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference to the parent specification containing the target characteristic" + }, + "parentSpecificationId": { + "type": "string", + "description": "Unique identifier of the parent specification containing the target characteristic" + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as aggregation, migration, substitution, dependency, exclusivity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the object is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "CharacteristicValueSpecification": { + "type": "object", + "description": "specification of a value (number or text or an object) that can be assigned to a Characteristic.", + "properties": { + "isDefault": { + "type": "boolean", + "description": "If true, the Boolean Indicates if the value is the default value for a characteristic" + }, + "rangeInterval": { + "type": "string", + "description": "An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are \"open\", \"closed\", \"closedBottom\" and \"closedTop\"." + }, + "regex": { + "type": "string", + "description": "A regular expression constraint for given value" + }, + "unitOfMeasure": { + "type": "string", + "description": "A length, surface, volume, dry measure, liquid measure, money, weight, time, and the like. In general, a determinate quantity or magnitude of the kind designated, taken as a standard of comparison for others of the same kind, in assigning to them numerical values, as 1 foot, 1 yard, 1 mile, 1 square foot." + }, + "valueFrom": { + "type": "integer", + "description": "The low range value that a characteristic can take on" + }, + "valueTo": { + "type": "integer", + "description": "The upper range value that a characteristic can take on" + }, + "valueType": { + "type": "string", + "description": "A kind of value that the characteristic value can take on, such as numeric, text and so forth" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period of time for which a value is applicable." + }, + "value": { + "$ref": "#/definitions/Any", + "description": "A discrete value that the characteristic can take on, or the actual value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ConstraintRef": { + "type": "object", + "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "version": { + "type": "string", + "description": "constraint version" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Entity": { + "type": "object", + "description": "Base entity schema for use in TMForum Open-APIs", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "EntityRef": { + "type": "object", + "description": "Entity reference schema to be use for all entityRef class.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "EntitySpecification": { + "type": "object", + "description": "EntitySpecification is a class that offers characteristics to describe a type of entity. Entities are generic constructs that may be used to describe bespoke business entities that are not effectively covered by the existing SID model.\nFunctionally, the entity specification acts as a template by which entities may be instantiated and described. By sharing the same specification, these entities would therefore share the same set of characteristics.\nNote: The \u2018configurable\u2019 attribute on the specCharacteristics determines if an entity instantiated from the entity specification can override the value of the attribute. When set to false, the entity instance may not define a value that differs from the value in the specification.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of the specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "EntitySpecificationRelationship": { + "type": "object", + "description": "A migration, substitution, dependency or exclusivity relationship between/among entity specifications.", + "required": [ + "relationshipType" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "relationshipType": { + "type": "string", + "description": "Type of relationship such as migration, substitution, dependency, exclusivity" + }, + "role": { + "type": "string", + "description": "The association role for this entity specification" + }, + "associationSpec": { + "$ref": "#/definitions/AssociationSpecificationRef", + "description": "A specification for an association used by this relationship" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which the entitySpecRelationship is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "Extensible": { + "type": "object", + "description": "Base Extensible schema for use in TMForum Open-APIs", + "properties": { + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Money": { + "type": "object", + "description": "A base / value business entity used to represent money", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "unit": { + "type": "string", + "description": "Currency (ISO4217 norm uses 3 letters to define the currency)" + }, + "value": { + "type": "number", + "format": "float", + "description": "A positive floating point number" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "ProductRef": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "Quantity": { + "type": "object", + "description": "An amount in a given unit", + "properties": { + "amount": { + "default": 1, + "type": "number", + "format": "float", + "description": "Numeric value in a given unit" + }, + "units": { + "type": "string", + "description": "Unit" + } + } + }, + "RatedProductUsage": { + "type": "object", + "description": "An occurrence of employing a product for its intended purpose with all rating details", + "properties": { + "isBilled": { + "type": "boolean", + "description": "Boolean indicating if usage have been billed or not" + }, + "isTaxExempt": { + "type": "boolean", + "description": "Indicates if the rated amount is exempt of tax" + }, + "offerTariffType": { + "type": "string", + "description": "Type of tariff applied" + }, + "ratingAmountType": { + "type": "string", + "description": "Type of amount" + }, + "ratingDate": { + "type": "string", + "format": "date-time", + "description": "Date of usage rating" + }, + "taxRate": { + "type": "number", + "format": "float", + "description": "Tax rate" + }, + "usageRatingTag": { + "type": "string", + "description": "Tag value: [usage]: the usage is always rated outside a usage bundle\n[included usage]: the usage is rated inside a usage bundle\n[non included usage]: the usage bundle is exhausted. The usage is rated outside the usage bundle" + }, + "bucketValueConvertedInAmount": { + "$ref": "#/definitions/Money" + }, + "productRef": { + "$ref": "#/definitions/ProductRef" + }, + "taxExcludedRatingAmount": { + "$ref": "#/definitions/Money" + }, + "taxIncludedRatingAmount": { + "$ref": "#/definitions/Money" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "RelatedParty": { + "type": "object", + "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", + "required": [ + "@referredType", + "id" + ], + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "Name of the related entity." + }, + "role": { + "type": "string", + "description": "Role played by the related party" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + } + }, + "TargetEntitySchema": { + "type": "object", + "description": "The reference object to the schema and type of target entity which is described by a specification", + "required": [ + "@schemaLocation", + "@type" + ], + "properties": { + "@schemaLocation": { + "type": "string", + "description": "This field provides a link to the schema describing the target entity" + }, + "@type": { + "type": "string", + "description": "Class type of the target entity" + } + } + }, + "TimePeriod": { + "type": "object", + "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "endDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "End of the time period, using IETC-RFC-3339 format" + }, + "startDateTime": { + "example": "1985-04-12T23:20:50.52Z", + "type": "string", + "format": "date-time", + "description": "Start of the time period, using IETC-RFC-3339 format" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Usage": { + "type": "object", + "description": "An occurrence of employing a Product, Service, or Resource for its intended purpose, which is of interest to the business and can have charges applied to it. It is comprised of characteristics, which represent attributes of usage.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "example": "Voicemail Retrieval", + "type": "string", + "description": "Description of usage" + }, + "usageDate": { + "example": "2020-09-21T09:13:16-07:00", + "type": "string", + "format": "date-time", + "description": "Date of usage" + }, + "usageType": { + "type": "string", + "description": "Type of usage" + }, + "ratedProductUsage": { + "type": "array", + "items": { + "$ref": "#/definitions/RatedProductUsage" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/UsageStatusType" + }, + "usageCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/UsageCharacteristic" + } + }, + "usageSpecification": { + "$ref": "#/definitions/UsageSpecificationRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Usage_Create": { + "type": "object", + "description": "An occurrence of employing a Product, Service, or Resource for its intended purpose, which is of interest to the business and can have charges applied to it. It is comprised of characteristics, which represent attributes of usage.\nSkipped properties: id,href", + "properties": { + "description": { + "example": "Voicemail Retrieval", + "type": "string", + "description": "Description of usage" + }, + "usageDate": { + "example": "2020-09-21T09:13:16-07:00", + "type": "string", + "format": "date-time", + "description": "Date of usage" + }, + "usageType": { + "type": "string", + "description": "Type of usage" + }, + "ratedProductUsage": { + "type": "array", + "items": { + "$ref": "#/definitions/RatedProductUsage" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/UsageStatusType" + }, + "usageCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/UsageCharacteristic" + } + }, + "usageSpecification": { + "$ref": "#/definitions/UsageSpecificationRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "Usage_Update": { + "type": "object", + "description": "An occurrence of employing a Product, Service, or Resource for its intended purpose, which is of interest to the business and can have charges applied to it. It is comprised of characteristics, which represent attributes of usage.\nSkipped properties: id,href", + "properties": { + "description": { + "example": "Voicemail Retrieval", + "type": "string", + "description": "Description of usage" + }, + "usageDate": { + "example": "2020-09-21T09:13:16-07:00", + "type": "string", + "format": "date-time", + "description": "Date of usage" + }, + "usageType": { + "type": "string", + "description": "Type of usage" + }, + "ratedProductUsage": { + "type": "array", + "items": { + "$ref": "#/definitions/RatedProductUsage" + } + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + } + }, + "status": { + "$ref": "#/definitions/UsageStatusType" + }, + "usageCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/UsageCharacteristic" + } + }, + "usageSpecification": { + "$ref": "#/definitions/UsageSpecificationRef" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "UsageCharacteristic": { + "type": "object", + "description": "Provides the value of a given characteristic", + "required": [ + "name", + "value" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique identifier of the characteristic" + }, + "name": { + "type": "string", + "description": "Name of the characteristic" + }, + "valueType": { + "type": "string", + "description": "Data type of the value of the characteristic" + }, + "characteristicRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicRelationship" + } + }, + "value": { + "$ref": "#/definitions/Any", + "description": "The value of the characteristic" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "UsageSpecification": { + "type": "object", + "description": "A detailed description of a usage event that are of interest to the business and can have charges applied to it. It is comprised of characteristics, which define all attributes known for a particular type of usage.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of the specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "UsageSpecification_Create": { + "type": "object", + "description": "A detailed description of a usage event that are of interest to the business and can have charges applied to it. It is comprised of characteristics, which define all attributes known for a particular type of usage.\nSkipped properties: id,href", + "properties": { + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of the specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "UsageSpecification_Update": { + "type": "object", + "description": "A detailed description of a usage event that are of interest to the business and can have charges applied to it. It is comprised of characteristics, which define all attributes known for a particular type of usage.\nSkipped properties: id,href", + "properties": { + "description": { + "type": "string", + "description": "Description of the specification" + }, + "isBundle": { + "type": "boolean", + "description": "isBundle determines whether specification represents a single specification (false), or a bundle of specifications (true)." + }, + "lastUpdate": { + "type": "string", + "format": "date-time", + "description": "Date and time of the last update of the specification" + }, + "lifecycleStatus": { + "type": "string", + "description": "Used to indicate the current lifecycle status of this catalog item" + }, + "name": { + "type": "string", + "description": "Name given to the specification" + }, + "version": { + "type": "string", + "description": "specification version" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachmentRefOrValue" + }, + "description": "Attachments that may be of relevance to this specification, such as picture, document, media" + }, + "constraint": { + "type": "array", + "items": { + "$ref": "#/definitions/ConstraintRef" + }, + "description": "This is a list of constraint references applied to this specification" + }, + "entitySpecRelationship": { + "type": "array", + "items": { + "$ref": "#/definitions/EntitySpecificationRelationship" + }, + "description": "Relationship to another specification" + }, + "relatedParty": { + "type": "array", + "items": { + "$ref": "#/definitions/RelatedParty" + }, + "description": "Parties who manage or otherwise have an interest in this specification" + }, + "specCharacteristic": { + "type": "array", + "items": { + "$ref": "#/definitions/CharacteristicSpecification" + }, + "description": "List of characteristics that the entity can take" + }, + "targetEntitySchema": { + "$ref": "#/definitions/TargetEntitySchema", + "description": "Pointer to a schema that defines the target entity" + }, + "validFor": { + "$ref": "#/definitions/TimePeriod", + "description": "The period for which this REST resource is valid" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + } + } + }, + "UsageSpecificationRef": { + "type": "object", + "description": "UsageSpecification reference. UsageSpecification is a detailed description of a usage event that are of interest to the business and can have charges applied to it. It is comprised of characteristics, which define all attributes known for a particular type of usage.", + "properties": { + "id": { + "type": "string", + "description": "unique identifier" + }, + "href": { + "type": "string", + "format": "uri", + "description": "Hyperlink reference" + }, + "name": { + "type": "string", + "description": "The name of the usage specification" + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class" + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class Extensible name" + }, + "@referredType": { + "type": "string", + "description": "The actual type of the target instance when needed for disambiguation." + } + }, + "required": [ + "id" + ] + }, + "UsageStatusType": { + "type": "string", + "description": "Possible values for the status of the Usage", + "enum": [ + "received", + "rejected", + "recycled", + "guided", + "rated", + "rerated", + "billed" + ] + }, + "EventSubscription": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "id", + "callback" + ], + "properties": { + "id": { + "type": "string", + "description": "Id of the listener" + }, + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "EventSubscriptionInput": { + "type": "object", + "description": "Sets the communication endpoint address the service instance must use to deliver notification information", + "required": [ + "callback" + ], + "properties": { + "callback": { + "type": "string", + "description": "The callback being registered." + }, + "query": { + "type": "string", + "description": "additional data to be passed" + } + } + }, + "UsageCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/UsageCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "UsageCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "usage": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Usage" + } + } + }, + "UsageAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/UsageAttributeValueChangeEventPayload" + } + } + }, + "UsageAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "usage": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Usage" + } + } + }, + "UsageDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/UsageDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "UsageDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "usage": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Usage" + } + } + }, + "UsageStateChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/UsageStateChangeEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "UsageStateChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "usage": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/Usage" + } + } + }, + "UsageSpecificationCreateEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/UsageSpecificationCreateEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "UsageSpecificationCreateEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "usageSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/UsageSpecification" + } + } + }, + "UsageSpecificationAttributeValueChangeEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + }, + "fieldPath": { + "type": "string", + "description": "The path identifying the object field concerned by this notification." + }, + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/UsageSpecificationAttributeValueChangeEventPayload" + } + } + }, + "UsageSpecificationAttributeValueChangeEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "usageSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/UsageSpecification" + } + } + }, + "UsageSpecificationDeleteEvent": { + "type": "object", + "description": "The notification data structure", + "properties": { + "event": { + "description": "The event payload linked to the involved resource object", + "$ref": "#/definitions/UsageSpecificationDeleteEventPayload" + }, + "eventId": { + "type": "string", + "description": "The identifier of the notification." + }, + "eventTime": { + "type": "string", + "format": "date-time", + "description": "Time of the event occurrence." + }, + "eventType": { + "type": "string", + "description": "The type of the notification." + }, + "correlationId": { + "type": "string", + "description": "The correlation id for this event." + }, + "domain": { + "type": "string", + "description": "The domain of the event." + }, + "title": { + "type": "string", + "description": "The title of the event." + }, + "description": { + "type": "string", + "description": "An explnatory of the event." + }, + "priority": { + "type": "string", + "description": "A priority." + }, + "timeOcurred": { + "type": "string", + "format": "date-time", + "description": "The time the event occured." + } + } + }, + "UsageSpecificationDeleteEventPayload": { + "type": "object", + "description": "The event data structure", + "properties": { + "usageSpecification": { + "description": "The involved resource data for the event", + "$ref": "#/definitions/UsageSpecification" + } + } + }, + "Error": { + "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", + "type": "object", + "required": [ + "code", + "reason" + ], + "properties": { + "code": { + "type": "string", + "description": "Application relevant detail, defined in the API or a common list." + }, + "reason": { + "type": "string", + "description": "Explanation of the reason for the error which can be shown to a client user." + }, + "message": { + "type": "string", + "description": "More details and corrective actions related to the error which can be shown to a client user." + }, + "status": { + "type": "string", + "description": "HTTP Error code extension" + }, + "referenceError": { + "type": "string", + "format": "uri", + "description": "URI of documentation describing the error." + }, + "@baseType": { + "type": "string", + "description": "When sub-classing, this defines the super-class." + }, + "@schemaLocation": { + "type": "string", + "format": "uri", + "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" + }, + "@type": { + "type": "string", + "description": "When sub-classing, this defines the sub-class entity name." + } + } + } + } +} \ No newline at end of file diff --git a/customer-bill-management/pom.xml b/customer-bill-management/pom.xml index 15b5cdb1..941302d9 100644 --- a/customer-bill-management/pom.xml +++ b/customer-bill-management/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF678_Customer_Bill_Management_API_swagger_v4.0.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF678-Customer_Bill_V4-0-0.zip diff --git a/customer-bill-management/src/main/resources/application.yaml b/customer-bill-management/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/customer-bill-management/src/main/resources/application.yaml +++ b/customer-bill-management/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/customer-bill-management/src/main/resources/logback.xml b/customer-bill-management/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/customer-bill-management/src/main/resources/logback.xml +++ b/customer-bill-management/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/customer-bill-management/src/test/resources/application.yaml b/customer-bill-management/src/test/resources/application.yaml index 28093c03..7a4c99e8 100644 --- a/customer-bill-management/src/test/resources/application.yaml +++ b/customer-bill-management/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/customer-bill-management/src/test/resources/logback.xml b/customer-bill-management/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/customer-bill-management/src/test/resources/logback.xml +++ b/customer-bill-management/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/customer-management/pom.xml b/customer-management/pom.xml index 72d813ac..81efb546 100644 --- a/customer-management/pom.xml +++ b/customer-management/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF629_Customer_Management_API_swagger_v4.0.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF629-Customer-v4.0.0.zip diff --git a/customer-management/src/main/resources/application.yaml b/customer-management/src/main/resources/application.yaml index f930b101..3917b092 100644 --- a/customer-management/src/main/resources/application.yaml +++ b/customer-management/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: contextUrl: https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld diff --git a/customer-management/src/main/resources/logback.xml b/customer-management/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/customer-management/src/main/resources/logback.xml +++ b/customer-management/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/customer-management/src/test/resources/application.yaml b/customer-management/src/test/resources/application.yaml index aa62a2db..004948d1 100644 --- a/customer-management/src/test/resources/application.yaml +++ b/customer-management/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/customer-management/src/test/resources/logback.xml b/customer-management/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/customer-management/src/test/resources/logback.xml +++ b/customer-management/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/k3s/orion-ld/orion-ld.yaml b/k3s/orion-ld/orion-ld.yaml index fd3ab380..548f74cd 100644 --- a/k3s/orion-ld/orion-ld.yaml +++ b/k3s/orion-ld/orion-ld.yaml @@ -118,7 +118,7 @@ spec: containers: - name: orion-ld imagePullPolicy: IfNotPresent - image: "quay.io/fiware/orion-ld:1.1.0" + image: "quay.io/fiware/orion-ld:1.5.1" ports: - name: http containerPort: 1026 @@ -132,5 +132,5 @@ spec: # logging - name: ORIONLD_LOG_LEVEL value: "DEBUG" - - name: ORIONLD_TMP_TRACES + - name: ORIONLD_TMP_WARNS value: "TRUE" \ No newline at end of file diff --git a/k3s/scorpio/kafka.yaml b/k3s/scorpio/kafka.yaml deleted file mode 100644 index 378ac777..00000000 --- a/k3s/scorpio/kafka.yaml +++ /dev/null @@ -1,441 +0,0 @@ ---- -# Source: kafka/charts/kafka/charts/zookeeper/templates/scripts-configmap.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: zookeeper-scripts - labels: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper -data: - init-certs.sh: |- - #!/bin/bash - setup.sh: |- - #!/bin/bash - - # Execute entrypoint as usual after obtaining ZOO_SERVER_ID - # check ZOO_SERVER_ID in persistent volume via myid - # if not present, set based on POD hostname - if [[ -f "/bitnami/zookeeper/data/myid" ]]; then - export ZOO_SERVER_ID="$(cat /bitnami/zookeeper/data/myid)" - else - HOSTNAME="$(hostname -s)" - if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then - ORD=${BASH_REMATCH[2]} - export ZOO_SERVER_ID="$((ORD + 1 ))" - else - echo "Failed to get index from hostname $HOST" - exit 1 - fi - fi - exec /entrypoint.sh /run.sh ---- -# Source: kafka/charts/kafka/templates/scripts-configmap.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: kafka-scripts - labels: - app.kubernetes.io/name: kafka -data: - setup.sh: |- - #!/bin/bash - - ID="${MY_POD_NAME#"kafka-"}" - if [[ -f "/opt/bitnami/kafka/logs/meta.properties" ]]; then - export KAFKA_CFG_BROKER_ID="$(grep "broker.id" /opt/bitnami/kafka/logs/meta.properties | awk -F '=' '{print $2}')" - else - export KAFKA_CFG_BROKER_ID="$((ID + 0))" - fi - - # Configure zookeeper client - - exec /entrypoint.sh /run.sh ---- -# Source: kafka/charts/kafka/charts/zookeeper/templates/svc-headless.yaml -apiVersion: v1 -kind: Service -metadata: - name: zookeeper-headless - labels: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper -spec: - type: ClusterIP - clusterIP: None - publishNotReadyAddresses: true - ports: - - name: tcp-client - port: 2181 - targetPort: client - - name: tcp-follower - port: 2888 - targetPort: follower - - name: tcp-election - port: 3888 - targetPort: election - selector: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper ---- -# Source: kafka/charts/kafka/charts/zookeeper/templates/svc.yaml -apiVersion: v1 -kind: Service -metadata: - name: zookeeper - labels: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper -spec: - type: ClusterIP - sessionAffinity: None - ports: - - name: tcp-client - port: 2181 - targetPort: client - nodePort: null - - name: tcp-follower - port: 2888 - targetPort: follower - - name: tcp-election - port: 3888 - targetPort: election - selector: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper ---- -# Source: kafka/charts/kafka/templates/svc-headless.yaml -apiVersion: v1 -kind: Service -metadata: - name: kafka-headless - labels: - app.kubernetes.io/name: kafka - app.kubernetes.io/component: kafka -spec: - type: ClusterIP - clusterIP: None - ports: - - name: tcp-client - port: 9092 - protocol: TCP - targetPort: kafka-client - - name: tcp-internal - port: 9093 - protocol: TCP - targetPort: kafka-internal - selector: - app.kubernetes.io/name: kafka - app.kubernetes.io/component: kafka ---- -# Source: kafka/charts/kafka/templates/svc.yaml -apiVersion: v1 -kind: Service -metadata: - name: kafka - labels: - app.kubernetes.io/name: kafka - app.kubernetes.io/component: kafka -spec: - type: ClusterIP - sessionAffinity: None - ports: - - name: tcp-client - port: 9092 - protocol: TCP - targetPort: kafka-client - nodePort: null - selector: - app.kubernetes.io/name: kafka - app.kubernetes.io/component: kafka ---- -# Source: kafka/charts/kafka/charts/zookeeper/templates/statefulset.yaml -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: zookeeper - labels: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper - role: zookeeper -spec: - replicas: 1 - podManagementPolicy: Parallel - selector: - matchLabels: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper - serviceName: zookeeper-headless - updateStrategy: - rollingUpdate: {} - type: RollingUpdate - template: - metadata: - annotations: - labels: - app.kubernetes.io/name: zookeeper - app.kubernetes.io/component: zookeeper - spec: - serviceAccountName: default - securityContext: - fsGroup: 1001 - initContainers: - containers: - - name: zookeeper - image: docker.io/bitnami/zookeeper:3.8.0-debian-11-r24 - imagePullPolicy: "IfNotPresent" - securityContext: - runAsNonRoot: true - runAsUser: 1001 - command: - - /scripts/setup.sh - resources: - limits: {} - requests: - cpu: 250m - memory: 256Mi - env: - - name: BITNAMI_DEBUG - value: "false" - - name: ZOO_DATA_LOG_DIR - value: "" - - name: ZOO_PORT_NUMBER - value: "2181" - - name: ZOO_TICK_TIME - value: "2000" - - name: ZOO_INIT_LIMIT - value: "10" - - name: ZOO_SYNC_LIMIT - value: "5" - - name: ZOO_PRE_ALLOC_SIZE - value: "65536" - - name: ZOO_SNAPCOUNT - value: "100000" - - name: ZOO_MAX_CLIENT_CNXNS - value: "60" - - name: ZOO_4LW_COMMANDS_WHITELIST - value: "srvr, mntr, ruok" - - name: ZOO_LISTEN_ALLIPS_ENABLED - value: "no" - - name: ZOO_AUTOPURGE_INTERVAL - value: "0" - - name: ZOO_AUTOPURGE_RETAIN_COUNT - value: "3" - - name: ZOO_MAX_SESSION_TIMEOUT - value: "40000" - - name: ZOO_SERVERS - value: zookeeper-0.zookeeper-headless.default.svc.cluster.local:2888:3888::1 - - name: ZOO_ENABLE_AUTH - value: "no" - - name: ZOO_ENABLE_QUORUM_AUTH - value: "no" - - name: ZOO_HEAP_SIZE - value: "1024" - - name: ZOO_LOG_LEVEL - value: "ERROR" - - name: ALLOW_ANONYMOUS_LOGIN - value: "yes" - - name: POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - ports: - - name: client - containerPort: 2181 - - name: follower - containerPort: 2888 - - name: election - containerPort: 3888 - livenessProbe: - failureThreshold: 6 - initialDelaySeconds: 30 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - exec: - command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok'] - readinessProbe: - failureThreshold: 6 - initialDelaySeconds: 5 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - exec: - command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok'] - volumeMounts: - - name: scripts - mountPath: /scripts/setup.sh - subPath: setup.sh - - name: data - mountPath: /bitnami/zookeeper - volumes: - - name: scripts - configMap: - name: zookeeper-scripts - defaultMode: 0755 - - name: data - emptyDir: {} ---- -# Source: kafka/charts/kafka/templates/statefulset.yaml -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: kafka - labels: - app.kubernetes.io/name: kafka - app.kubernetes.io/component: kafka -spec: - podManagementPolicy: Parallel - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: kafka - app.kubernetes.io/component: kafka - serviceName: kafka-headless - updateStrategy: - rollingUpdate: {} - type: RollingUpdate - template: - metadata: - labels: - app.kubernetes.io/name: kafka - app.kubernetes.io/component: kafka - annotations: - spec: - hostNetwork: false - hostIPC: false - securityContext: - fsGroup: 1001 - serviceAccountName: default - containers: - - name: kafka - image: docker.io/bitnami/kafka:3.2.1-debian-11-r4 - imagePullPolicy: "IfNotPresent" - securityContext: - runAsNonRoot: true - runAsUser: 1001 - command: - - /scripts/setup.sh - env: - - name: BITNAMI_DEBUG - value: "false" - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: KAFKA_CFG_ZOOKEEPER_CONNECT - value: "zookeeper" - - name: KAFKA_INTER_BROKER_LISTENER_NAME - value: "INTERNAL" - - name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP - value: "INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT" - - name: KAFKA_CFG_LISTENERS - value: "INTERNAL://:9093,CLIENT://:9092" - - name: KAFKA_CFG_ADVERTISED_LISTENERS - value: "INTERNAL://$(MY_POD_NAME).kafka-headless.default.svc.cluster.local:9093,CLIENT://$(MY_POD_NAME).kafka-headless.default.svc.cluster.local:9092" - - name: ALLOW_PLAINTEXT_LISTENER - value: "yes" - - name: KAFKA_ZOOKEEPER_PROTOCOL - value: PLAINTEXT - - name: KAFKA_VOLUME_DIR - value: "/bitnami/kafka" - - name: KAFKA_LOG_DIR - value: "/opt/bitnami/kafka/logs" - - name: KAFKA_CFG_DELETE_TOPIC_ENABLE - value: "false" - - name: KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE - value: "true" - - name: KAFKA_HEAP_OPTS - value: "-Xmx1024m -Xms1024m" - - name: KAFKA_CFG_LOG_FLUSH_INTERVAL_MESSAGES - value: "10000" - - name: KAFKA_CFG_LOG_FLUSH_INTERVAL_MS - value: "1000" - - name: KAFKA_CFG_LOG_RETENTION_BYTES - value: "1073741824" - - name: KAFKA_CFG_LOG_RETENTION_CHECK_INTERVALS_MS - value: "300000" - - name: KAFKA_CFG_LOG_RETENTION_HOURS - value: "168" - - name: KAFKA_CFG_MESSAGE_MAX_BYTES - value: "1000012" - - name: KAFKA_CFG_LOG_SEGMENT_BYTES - value: "1073741824" - - name: KAFKA_CFG_LOG_DIRS - value: "/opt/bitnami/kafka/logs" - - name: KAFKA_CFG_DEFAULT_REPLICATION_FACTOR - value: "1" - - name: KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR - value: "1" - - name: KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR - value: "1" - - name: KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR - value: "1" - - name: KAFKA_CFG_NUM_IO_THREADS - value: "8" - - name: KAFKA_CFG_NUM_NETWORK_THREADS - value: "3" - - name: KAFKA_CFG_NUM_PARTITIONS - value: "1" - - name: KAFKA_CFG_NUM_RECOVERY_THREADS_PER_DATA_DIR - value: "1" - - name: KAFKA_CFG_SOCKET_RECEIVE_BUFFER_BYTES - value: "102400" - - name: KAFKA_CFG_SOCKET_REQUEST_MAX_BYTES - value: "104857600" - - name: KAFKA_CFG_SOCKET_SEND_BUFFER_BYTES - value: "102400" - - name: KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS - value: "6000" - - name: KAFKA_CFG_AUTHORIZER_CLASS_NAME - value: "" - - name: KAFKA_CFG_ALLOW_EVERYONE_IF_NO_ACL_FOUND - value: "true" - - name: KAFKA_CFG_SUPER_USERS - value: "User:admin" - ports: - - name: kafka-client - containerPort: 9092 - - name: kafka-internal - containerPort: 9093 - livenessProbe: - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - tcpSocket: - port: kafka-client - readinessProbe: - failureThreshold: 6 - initialDelaySeconds: 5 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - tcpSocket: - port: kafka-client - resources: - limits: {} - requests: {} - volumeMounts: - - name: data - mountPath: /bitnami/kafka - - name: logs - mountPath: /opt/bitnami/kafka/logs - - name: scripts - mountPath: /scripts/setup.sh - subPath: setup.sh - volumes: - - name: scripts - configMap: - name: kafka-scripts - defaultMode: 0755 - - name: data - emptyDir: {} - - name: logs - emptyDir: {} \ No newline at end of file diff --git a/k3s/scorpio/scorpio.yaml b/k3s/scorpio/scorpio.yaml index a8396478..d25951b1 100644 --- a/k3s/scorpio/scorpio.yaml +++ b/k3s/scorpio/scorpio.yaml @@ -107,16 +107,37 @@ spec: serviceAccountName: default containers: - name: scorpio + image: "scorpiobroker/all-in-one-runner:java-4.1.11" imagePullPolicy: IfNotPresent - image: "scorpiobroker/all-in-one-runner:java-kafka-4.1.4" + ports: + - containerPort: 9090 + protocol: TCP + livenessProbe: + httpGet: + path: /q/health + port: 9090 + initialDelaySeconds: 40 + periodSeconds: 10 + failureThreshold: 6 + readinessProbe: + httpGet: + path: /q/health + port: 9090 + initialDelaySeconds: 40 + periodSeconds: 10 + failureThreshold: 6 env: - name: DBHOST value: postgis - - name: BUSHOST - value: kafka - - name: QUARKUS_LOG_LEVEL - value: DEBUG - ports: - - name: http - containerPort: 9090 - protocol: TCP \ No newline at end of file + - name: DBPASS + value: ngb + - name: DBUSER + value: ngb + - name: POSTGRES_DB + value: ngb + - name: DBHOST + value: postgis + - name: POSTGRES_PASSWORD + value: ngb + - name: POSTGRES_USER + value: ngb \ No newline at end of file diff --git a/party-catalog/pom.xml b/party-catalog/pom.xml index dd755813..3ddff009 100644 --- a/party-catalog/pom.xml +++ b/party-catalog/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF632_Party_Management_API_swagger_v4.0.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF632-Party-v4.0.0.zip diff --git a/party-catalog/src/main/resources/application.yaml b/party-catalog/src/main/resources/application.yaml index 2fb2d41f..872d4e32 100644 --- a/party-catalog/src/main/resources/application.yaml +++ b/party-catalog/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/party-catalog/src/main/resources/logback.xml b/party-catalog/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/party-catalog/src/main/resources/logback.xml +++ b/party-catalog/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/party-catalog/src/test/resources/application.yaml b/party-catalog/src/test/resources/application.yaml index caa72fa6..463c9a8a 100644 --- a/party-catalog/src/test/resources/application.yaml +++ b/party-catalog/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/party-catalog/src/test/resources/logback.xml b/party-catalog/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/party-catalog/src/test/resources/logback.xml +++ b/party-catalog/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/party-role/pom.xml b/party-role/pom.xml index 0f8e236f..68eec18d 100644 --- a/party-role/pom.xml +++ b/party-role/pom.xml @@ -12,7 +12,7 @@ - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF669_Party_Role_Management_API_swagger_v4.0.0.json + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF669-PartyRole-v4.0.0.zip TMF669-PartyRole Mac-Linux-RUNCTK.sh diff --git a/party-role/src/main/resources/application.yaml b/party-role/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/party-role/src/main/resources/application.yaml +++ b/party-role/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/party-role/src/main/resources/logback.xml b/party-role/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/party-role/src/main/resources/logback.xml +++ b/party-role/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/party-role/src/test/resources/application.yaml b/party-role/src/test/resources/application.yaml index b85bf11e..f4f0a6bf 100644 --- a/party-role/src/test/resources/application.yaml +++ b/party-role/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/party-role/src/test/resources/logback.xml b/party-role/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/party-role/src/test/resources/logback.xml +++ b/party-role/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/pom.xml b/pom.xml index 50f33db3..b985b1f0 100644 --- a/pom.xml +++ b/pom.xml @@ -64,9 +64,9 @@ Implementation of the TMForum APIs, backed by NGSI-LD NGSI-LD backed TMForum. https://github.com/wistefan/tmforum-poc - GNU Affero General Public License v3.0 - AGPL-3.0-only - https://www.gnu.org/licenses/agpl.txt + Apache License, Version 2.0 + Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt FIWARE TMForum API FIWARE Foundation, e.V. fiware.org @@ -93,7 +93,7 @@ 3.1.0 - 1.1.0 + 1.1.1 5.4.0 @@ -110,7 +110,7 @@ 3.3.0 - 1.0.0 + 1.2.4 1.10.19 4.8.1 4.0.3 @@ -124,6 +124,7 @@ myToken ${project.parent.build.directory}/jacoco/${artifactId} ${jacoco.reportFolder}/test.exec + ${project.parent.basedir}/ ${project.build.directory}/site/spotbugs orion-ld @@ -131,14 +132,7 @@ in-memory - API-URL - - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.1.0/swagger/TMF620-ProductCatalog-v4.1.0.swagger.json - - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF651-Agreement-v4.0.0.swagger.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json module-specific-url @@ -374,9 +368,9 @@ - ${project.parent.basedir}/ + ${jacoco.mergeDir} - *.exec + **/*.exec @@ -824,7 +818,7 @@ - ${project.basedir} + ${jacoco.mergeDir} **/*.exec @@ -833,19 +827,26 @@ - org.eluder.coveralls + com.github.hazendaz.maven coveralls-maven-plugin - ${version.org.eluder.coveralls.maven-plugin} + 4.5.0-M3 ${coveralls.token} + + ${jacoco.mergeDir}/common/jacoco.xml + ${jacoco.mergeDir}/service-catalog/jacoco.xml + ${jacoco.mergeDir}/customer-bill-management/jacoco.xml + ${jacoco.mergeDir}/customer-management/jacoco.xml + ${jacoco.mergeDir}/party-catalog/jacoco.xml + ${jacoco.mergeDir}/product-catalog/jacoco.xml + ${jacoco.mergeDir}/product-inventory/jacoco.xml + ${jacoco.mergeDir}/product-ordering-management/jacoco.xml + ${jacoco.mergeDir}/resource-catalog/jacoco.xml + ${jacoco.mergeDir}/resource-function-activation/jacoco.xml + ${jacoco.mergeDir}/resource-inventory/jacoco.xml + ${jacoco.mergeDir}/unit/jacoco.xml + - - - javax.xml.bind - jaxb-api - 2.3.1 - - diff --git a/product-catalog/pom.xml b/product-catalog/pom.xml index af822992..5684da13 100644 --- a/product-catalog/pom.xml +++ b/product-catalog/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.1.0/swagger/TMF620_Product_Catalog_Management_API_swagger_v4.1.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF620_Product_catalog_V4-0-0.zip diff --git a/product-catalog/src/main/resources/application.yaml b/product-catalog/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/product-catalog/src/main/resources/application.yaml +++ b/product-catalog/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/product-catalog/src/main/resources/logback.xml b/product-catalog/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/product-catalog/src/main/resources/logback.xml +++ b/product-catalog/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/product-catalog/src/test/resources/application.yaml b/product-catalog/src/test/resources/application.yaml index 955a19a5..b4cd07a9 100644 --- a/product-catalog/src/test/resources/application.yaml +++ b/product-catalog/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/product-catalog/src/test/resources/logback.xml b/product-catalog/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/product-catalog/src/test/resources/logback.xml +++ b/product-catalog/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/product-inventory/pom.xml b/product-inventory/pom.xml index bbb2c0c7..6902e5ec 100644 --- a/product-inventory/pom.xml +++ b/product-inventory/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF637_Product_Inventory_Management_API_swagger_v4.0.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF637-ProductInventory.zip diff --git a/product-inventory/src/main/resources/application.yaml b/product-inventory/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/product-inventory/src/main/resources/application.yaml +++ b/product-inventory/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/product-inventory/src/main/resources/logback.xml b/product-inventory/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/product-inventory/src/main/resources/logback.xml +++ b/product-inventory/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/product-inventory/src/test/resources/application.yaml b/product-inventory/src/test/resources/application.yaml index ef87afe8..dc337160 100644 --- a/product-inventory/src/test/resources/application.yaml +++ b/product-inventory/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/product-inventory/src/test/resources/logback.xml b/product-inventory/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/product-inventory/src/test/resources/logback.xml +++ b/product-inventory/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/product-ordering-management/pom.xml b/product-ordering-management/pom.xml index c4fc6f71..bcb9f1e0 100644 --- a/product-ordering-management/pom.xml +++ b/product-ordering-management/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF622_Product_Ordering_Management_API_swagger_v4.0.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF622-ProductOrdering.zip diff --git a/product-ordering-management/src/main/resources/application.yaml b/product-ordering-management/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/product-ordering-management/src/main/resources/application.yaml +++ b/product-ordering-management/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/product-ordering-management/src/main/resources/logback.xml b/product-ordering-management/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/product-ordering-management/src/main/resources/logback.xml +++ b/product-ordering-management/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/product-ordering-management/src/test/resources/application.yaml b/product-ordering-management/src/test/resources/application.yaml index 81d27416..b02fef7d 100644 --- a/product-ordering-management/src/test/resources/application.yaml +++ b/product-ordering-management/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/product-ordering-management/src/test/resources/logback.xml b/product-ordering-management/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/product-ordering-management/src/test/resources/logback.xml +++ b/product-ordering-management/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/resource-catalog/pom.xml b/resource-catalog/pom.xml index ac5dea8f..d579090f 100644 --- a/resource-catalog/pom.xml +++ b/resource-catalog/pom.xml @@ -13,7 +13,7 @@ - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.1.0/swagger/TMF634_Resource_Catalog_Management_API_swagger_v4.1.0.json + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF634-ResourceCatalog.zip TMF634-ResourceCatalog Mac-Linux-RUNCTK.sh diff --git a/resource-catalog/src/main/resources/application.yaml b/resource-catalog/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/resource-catalog/src/main/resources/application.yaml +++ b/resource-catalog/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/resource-catalog/src/main/resources/logback.xml b/resource-catalog/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/resource-catalog/src/main/resources/logback.xml +++ b/resource-catalog/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/resource-catalog/src/test/resources/application.yaml b/resource-catalog/src/test/resources/application.yaml index 7956c29d..3b5061f8 100644 --- a/resource-catalog/src/test/resources/application.yaml +++ b/resource-catalog/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/resource-catalog/src/test/resources/logback.xml b/resource-catalog/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/resource-catalog/src/test/resources/logback.xml +++ b/resource-catalog/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/resource-function-activation/pom.xml b/resource-function-activation/pom.xml index 44381606..cbd995d8 100644 --- a/resource-function-activation/pom.xml +++ b/resource-function-activation/pom.xml @@ -13,7 +13,7 @@ - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF664_Resource_Function_Activation_Management_API_swagger_v4.0.0.json + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF664-ResourceFunctionActivation.zip TMF664-ResourceFunctionActivation Mac-Linux-RUNCTK.sh diff --git a/resource-function-activation/src/main/resources/application.yaml b/resource-function-activation/src/main/resources/application.yaml index dcea27df..3559bd7a 100644 --- a/resource-function-activation/src/main/resources/application.yaml +++ b/resource-function-activation/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/resource-function-activation/src/main/resources/logback.xml b/resource-function-activation/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/resource-function-activation/src/main/resources/logback.xml +++ b/resource-function-activation/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/resource-function-activation/src/test/resources/application.yaml b/resource-function-activation/src/test/resources/application.yaml index 219ca8f0..98815931 100644 --- a/resource-function-activation/src/test/resources/application.yaml +++ b/resource-function-activation/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/resource-function-activation/src/test/resources/logback.xml b/resource-function-activation/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/resource-function-activation/src/test/resources/logback.xml +++ b/resource-function-activation/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/resource-inventory/pom.xml b/resource-inventory/pom.xml index 570f4462..80fcea2b 100644 --- a/resource-inventory/pom.xml +++ b/resource-inventory/pom.xml @@ -13,7 +13,7 @@ - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF639_Resource_Inventory_Management_API_swagger_v4.0.0.json + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF639_Resource_Inventory.zip TMF639_Resource_Inventory Mac-Linux-RUNCTK.sh diff --git a/resource-inventory/src/main/resources/application.yaml b/resource-inventory/src/main/resources/application.yaml index dcea27df..3559bd7a 100644 --- a/resource-inventory/src/main/resources/application.yaml +++ b/resource-inventory/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/resource-inventory/src/main/resources/logback.xml b/resource-inventory/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/resource-inventory/src/main/resources/logback.xml +++ b/resource-inventory/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/resource-inventory/src/test/resources/application.yaml b/resource-inventory/src/test/resources/application.yaml index 845f655d..86b07e14 100644 --- a/resource-inventory/src/test/resources/application.yaml +++ b/resource-inventory/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/resource-inventory/src/test/resources/logback.xml b/resource-inventory/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/resource-inventory/src/test/resources/logback.xml +++ b/resource-inventory/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/service-catalog/pom.xml b/service-catalog/pom.xml index b055d910..c91d5422 100644 --- a/service-catalog/pom.xml +++ b/service-catalog/pom.xml @@ -13,7 +13,7 @@ - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF633_Service_Catalog_Management_API_swagger_v4.0.0.json + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF633-ServiceCatalog-v4.0.0.zip TMF633-ServiceCatalog Mac-Linux-RUNCTK.sh diff --git a/service-catalog/src/main/resources/application.yaml b/service-catalog/src/main/resources/application.yaml index 2381def1..621f53b4 100644 --- a/service-catalog/src/main/resources/application.yaml +++ b/service-catalog/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/service-catalog/src/main/resources/logback.xml b/service-catalog/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/service-catalog/src/main/resources/logback.xml +++ b/service-catalog/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/service-catalog/src/test/resources/application.yaml b/service-catalog/src/test/resources/application.yaml index b8ae7970..110373bf 100644 --- a/service-catalog/src/test/resources/application.yaml +++ b/service-catalog/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/service-catalog/src/test/resources/logback.xml b/service-catalog/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/service-catalog/src/test/resources/logback.xml +++ b/service-catalog/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/usage-management/pom.xml b/usage-management/pom.xml index 228304da..b6625f54 100644 --- a/usage-management/pom.xml +++ b/usage-management/pom.xml @@ -13,9 +13,7 @@ - - https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/swagger/TMF635_Usage_Management_API_swagger_v4.0.0.json - + ${project.parent.basedir}/api/tm-forum/${project.artifactId}/api.json https://tmf-open-api-table-documents.s3.eu-west-1.amazonaws.com/OpenApiTable/4.0.0/ctk/TMF635-Usage_V4-0-0-fixed.zip diff --git a/usage-management/src/main/resources/application.yaml b/usage-management/src/main/resources/application.yaml index dcea27df..3559bd7a 100644 --- a/usage-management/src/main/resources/application.yaml +++ b/usage-management/src/main/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/usage-management/src/main/resources/logback.xml b/usage-management/src/main/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/usage-management/src/main/resources/logback.xml +++ b/usage-management/src/main/resources/logback.xml @@ -9,7 +9,7 @@ - + diff --git a/usage-management/src/test/resources/application.yaml b/usage-management/src/test/resources/application.yaml index 1da87925..46ab6b93 100644 --- a/usage-management/src/test/resources/application.yaml +++ b/usage-management/src/test/resources/application.yaml @@ -31,7 +31,7 @@ endpoints: --- loggers: levels: - ROOT: TRACE + ROOT: WARN --- general: diff --git a/usage-management/src/test/resources/logback.xml b/usage-management/src/test/resources/logback.xml index f075e861..71bbc2dd 100644 --- a/usage-management/src/test/resources/logback.xml +++ b/usage-management/src/test/resources/logback.xml @@ -9,7 +9,7 @@ - +