summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/sections/apis/mod-onboardingapi.json597
-rw-r--r--docs/sections/apis/mod-onboardingapi.rst1297
-rw-r--r--docs/sections/offeredapis.rst1
3 files changed, 1895 insertions, 0 deletions
diff --git a/docs/sections/apis/mod-onboardingapi.json b/docs/sections/apis/mod-onboardingapi.json
new file mode 100644
index 00000000..8e8ce9af
--- /dev/null
+++ b/docs/sections/apis/mod-onboardingapi.json
@@ -0,0 +1,597 @@
+{
+ "swagger": "2.0",
+ "basePath": "/onboarding",
+ "paths": {
+ "/components": {
+ "post": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "409": {
+ "description": "Component already exists",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Component post"
+ }
+ }
+ },
+ "description": "Add a Component to the Catalog",
+ "operationId": "post_component",
+ "parameters": [{
+ "name": "payload",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Component Spec"
+ }
+ }, {
+ "name": "X-Fields",
+ "in": "header",
+ "type": "string",
+ "format": "mask",
+ "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
+ }],
+ "tags": ["onboarding"]
+ },
+ "get": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Component List"
+ }
+ }
+ },
+ "description": "Get list of Components in the catalog",
+ "operationId": "get_components",
+ "parameters": [{
+ "name": "name",
+ "in": "query",
+ "type": "string",
+ "description": "Name of component to filter for"
+ }, {
+ "name": "version",
+ "in": "query",
+ "type": "string",
+ "description": "Version of component to filter for"
+ }, {
+ "name": "X-Fields",
+ "in": "header",
+ "type": "string",
+ "format": "mask",
+ "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
+ }],
+ "tags": ["onboarding"]
+ }
+ },
+ "/components/{component_id}": {
+ "parameters": [{
+ "name": "component_id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }],
+ "put": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "404": {
+ "description": "Component not found in Catalog",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success, Component replaced"
+ }
+ },
+ "description": "Replace a Component Spec in the Catalog",
+ "operationId": "put_component",
+ "parameters": [{
+ "name": "payload",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Component Spec"
+ }
+ }],
+ "tags": ["onboarding"]
+ },
+ "get": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "404": {
+ "description": "Component not found in Catalog",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/component fields by id"
+ }
+ }
+ },
+ "description": "Get a Component",
+ "operationId": "get_component",
+ "parameters": [{
+ "name": "X-Fields",
+ "in": "header",
+ "type": "string",
+ "format": "mask",
+ "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
+ }],
+ "tags": ["onboarding"]
+ },
+ "patch": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "404": {
+ "description": "Component not found in Catalog",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "403": {
+ "description": "Forbidden Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success, Component status updated"
+ }
+ },
+ "description": "Update a Component's status in the Catalog",
+ "operationId": "patch_component",
+ "parameters": [{
+ "name": "payload",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Patch Spec"
+ }
+ }],
+ "tags": ["onboarding"]
+ }
+ },
+ "/dataformats": {
+ "post": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "409": {
+ "description": "Data Format already exists",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Data Format post"
+ }
+ }
+ },
+ "description": "Add a Data Format to the Catalog",
+ "operationId": "post_dataformat",
+ "parameters": [{
+ "name": "payload",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Data Format Spec"
+ }
+ }, {
+ "name": "X-Fields",
+ "in": "header",
+ "type": "string",
+ "format": "mask",
+ "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
+ }],
+ "tags": ["onboarding"]
+ },
+ "get": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Data Format List"
+ }
+ }
+ },
+ "description": "Get list of Data Formats in the catalog",
+ "operationId": "get_dataformats",
+ "parameters": [{
+ "name": "X-Fields",
+ "in": "header",
+ "type": "string",
+ "format": "mask",
+ "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
+ }],
+ "tags": ["onboarding"]
+ }
+ },
+ "/dataformats/{dataformat_id}": {
+ "parameters": [{
+ "name": "dataformat_id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }],
+ "put": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "404": {
+ "description": "Data Format not found in Catalog",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success, Data Format added"
+ }
+ },
+ "description": "Replace a Data Format Spec in the Catalog",
+ "operationId": "put_dataformat",
+ "parameters": [{
+ "name": "payload",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Data Format Spec"
+ }
+ }],
+ "tags": ["onboarding"]
+ },
+ "get": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "404": {
+ "description": "Data Format not found in Catalog",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/dataformat fields by id"
+ }
+ }
+ },
+ "description": "Get a Data Format",
+ "operationId": "get_dataformat",
+ "parameters": [{
+ "name": "X-Fields",
+ "in": "header",
+ "type": "string",
+ "format": "mask",
+ "description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
+ }],
+ "tags": ["onboarding"]
+ },
+ "patch": {
+ "responses": {
+ "500": {
+ "description": "Internal Server Error"
+ },
+ "404": {
+ "description": "Data Format not found in Catalog",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "403": {
+ "description": "Forbidden Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "schema": {
+ "$ref": "#/definitions/Error message"
+ }
+ },
+ "200": {
+ "description": "Success, Data Format status updated"
+ }
+ },
+ "description": "Update a Data Format's status in the Catalog",
+ "operationId": "patch_dataformat",
+ "parameters": [{
+ "name": "payload",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Patch Spec"
+ }
+ }],
+ "tags": ["onboarding"]
+ }
+ }
+ },
+ "info": {
+ "title": "DCAE Onboarding HTTP API",
+ "version": "2.12.0"
+ },
+ "produces": ["application/json"],
+ "consumes": ["application/json"],
+ "tags": [{
+ "name": "onboarding",
+ "description": "Default namespace"
+ }],
+ "definitions": {
+ "Component Spec": {
+ "properties": {
+ "owner": {
+ "type": "string"
+ },
+ "spec": {
+ "type": "object",
+ "description": "The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json"
+ }
+ }
+ },
+ "Error message": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": ". . . . .Details about the unsuccessful API request"
+ }
+ },
+ "type": "object"
+ },
+ "Component post": {
+ "required": ["componentUrl"],
+ "properties": {
+ "componentUrl": {
+ "type": "string",
+ "description": ". . . . Url to the Component Specification"
+ }
+ },
+ "type": "object"
+ },
+ "Component List": {
+ "properties": {
+ "components": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/component fields"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "component fields": {
+ "required": ["componentType", "componentUrl", "description", "id", "modified", "name", "owner", "status", "version", "whenAdded"],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": ". . . . ID of the component"
+ },
+ "name": {
+ "type": "string",
+ "description": ". . . . Name of the component"
+ },
+ "version": {
+ "type": "string",
+ "description": ". . . . Version of the component"
+ },
+ "owner": {
+ "type": "string",
+ "description": ". . . . ID of who added the component"
+ },
+ "whenAdded": {
+ "type": "string",
+ "format": "date-time",
+ "description": ". . . . When component was added to the Catalog"
+ },
+ "modified": {
+ "type": "string",
+ "format": "date-time",
+ "description": ". . . . When component was last modified"
+ },
+ "status": {
+ "type": "string",
+ "description": ". . . . Status of the component"
+ },
+ "description": {
+ "type": "string",
+ "description": ". . . . Description of the component"
+ },
+ "componentType": {
+ "type": "string",
+ "description": ". . . . only \"docker\""
+ },
+ "componentUrl": {
+ "type": "string",
+ "description": ". . . . Url to the Component Specification"
+ }
+ },
+ "type": "object"
+ },
+ "Patch Spec": {
+ "required": ["owner", "status"],
+ "properties": {
+ "owner": {
+ "type": "string",
+ "description": "User ID"
+ },
+ "status": {
+ "type": "string",
+ "description": ". . . . .[published] is the only status change supported right now",
+ "example": "published",
+ "enum": ["published", "revoked"]
+ }
+ },
+ "type": "object"
+ },
+ "component fields by id": {
+ "allOf": [{
+ "$ref": "#/definitions/component fields"
+ }, {
+ "required": ["spec"],
+ "properties": {
+ "spec": {
+ "type": "object",
+ "description": "The Component Specification (json)"
+ }
+ },
+ "type": "object"
+ }]
+ },
+ "Data Format Spec": {
+ "properties": {
+ "owner": {
+ "type": "string"
+ },
+ "spec": {
+ "type": "object",
+ "description": "The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json"
+ }
+ }
+ },
+ "Data Format post": {
+ "required": ["dataFormatUrl"],
+ "properties": {
+ "dataFormatUrl": {
+ "type": "string",
+ "description": ". . . . Url to the Data Format Specification"
+ }
+ },
+ "type": "object"
+ },
+ "Data Format List": {
+ "properties": {
+ "dataFormats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/dataformat fields"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "dataformat fields": {
+ "required": ["dataFormatUrl", "description", "id", "modified", "name", "owner", "status", "version", "whenAdded"],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": ". . . . ID of the data format"
+ },
+ "name": {
+ "type": "string",
+ "description": ". . . . Name of the data format"
+ },
+ "version": {
+ "type": "string",
+ "description": ". . . . Version of the data format"
+ },
+ "owner": {
+ "type": "string",
+ "description": ". . . . ID of who added the data format"
+ },
+ "whenAdded": {
+ "type": "string",
+ "format": "date-time",
+ "description": ". . . . When data format was added to the Catalog"
+ },
+ "modified": {
+ "type": "string",
+ "format": "date-time",
+ "description": ". . . . When data format was last modified"
+ },
+ "status": {
+ "type": "string",
+ "description": ". . . . Status of the data format"
+ },
+ "description": {
+ "type": "string",
+ "description": ". . . . Description of the data format"
+ },
+ "dataFormatUrl": {
+ "type": "string",
+ "description": ". . . . Url to the Data Format Specification"
+ }
+ },
+ "type": "object"
+ },
+ "dataformat fields by id": {
+ "allOf": [{
+ "$ref": "#/definitions/dataformat fields"
+ }, {
+ "required": ["spec"],
+ "properties": {
+ "spec": {
+ "type": "object",
+ "description": "The Data Format Specification (json)"
+ }
+ },
+ "type": "object"
+ }]
+ }
+ },
+ "responses": {
+ "ParseError": {
+ "description": "When a mask can't be parsed"
+ },
+ "MaskError": {
+ "description": "When any error occurs on mask"
+ }
+ }
+} \ No newline at end of file
diff --git a/docs/sections/apis/mod-onboardingapi.rst b/docs/sections/apis/mod-onboardingapi.rst
new file mode 100644
index 00000000..25fa709e
--- /dev/null
+++ b/docs/sections/apis/mod-onboardingapi.rst
@@ -0,0 +1,1297 @@
+.. This work is licensed under a
+ Creative Commons Attribution 4.0 International License.
+
+Onboarding HTTP API (MOD)
+=========================
+
+.. toctree::
+ :maxdepth: 3
+
+
+Description
+~~~~~~~~~~~
+
+Onboarding API is sub-component under MOD provides following function:
+
+1. API to add/update data-formats
+2. API to add/update components (component_Spec)
+
+These API can be invoked by MS owners or by Acumos adapter to upload artifact into MOD catalog
+
+.. csv-table::
+ :header: "API name", "Swagger"
+ :widths: 10,5
+
+ "Inventory", ":download:`link <mod-onboardingapi.json>`"
+
+Base URL
+~~~~~~~~
+
+http:///onboarding
+
+ONBOARDING
+~~~~~~~~~~
+
+
+Default namespace
+
+
+
+
+
+GET ``/components/{component_id}``
+----------------------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Get a Component
+
+Parameters
+++++++++++
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 15, 10, 10, 10, 20, 30
+
+ component_id | path | Yes | string | | |
+
+
+Request
++++++++
+
+
+Headers
+^^^^^^^
+
+.. code-block:: javascript
+
+ X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html
+
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success
+
+
+Type: :ref:`component fields <d_41cf5e14516a536474c8079d332e86c7>` extended :ref:`inline <i_34dba329148d5512a1350568d728c028>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "componentType": "somestring",
+ "componentUrl": "somestring",
+ "description": "somestring",
+ "id": "somestring",
+ "modified": "2015-01-01T15:00:00.000Z",
+ "name": "somestring",
+ "owner": "somestring",
+ "spec": {},
+ "status": "somestring",
+ "version": "somestring",
+ "whenAdded": "2015-01-01T15:00:00.000Z"
+ }
+
+**404**
+^^^^^^^
+
+Component not found in Catalog
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+GET ``/components``
+-------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Get list of Components in the catalog
+
+Parameters
+++++++++++
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 15, 10, 10, 10, 20, 30
+
+ name | query | No | string | | | Name of component to filter for
+ version | query | No | string | | | Version of component to filter for
+
+
+Request
++++++++
+
+
+Headers
+^^^^^^^
+
+.. code-block:: javascript
+
+ X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html
+
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success
+
+
+Type: :ref:`Component List <d_53b82f243acb3fd79572e5a8e909c801>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "components": [
+ {
+ "componentType": "somestring",
+ "componentUrl": "somestring",
+ "description": "somestring",
+ "id": "somestring",
+ "modified": "2015-01-01T15:00:00.000Z",
+ "name": "somestring",
+ "owner": "somestring",
+ "status": "somestring",
+ "version": "somestring",
+ "whenAdded": "2015-01-01T15:00:00.000Z"
+ },
+ {
+ "componentType": "somestring",
+ "componentUrl": "somestring",
+ "description": "somestring",
+ "id": "somestring",
+ "modified": "2015-01-01T15:00:00.000Z",
+ "name": "somestring",
+ "owner": "somestring",
+ "status": "somestring",
+ "version": "somestring",
+ "whenAdded": "2015-01-01T15:00:00.000Z"
+ }
+ ]
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+GET ``/dataformats/{dataformat_id}``
+------------------------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Get a Data Format
+
+Parameters
+++++++++++
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 15, 10, 10, 10, 20, 30
+
+ dataformat_id | path | Yes | string | | |
+
+
+Request
++++++++
+
+
+Headers
+^^^^^^^
+
+.. code-block:: javascript
+
+ X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html
+
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success
+
+
+Type: :ref:`dataformat fields <d_68ab1278c950fd214a4077565fd97922>` extended :ref:`inline <i_19c008f5124504e9d9c719d157dab70f>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "dataFormatUrl": "somestring",
+ "description": "somestring",
+ "id": "somestring",
+ "modified": "2015-01-01T15:00:00.000Z",
+ "name": "somestring",
+ "owner": "somestring",
+ "spec": {},
+ "status": "somestring",
+ "version": "somestring",
+ "whenAdded": "2015-01-01T15:00:00.000Z"
+ }
+
+**404**
+^^^^^^^
+
+Data Format not found in Catalog
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+GET ``/dataformats``
+--------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Get list of Data Formats in the catalog
+
+
+Request
++++++++
+
+
+Headers
+^^^^^^^
+
+.. code-block:: javascript
+
+ X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html
+
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success
+
+
+Type: :ref:`Data Format List <d_9479fe3b8fa2fcaeb723c198da99e791>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "dataFormats": [
+ {
+ "dataFormatUrl": "somestring",
+ "description": "somestring",
+ "id": "somestring",
+ "modified": "2015-01-01T15:00:00.000Z",
+ "name": "somestring",
+ "owner": "somestring",
+ "status": "somestring",
+ "version": "somestring",
+ "whenAdded": "2015-01-01T15:00:00.000Z"
+ },
+ {
+ "dataFormatUrl": "somestring",
+ "description": "somestring",
+ "id": "somestring",
+ "modified": "2015-01-01T15:00:00.000Z",
+ "name": "somestring",
+ "owner": "somestring",
+ "status": "somestring",
+ "version": "somestring",
+ "whenAdded": "2015-01-01T15:00:00.000Z"
+ }
+ ]
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+PATCH ``/components/{component_id}``
+------------------------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Update a Component's status in the Catalog
+
+Parameters
+++++++++++
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 15, 10, 10, 10, 20, 30
+
+ component_id | path | Yes | string | | |
+
+
+Request
++++++++
+
+
+
+.. _d_fb61d9acd5848e8d882a33934d47ad4f:
+
+Body
+^^^^
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | Yes | string | | | User ID
+ status | Yes | string | | {'enum': ['published', 'revoked']} | . . . . .[published] is the only status change supported right now
+
+.. code-block:: javascript
+
+ {
+ "owner": "somestring",
+ "status": "published"
+ }
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success, Component status updated
+
+
+**400**
+^^^^^^^
+
+Bad Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**403**
+^^^^^^^
+
+Forbidden Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**404**
+^^^^^^^
+
+Component not found in Catalog
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+PATCH ``/dataformats/{dataformat_id}``
+--------------------------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Update a Data Format's status in the Catalog
+
+Parameters
+++++++++++
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 15, 10, 10, 10, 20, 30
+
+ dataformat_id | path | Yes | string | | |
+
+
+Request
++++++++
+
+
+
+.. _d_fb61d9acd5848e8d882a33934d47ad4f:
+
+Body
+^^^^
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | Yes | string | | | User ID
+ status | Yes | string | | {'enum': ['published', 'revoked']} | . . . . .[published] is the only status change supported right now
+
+.. code-block:: javascript
+
+ {
+ "owner": "somestring",
+ "status": "published"
+ }
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success, Data Format status updated
+
+
+**400**
+^^^^^^^
+
+Bad Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**403**
+^^^^^^^
+
+Forbidden Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**404**
+^^^^^^^
+
+Data Format not found in Catalog
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+POST ``/components``
+--------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Add a Component to the Catalog
+
+
+Request
++++++++
+
+
+Headers
+^^^^^^^
+
+.. code-block:: javascript
+
+ X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html
+
+
+
+.. _d_fd89ec3540efda71c3748235024e0b4d:
+
+Body
+^^^^
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | No | string | | |
+ spec | No | :ref:`spec <i_793f480461dccbb35537f2001ab7af5b>` | | | The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
+
+.. _i_793f480461dccbb35537f2001ab7af5b:
+
+**Spec schema:**
+
+
+The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
+
+
+
+.. code-block:: javascript
+
+ {
+ "owner": "somestring",
+ "spec": {}
+ }
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success
+
+
+Type: :ref:`Component post <d_9eafe9d5168f431205b9fce1312b32bb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "componentUrl": "somestring"
+ }
+
+**400**
+^^^^^^^
+
+Bad Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**409**
+^^^^^^^
+
+Component already exists
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+POST ``/dataformats``
+---------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Add a Data Format to the Catalog
+
+
+Request
++++++++
+
+
+Headers
+^^^^^^^
+
+.. code-block:: javascript
+
+ X-Fields: An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html
+
+
+
+.. _d_7a085a9ab5ed1527229588d3b6d2c4c2:
+
+Body
+^^^^
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | No | string | | |
+ spec | No | :ref:`spec <i_24d5c9ce4ae509ac2272fb61bf0e2003>` | | | The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json
+
+.. _i_24d5c9ce4ae509ac2272fb61bf0e2003:
+
+**Spec schema:**
+
+
+The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json
+
+
+
+.. code-block:: javascript
+
+ {
+ "owner": "somestring",
+ "spec": {}
+ }
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success
+
+
+Type: :ref:`Data Format post <d_6557e42aae4abfe7f132d85f512a1a26>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "dataFormatUrl": "somestring"
+ }
+
+**400**
+^^^^^^^
+
+Bad Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**409**
+^^^^^^^
+
+Data Format already exists
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+PUT ``/components/{component_id}``
+----------------------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Replace a Component Spec in the Catalog
+
+Parameters
+++++++++++
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 15, 10, 10, 10, 20, 30
+
+ component_id | path | Yes | string | | |
+
+
+Request
++++++++
+
+
+
+.. _d_fd89ec3540efda71c3748235024e0b4d:
+
+Body
+^^^^
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | No | string | | |
+ spec | No | :ref:`spec <i_793f480461dccbb35537f2001ab7af5b>` | | | The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
+
+.. _i_793f480461dccbb35537f2001ab7af5b:
+
+**Spec schema:**
+
+
+The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
+
+
+
+.. code-block:: javascript
+
+ {
+ "owner": "somestring",
+ "spec": {}
+ }
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success, Component replaced
+
+
+**400**
+^^^^^^^
+
+Bad Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**404**
+^^^^^^^
+
+Component not found in Catalog
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+
+PUT ``/dataformats/{dataformat_id}``
+------------------------------------
+
+
+
+Description
++++++++++++
+
+.. raw:: html
+
+ Replace a Data Format Spec in the Catalog
+
+Parameters
+++++++++++
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 15, 10, 10, 10, 20, 30
+
+ dataformat_id | path | Yes | string | | |
+
+
+Request
++++++++
+
+
+
+.. _d_7a085a9ab5ed1527229588d3b6d2c4c2:
+
+Body
+^^^^
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | No | string | | |
+ spec | No | :ref:`spec <i_24d5c9ce4ae509ac2272fb61bf0e2003>` | | | The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json
+
+.. _i_24d5c9ce4ae509ac2272fb61bf0e2003:
+
+**Spec schema:**
+
+
+The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json
+
+
+
+.. code-block:: javascript
+
+ {
+ "owner": "somestring",
+ "spec": {}
+ }
+
+Responses
++++++++++
+
+**200**
+^^^^^^^
+
+Success, Data Format added
+
+
+**400**
+^^^^^^^
+
+Bad Request
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**404**
+^^^^^^^
+
+Data Format not found in Catalog
+
+
+Type: :ref:`Error message <d_e8453714bcbe180e59d1dfbfc583c9cb>`
+
+**Example:**
+
+.. code-block:: javascript
+
+ {
+ "message": "somestring"
+ }
+
+**500**
+^^^^^^^
+
+Internal Server Error
+
+
+
+
+
+Data Structures
+~~~~~~~~~~~~~~~
+
+.. _d_53b82f243acb3fd79572e5a8e909c801:
+
+Component List Model Structure
+------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ components | No | array of :ref:`component fields <d_41cf5e14516a536474c8079d332e86c7>` | | |
+
+.. _d_fd89ec3540efda71c3748235024e0b4d:
+
+Component Spec Model Structure
+------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | No | string | | |
+ spec | No | :ref:`spec <i_793f480461dccbb35537f2001ab7af5b>` | | | The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
+
+.. _i_793f480461dccbb35537f2001ab7af5b:
+
+**Spec schema:**
+
+
+The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
+
+
+
+.. _d_9eafe9d5168f431205b9fce1312b32bb:
+
+Component post Model Structure
+------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ componentUrl | Yes | string | | | . . . . Url to the Component Specification
+
+.. _d_9479fe3b8fa2fcaeb723c198da99e791:
+
+Data Format List Model Structure
+--------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ dataFormats | No | array of :ref:`dataformat fields <d_68ab1278c950fd214a4077565fd97922>` | | |
+
+.. _d_7a085a9ab5ed1527229588d3b6d2c4c2:
+
+Data Format Spec Model Structure
+--------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | No | string | | |
+ spec | No | :ref:`spec <i_24d5c9ce4ae509ac2272fb61bf0e2003>` | | | The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json
+
+.. _i_24d5c9ce4ae509ac2272fb61bf0e2003:
+
+**Spec schema:**
+
+
+The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json
+
+
+
+.. _d_6557e42aae4abfe7f132d85f512a1a26:
+
+Data Format post Model Structure
+--------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ dataFormatUrl | Yes | string | | | . . . . Url to the Data Format Specification
+
+.. _d_e8453714bcbe180e59d1dfbfc583c9cb:
+
+Error message Model Structure
+-----------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ message | No | string | | | . . . . .Details about the unsuccessful API request
+
+.. _d_fb61d9acd5848e8d882a33934d47ad4f:
+
+Patch Spec Model Structure
+--------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ owner | Yes | string | | | User ID
+ status | Yes | string | | {'enum': ['published', 'revoked']} | . . . . .[published] is the only status change supported right now
+
+.. _d_41cf5e14516a536474c8079d332e86c7:
+
+component fields Model Structure
+--------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ componentType | Yes | string | | | . . . . only 'docker'
+ componentUrl | Yes | string | | | . . . . Url to the Component Specification
+ description | Yes | string | | | . . . . Description of the component
+ id | Yes | string | | | . . . . ID of the component
+ modified | Yes | string | date-time | | . . . . When component was last modified
+ name | Yes | string | | | . . . . Name of the component
+ owner | Yes | string | | | . . . . ID of who added the component
+ status | Yes | string | | | . . . . Status of the component
+ version | Yes | string | | | . . . . Version of the component
+ whenAdded | Yes | string | date-time | | . . . . When component was added to the Catalog
+
+.. _d_c86e31bb6b9a2aaf18cab261f501cdf1:
+
+component fields by id Model Structure
+--------------------------------------
+
+:ref:`component fields <d_41cf5e14516a536474c8079d332e86c7>` extended :ref:`inline <i_34dba329148d5512a1350568d728c028>`
+
+.. _i_34dba329148d5512a1350568d728c028:
+
+**Inline schema:**
+
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ componentType | Yes | string | | | . . . . only 'docker'
+ componentUrl | Yes | string | | | . . . . Url to the Component Specification
+ description | Yes | string | | | . . . . Description of the component
+ id | Yes | string | | | . . . . ID of the component
+ modified | Yes | string | date-time | | . . . . When component was last modified
+ name | Yes | string | | | . . . . Name of the component
+ owner | Yes | string | | | . . . . ID of who added the component
+ spec | Yes | :ref:`spec <i_ea9c5ae5ca1fb737a10e33ba863d3d34>` | | | The Component Specification (json)
+ status | Yes | string | | | . . . . Status of the component
+ version | Yes | string | | | . . . . Version of the component
+ whenAdded | Yes | string | date-time | | . . . . When component was added to the Catalog
+
+.. _i_ea9c5ae5ca1fb737a10e33ba863d3d34:
+
+**Spec schema:**
+
+
+The Component Specification (json)
+
+
+
+.. _d_68ab1278c950fd214a4077565fd97922:
+
+dataformat fields Model Structure
+---------------------------------
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ dataFormatUrl | Yes | string | | | . . . . Url to the Data Format Specification
+ description | Yes | string | | | . . . . Description of the data format
+ id | Yes | string | | | . . . . ID of the data format
+ modified | Yes | string | date-time | | . . . . When data format was last modified
+ name | Yes | string | | | . . . . Name of the data format
+ owner | Yes | string | | | . . . . ID of who added the data format
+ status | Yes | string | | | . . . . Status of the data format
+ version | Yes | string | | | . . . . Version of the data format
+ whenAdded | Yes | string | date-time | | . . . . When data format was added to the Catalog
+
+.. _d_9c3ce799741cd0dae7f4d25c049e8a79:
+
+dataformat fields by id Model Structure
+---------------------------------------
+
+:ref:`dataformat fields <d_68ab1278c950fd214a4077565fd97922>` extended :ref:`inline <i_19c008f5124504e9d9c719d157dab70f>`
+
+.. _i_19c008f5124504e9d9c719d157dab70f:
+
+**Inline schema:**
+
+
+.. csv-table::
+ :delim: |
+ :header: "Name", "Required", "Type", "Format", "Properties", "Description"
+ :widths: 20, 10, 15, 15, 30, 25
+
+ dataFormatUrl | Yes | string | | | . . . . Url to the Data Format Specification
+ description | Yes | string | | | . . . . Description of the data format
+ id | Yes | string | | | . . . . ID of the data format
+ modified | Yes | string | date-time | | . . . . When data format was last modified
+ name | Yes | string | | | . . . . Name of the data format
+ owner | Yes | string | | | . . . . ID of who added the data format
+ spec | Yes | :ref:`spec <i_c9a99411463ded6c619772d83b3882c8>` | | | The Data Format Specification (json)
+ status | Yes | string | | | . . . . Status of the data format
+ version | Yes | string | | | . . . . Version of the data format
+ whenAdded | Yes | string | date-time | | . . . . When data format was added to the Catalog
+
+.. _i_c9a99411463ded6c619772d83b3882c8:
+
+**Spec schema:**
+
+
+The Data Format Specification (json)
diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst
index 921ba54c..f98c5d8a 100644
--- a/docs/sections/offeredapis.rst
+++ b/docs/sections/offeredapis.rst
@@ -15,3 +15,4 @@ Offered APIs
apis/PNDA.rst
apis/pmmapper.rst
apis/SDK.rst
+ apis/mod-onboardingapi.rst