------------\r
\r
The DataRouter(DR) provisioning API is an HTTPS-based, REST-like API for creating and managing DR feeds\r
-and subscriptions. The Data Routing System project is intended to provide a common framework by which\r
+and subscriptions. The DMaaP Data Router System project is intended to provide a common framework by which\r
data producers can make data available to data consumers and a way for potential consumers to find feeds\r
with the data they require.\r
\r
-----------------\r
\r
DMaaP Data Router utilizes an HTTP REST API to service all transactions. HTTP and REST standards are followed so\r
-clients as varied as CURL, Java applications and even Web Browsers will\r
-work to interact with the Data Router.\r
+clients as varied as CURL, Java applications and even Web Browsers will work to interact with the Data Router.\r
\r
General HTTP Requirements\r
=========================\r
\r
-A DMaaP Data Router transactions consists of 4 distinct segments,\r
-HTTP URL, HTTP Header, HTTP Body (POST/PUT) and HTTP Response. The general\r
-considerations for each segment are as follows and are required for each\r
+A DMaaP Data Router transactions consists of 4 distinct segments, HTTP URL, HTTP Header, HTTP Body (POST/PUT)\r
+and HTTP Response. The general considerations for each segment are as follows and are required for each\r
of the specific transactions described in this section.\r
\r
HTTP URL\r
\r
http[s]://{serverBaseURL}/{resourcePath}\r
\r
-* The serverBaseURL points to DMaaP Data Router host/port that will service the request.\r
-* The resourcePath specifies the specific service that the client is attempting to reach.\r
+* The serverBaseURL points to DMaaP Data Router host:port that will service the request.\r
+* The resourcePath specifies the service that the client is attempting to reach.\r
\r
\r
HTTP Header\r
Create a Feed\r
-------------\r
\r
-**Description**: Creates a unique set of URL's to service the publisher/subscriber model.\r
+**Description**: Creates a unique feed URL to service the publisher/subscriber model.\r
\r
Sample Request\r
==============\r
\r
-curl -v -X POST -H "Content-Type: application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addFeed3.txt --post301 --location-trusted -k https:/{host}:{port}\r
+``curl -k -X POST -H "Content-Type:application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF:{user}" --data-ascii @createFeed.json https://{host}:{port}``\r
\r
Request Parameters:\r
===================\r
\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name | Description | Param Type | Data Type | MaxLen | Required | Format | Valid/Example Values |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| name | Feed name | Body | String | <=20 | Y | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| version | Feed version | Body | String | <=20 | Y | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| description | Feed description | Body | String | | Y | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| business description | Business description | Body | String | | Y | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Authorization | Information for authorizing | Body | Object | | Y | | |\r
-| | publishing requests | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend | Set to true if the feed is in | Body | Boolean | | N | | * true |\r
-| | the suspended state | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id | | Body | Integer | | Y | | |\r
-| | | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type | To specify type of message | Header | String | 20 | N | | application/vnd.att-dr.feed |\r
-| | (feed,subscriber,publisher) | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF | User id of owner of feed | Header | String | 1 | N | | username |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name | Description | Param Type | Data Type | MaxLen | Required | Valid/Example Values |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| name | Feed name | Body | String | <=20 | Y | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| version | Feed version | Body | String | <=20 | Y | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| description | Feed description | Body | String | <=256 | Y | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| business description | Business description | Body | String | <=256 | Y | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Authorization | Information for authorizing | Body | Object | | Y | |\r
+| | publishing requests | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend | Set to true if the feed is in | Body | Boolean | | N | * true |\r
+| | the suspended state | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id | | Body | Integer | | Y | |\r
+| | | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type | To specify type of message | Header | String | | Y | application/vnd.att-dr.feed |\r
+| | (feed,subscriber,publisher) | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF | User id of owner of feed | Header | String | <=8 | Y | username |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
\r
Response/Error Codes\r
====================\r
\r
{\r
"name": "Jettydemo",\r
- "version": "m1.0",\r
+ "version": "v1.0.0",\r
"description": "Jettydemo",\r
"business_description": "Jettydemo",\r
"suspend": false,\r
- "deleted": false,\r
"changeowner": true,\r
"authorization": {\r
"classification": "unclassified",\r
- "endpoint_addrs": [\r
- "172.18.0.3",\r
- ],\r
+ "endpoint_addrs": ["172.18.0.3","192.167.3.42"],\r
"endpoint_ids": [\r
{\r
"password": "password",\r
"id": "user"\r
}\r
]\r
- },\r
+ }\r
+ }\r
\r
-}\r
\r
Updating a Feed\r
---------------\r
Sample Request\r
==============\r
\r
-curl -v -X PUT -H "Content-Type: application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addFeed3.txt --location-trusted -k https:/{host}:{port}\r
+``curl -k -X PUT -H "Content-Type: application/vnd.att-dr.feed" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @updateFeed.json --location-trusted https://{host}:{port}/feed/{feedId}``\r
\r
Request Parameters:\r
===================\r
\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name | Description | Param Type | Data Type | MaxLen | Required | Format | Valid/Example Values |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| description | Feed description | Body | String | | Y | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| business description | Business description | Body | String | | Y | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Authorization | Information for authorizing | Body | Object | | Y | | |\r
-| | publishing requests | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend | Set to true if the feed is in | Body | Boolean | | N | | * true |\r
-| | the suspended state | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id | | Body | Integer | | Y | | |\r
-| | | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type | To specify type of message | Header | String | 20 | N | | application/vnd.att-dr.feed |\r
-| | (feed,subscriber,publisher) | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF | User id of owner of feed | Header | String | 1 | N | | username |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name | Description | Param Type | Data Type | MaxLen | Required | Valid/Example Values |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| description | Feed description | Body | String | <=256 | Y | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| business description | Business description | Body | String | <=256 | Y | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Authorization | Information for authorizing | Body | Object | | Y | |\r
+| | publishing requests | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend | Set to true if the feed is in | Body | Boolean | | N | * true |\r
+| | the suspended state | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id | | Body | Integer | | Y | |\r
+| | | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type | To specify type of message | Header | String | | Y | application/vnd.att-dr.feed |\r
+| | (feed,subscriber,publisher) | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF | User id of owner of feed | Header | String | <=8 | Y | username |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
\r
Response/Error Codes\r
====================\r
\r
{\r
"name": "Jettydemo",\r
- "version": "m1.0",\r
- "description": "Jettydemo",\r
- "business_description": "Jettydemo",\r
+ "version": "v1.0.0",\r
+ "description": "Updated decription",\r
+ "business_description": "Updated business description",\r
"suspend": false,\r
- "deleted": false,\r
"changeowner": true,\r
"authorization": {\r
"classification": "unclassified",\r
- "endpoint_addrs": [\r
- "172.18.0.3",\r
- ],\r
+ "endpoint_addrs": ["172.18.0.3","192.167.3.42"],\r
"endpoint_ids": [\r
{\r
"password": "password",\r
"id": "user"\r
}\r
]\r
- },\r
+ }\r
+ }\r
\r
-}\r
\r
Get a Feed\r
----------\r
Sample Request\r
==============\r
\r
-curl -v -X GET -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/feed/{feedId}\r
+``curl -k -H "X-ATT-DR-ON-BEHALF-OF: {user}" https://{host}:{port}/feed/{feedId}``\r
\r
Response/Error Codes\r
====================\r
Sample Request\r
==============\r
\r
-curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/feed/{feedId}\r
+``curl -k -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" https://{host}:{port}/feed/{feedId}``\r
\r
Response/Error Codes\r
====================\r
\r
http[s]://{host}:{port}/subscribe/{feedId}\r
\r
+* {feedId}: Id of the feed to subscribe to\r
+\r
Sample Request\r
==============\r
\r
-curl -v -X POST -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addSubscriber.txt --post301 --location-trusted -k https://{host}:{port}/subscribe/{feedId}\r
+``curl -k -X POST -H "Content-Type:application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF:{user}" --data-ascii @addSubscriber.json https://{host}:{port}/subscribe/{feedId}``\r
\r
Request Parameters:\r
===================\r
\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name | Description | Param Type | Data Type | MaxLen | Required | Format | Valid/Example Values |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId | ID for the feed you are | Path | String | | Y | | |\r
-| | subscribing to | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| delivery | Address and credentials for | Body | Object | | Y | | |\r
-| | delivery | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| follow_redirect | Set to true if feed redirection | Body | Boolean | | Y | | * true |\r
-| | is expected | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| metadata_only | Set to true if subscription is | Body | Boolean | | Y | | * true |\r
-| | to receive per-file metadata | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend | Set to true if the subscription | Body | Boolean | | N | | * true |\r
-| | is in the suspended state | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id | | Body | Integer | | Y | | |\r
-| | | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type | To specify type of message | Header | String | 20 | N | | application/vnd.att-dr.subscription |\r
-| | (feed,subscriber,publisher) | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF | User id of subscriber | Header | String | 1 | N | | username |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name | Description | Param Type | Data Type | MaxLen | Required | Valid/Example Values |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| feedId | ID for the feed you are | Path | String | | Y | |\r
+| | subscribing to | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| delivery | Address and credentials for | Body | Object | | Y | |\r
+| | delivery | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| follow_redirect | Set to true if feed redirection | Body | Boolean | | Y | * true |\r
+| | is expected | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| metadata_only | Set to true if subscription is | Body | Boolean | | Y | * true |\r
+| | to receive per-file metadata | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend | Set to true if the subscription | Body | Boolean | | N | * true |\r
+| | is in the suspended state | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id | | Body | Integer | | Y | |\r
+| | | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type | To specify type of message | Header | String | | Y | application/vnd.att-dr.subscription |\r
+| | (feed,subscriber,publisher) | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF | User id of subscriber | Header | String | <=8 | Y | username |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
\r
Response/Error Codes\r
====================\r
"use100" : true\r
},\r
"metadataOnly" : false,\r
- "suspend" : false,\r
- "groupid" : 29,\r
- "subscriber" : "subscriber123"\r
-\r
-}\r
+ "groupid" : 1,\r
+ "subscriber" : "subuser"\r
+ }\r
\r
Update subscription\r
-------------------\r
Request URL\r
===========\r
\r
-http[s]://{host}:{port}/subscribe/{feedId}\r
+http[s]://{host}:{port}/subs/{subId}\r
+\r
+* {subId}: Id of the subscription to be updated\r
\r
Sample Request\r
==============\r
\r
-curl -v -X PUT -H "Content-Type: application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF: {user}" --data-ascii @/opt/app/datartr/addSubscriber.txt --location-trusted -k https://{host}:{port}/subscribe/{feedId}\r
+``curl -k -X PUT -H "Content-Type:application/vnd.att-dr.subscription" -H "X-ATT-DR-ON-BEHALF-OF:{user}" --data-ascii @updateSubscriber.json https://{host}:{port}/subs/{subId}``\r
\r
Request Parameters:\r
===================\r
\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name | Description | Param Type | Data Type | MaxLen | Required | Format | Valid/Example Values |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId | ID for the subscription you are | Path | String | | Y | | |\r
-| | updating | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| delivery | Address and credentials for | Body | Object | | Y | | |\r
-| | delivery | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| follow_redirect | Set to true if feed redirection | Body | Boolean | | Y | | * true |\r
-| | is expected | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| metadata_only | Set to true if subscription is | Body | Boolean | | Y | | * true |\r
-| | to receive per-file metadata | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| suspend | Set to true if the subscription | Body | Boolean | | N | | * true |\r
-| | is in the suspended state | | | | | | * false |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| group-id | | Body | Integer | | Y | | |\r
-| | | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type | To specify type of message | Header | String | 20 | N | | application/vnd.att-dr.subscription |\r
-| | (feed,subscriber,publisher) | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| X-ATT-DR-ON-BEHALF-OF | User id of subscriber | Header | String | 1 | N | | username |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name | Description | Param Type | Data Type | MaxLen | Required | Valid/Example Values |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| subId | ID for the subscription you are | Path | String | | Y | |\r
+| | updating | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| delivery | Address and credentials for | Body | Object | | Y | |\r
+| | delivery | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| follow_redirect | Set to true if feed redirection | Body | Boolean | | Y | * true |\r
+| | is expected | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| metadata_only | Set to true if subscription is | Body | Boolean | | Y | * true |\r
+| | to receive per-file metadata | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| suspend | Set to true if the subscription | Body | Boolean | | N | * true |\r
+| | is in the suspended state | | | | | * false |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| group-id | | Body | Integer | | Y | |\r
+| | | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| content-type | To specify type of message | Header | String | | Y | application/vnd.att-dr.subscription |\r
+| | (feed,subscriber,publisher) | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| X-ATT-DR-ON-BEHALF-OF | User id of subscriber | Header | String | 8 | Y | username |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
\r
Response/Error Codes\r
====================\r
\r
{\r
"delivery" :{\r
- "url" : "http://172.18.0.3:7070/",\r
- "user" : "LOGIN",\r
- "password" : "PASSWORD",\r
+ "url" : "http://192.0.0.1:7070/",\r
+ "user" : "NEW_LOGIN",\r
+ "password" : "NEW_PASSWORD",\r
"use100" : true\r
},\r
"metadataOnly" : false,\r
- "suspend" : false,\r
- "groupid" : 29,\r
- "subscriber" : "subscriber123"\r
-\r
-}\r
+ "groupid" : 2,\r
+ "subscriber" : "subuser"\r
+ }\r
\r
\r
Get a Subscription\r
Request URL\r
===========\r
\r
-http[s]://{host}:{port}/subscribe/{subId}\r
+http[s]://{host}:{port}/subs/{subId}\r
\r
* {subId}: Id of the subscription you want to see a representation of\r
\r
Sample Request\r
==============\r
\r
-curl -v -X GET -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/subscribe/{subId}\r
+``curl -k -H "X-ATT-DR-ON-BEHALF-OF:{user}" https://{host}:{port}/subs/{subId}``\r
\r
Response/Error Codes\r
====================\r
Request URL\r
===========\r
\r
-http[s]://{host}:{port}/feed/{feedId}\r
+http[s]://{host}:{port}/subs/{subId}\r
\r
-* {feedId}: Id of the subscription you want to delete\r
+* {subId}: Id of the subscription you want to delete\r
\r
Sample Request\r
==============\r
\r
-curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/subscribe/{feedId}\r
+``curl -k -X DELETE -H "X-ATT-DR-ON-BEHALF-OF:{user}" https://{host}:{port}/subs/{subId}``\r
\r
Response/Error Codes\r
====================\r
Publish to Feed\r
---------------\r
\r
-**Description**: Publish a file to a created feed so that it can be shared to any subscribers of that feed\r
+**Description**: Publish data to a given feed\r
\r
Request URL\r
===========\r
\r
http[s]://{host}:{port}/publish/{feedId}/{fileName}\r
\r
-* {feedId} is the id of the feed you are publishing to.\r
-* {fileId} is the id of the file you are publishing onto the feed.\r
+* {feedId} The id of the feed you are publishing to.\r
+* {fileId} The name of the file you are publishing to the feed.\r
\r
+Sample Request\r
+==============\r
+\r
+``curl -k -X PUT --user {user}:{password} -H "Content-Type:application/octet-stream" -H "X-ATT-DR-META:{\"filetype\":\"txt\"}" --data-binary @sampleFile.txt --post301 --location-trusted https://{host}:{port}/publish/{feedId}/sampleFile``\r
\r
Request parameters\r
==================\r
\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name | Description | Param Type | Data Type | MaxLen | Required | Format | Valid/Example Values |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId | ID of the feed you are | Path | String | | Y | | |\r
-| | publishing to | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| fileId | Name of the file when it is | Path | String | | Y | | |\r
-| | published to subscribers | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| content-type | To specify type of message | Header | String | 20 | N | | application/octet-stream |\r
-| | format | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| Name | Description | Param Type | Data Type | MaxLen | Required | Valid/Example Values |\r
++========================+=================================+==================+============+==============+=============+==========================================================================+\r
+| feedId | ID of the feed you are | Path | String | | Y | |\r
+| | publishing to | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| fileId | Name of the file when it is | Path | String | | Y | |\r
+| | published to subscribers | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| content-type | To specify type of message | Header | String | | Y | application/octet-stream |\r
+| | format | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
+| X-ATT-DR-META | Metadata for the file. Accepts | Header | String | 4096 | N | '{"compressionType":"gzip","id": 1234, "transferred":true, "size":null}' |\r
+| | only non nested json objects | | | | | |\r
+| | of the following type : | | | | | |\r
+| | -Numbers | | | | | |\r
+| | -Strings | | | | | |\r
+| | -Lowercase boolean | | | | | |\r
+| | -null | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------------------------------------------+\r
\r
Response/Error Codes\r
====================\r
| | available |\r
+------------------------+---------------------------------+\r
\r
-Sample Request\r
-==============\r
-\r
-curl -v -X PUT --user {user}:{password} -H "Content-Type: application/octet-stream" --data-binary @/opt/app/datartr/sampleFile.txt --post301 --location-trusted -k https://{host}:{port}/publish/{feedId}/sampleFile.txt\r
\r
Delete a Published file\r
-----------------------\r
Sample Request\r
==============\r
\r
-curl -v -X DELETE -H "X-ATT-DR-ON-BEHALF-OF: {user}" --location-trusted -k https:/{host}:{port}/publish/{feedId}/{fileId}\r
+``curl -k -X DELETE --user {user}:{password} --location-trusted https://{host}:{port}/publish/{feedId}/{fileId}``\r
\r
Response/Error Codes\r
====================\r
Request URL\r
===========\r
\r
-\r
http[s]://{host}:{port}/feedlog/{feedId}?{queryParameter}\r
\r
-* {feedId} : The id of the feed you want to get logs from\r
-* {queryParameter}: A parameter passed through to narrow the returned logs. multiple parameters can be passed\r
+* {feedId} : The id of the feed you want to get logs for\r
+* {queryParameter}: A parameter passed through to narrow the returned logs. Multiple parameters can be passed.\r
+\r
+\r
+Sample Request\r
+==============\r
+\r
+``curl -k https://{host}:{port}/feedlog/{feedId}?statusCode=204``\r
\r
Request parameters\r
==================\r
\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name | Description | Param Type | Data Type | MaxLen | Required | Format | Valid/Example Values |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| feedId | Id of the feed you want | Path | String | | N | | 1 |\r
-| | logs from | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| type | Select records of the | Path | String | | N | | * pub: Publish attempt |\r
-| | specified type | | | | | | * del: Delivery attempt |\r
-| | | | | | | | * exp: Delivery expiry |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| publishId | Select records with specified | Path | String | | N | | |\r
-| | publish id, carried in the | | | | | | |\r
-| | X-ATT-DR-PUBLISH-ID header from | | | | | | |\r
-| | original publish request | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| start | Select records created at or | Path | String | | N | | A date-time expressed in the format |\r
-| | after specified date | | | | | | specified by RFC 3339 |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| end | Select records created at or | Path | String | | N | | A date-time expressed in the format |\r
-| | before specified date | | | | | | specified by RFC 3339 |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| statusCode | Select records with the | Path | String | | N | | An HTTP Integer status code or one |\r
-| | specified statusCode field | | | | | | of the following special values: |\r
-| | | | | | | | |\r
-| | | | | | | | * Success: Any code between 200-299 |\r
-| | | | | | | | * Redirect: Any code between 300-399 |\r
-| | | | | | | | * Failure: Any code > 399 |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| expiryReason | Select records with the | Path | String | | N | | |\r
-| | specified expiry reason | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name | Description | Param Type | Data Type | MaxLen | Required | Valid/Example Values |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| feedId | Id of the feed you want | Path | String | | N | 1 |\r
+| | logs for | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| type | Select records of the | Path | String | | N | * pub: Publish attempt |\r
+| | specified type | | | | | * del: Delivery attempt |\r
+| | | | | | | * exp: Delivery expiry |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| publishId | Select records with specified | Path | String | | N | |\r
+| | publish id, carried in the | | | | | |\r
+| | X-ATT-DR-PUBLISH-ID header from | | | | | |\r
+| | original publish request | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| start | Select records created at or | Path | String | | N | A date-time expressed in the format |\r
+| | after specified date | | | | | specified by RFC 3339 |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| end | Select records created at or | Path | String | | N | A date-time expressed in the format |\r
+| | before specified date | | | | | specified by RFC 3339 |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| statusCode | Select records with the | Path | String | | N | An HTTP Integer status code or one |\r
+| | specified statusCode field | | | | | of the following special values: |\r
+| | | | | | | |\r
+| | | | | | | * Success: Any code between 200-299 |\r
+| | | | | | | * Redirect: Any code between 300-399 |\r
+| | | | | | | * Failure: Any code > 399 |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| expiryReason | Select records with the | Path | String | | N | |\r
+| | specified expiry reason | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
\r
Response Parameters\r
===================\r
| | is currently unavailable |\r
+------------------------+-------------------------------------------+\r
\r
-Sample Request\r
-==============\r
-\r
-curl -v -k https://{host}:{port}/feedlog/{feedId}?statusCode=204\r
\r
-Subscriber logging\r
+Subscription logging\r
------------------\r
\r
**Description**: View logging information for specified subscriptions, which can be narrowed down with further parameters\r
Request URL\r
===========\r
\r
-\r
http[s]://{host}:{port}/sublog/{subId}?{queryParameter}\r
\r
* {subId}: The id of the feed you want to get logs from\r
-* {queryParameter}: A parameter passed through to narrow the returned logs. multiple parameters can be passed\r
+* {queryParameter}: A parameter passed through to narrow the returned logs. Multiple parameters can be passed.\r
+\r
+\r
+Sample Request\r
+==============\r
+\r
+``curl -k https://{host}:{port}/sublog/{subId}?statusCode=204``\r
\r
Request parameters\r
==================\r
\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| Name | Description | Param Type | Data Type | MaxLen | Required | Format | Valid/Example Values |\r
-+========================+=================================+==================+============+==============+=============+=====================+======================================+\r
-| subId | Id of the feed you want | Path | String | | N | | 1 |\r
-| | logs from | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| type | Select records of the | Path | String | | N | | * pub: Publish attempt |\r
-| | specified type | | | | | | * del: Delivery attempt |\r
-| | | | | | | | * exp: Delivery expiry |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| publishId | Select records with specified | Path | String | | N | | |\r
-| | publish id, carried in the | | | | | | |\r
-| | X-ATT-DR-PUBLISH-ID header from | | | | | | |\r
-| | original publish request | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| start | Select records created at or | Path | String | | N | | A date-time expressed in the format |\r
-| | after specified date | | | | | | specified by RFC 3339 |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| end | Select records created at or | Path | String | | N | | A date-time expressed in the format |\r
-| | before specified date | | | | | | specified by RFC 3339 |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| statusCode | Select records with the | Path | String | | N | | An Http Integer status code or one |\r
-| | specified statusCode field | | | | | | of the following special values: |\r
-| | | | | | | | |\r
-| | | | | | | | * Success: Any code between 200-299 |\r
-| | | | | | | | * Sedirect: Any code between 300-399 |\r
-| | | | | | | | * Sailure: Any code > 399 |\r
-| | | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
-| expiryReason | Select records with the | Path | String | | N | | |\r
-| | specified expiry reason | | | | | | |\r
-+------------------------+---------------------------------+------------------+------------+--------------+-------------+---------------------+--------------------------------------+\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| Name | Description | Param Type | Data Type | MaxLen | Required | Valid/Example Values |\r
++========================+=================================+==================+============+==============+=============+======================================+\r
+| subId | Id of the subscription you want | Path | String | | N | 1 |\r
+| | logs for | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| type | Select records of the | Path | String | | N | * pub: Publish attempt |\r
+| | specified type | | | | | * del: Delivery attempt |\r
+| | | | | | | * exp: Delivery expiry |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| publishId | Select records with specified | Path | String | | N | |\r
+| | publish id, carried in the | | | | | |\r
+| | X-ATT-DR-PUBLISH-ID header from | | | | | |\r
+| | original publish request | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| start | Select records created at or | Path | String | | N | A date-time expressed in the format |\r
+| | after specified date | | | | | specified by RFC 3339 |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| end | Select records created at or | Path | String | | N | A date-time expressed in the format |\r
+| | before specified date | | | | | specified by RFC 3339 |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| statusCode | Select records with the | Path | String | | N | An Http Integer status code or one |\r
+| | specified statusCode field | | | | | of the following special values: |\r
+| | | | | | | |\r
+| | | | | | | * Success: Any code between 200-299 |\r
+| | | | | | | * Redirect: Any code between 300-399 |\r
+| | | | | | | * Failure: Any code > 399 |\r
+| | | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
+| expiryReason | Select records with the | Path | String | | N | |\r
+| | specified expiry reason | | | | | |\r
++------------------------+---------------------------------+------------------+------------+--------------+-------------+--------------------------------------+\r
\r
Response Parameters\r
===================\r
+------------------------+-------------------------------------------+\r
| publishId | The unique identifier assigned by the DR |\r
| | at the time of the initial publication |\r
-| | request (carried in the X-ATT-DRPUBLISH-ID|\r
+| | request(carried in the X-ATT-DR-PUBLISH-ID|\r
| | header in the response to the original |\r
| | publish request) to a feed log URL or |\r
| | subscription log URL known to the system |\r
| 503 | Service Unavailable - The DR API service |\r
| | is currently unavailable |\r
+------------------------+-------------------------------------------+\r
-\r
-Sample Request\r
-==============\r
-\r
-curl -v -k https://{host}:{port}/sublog/{subscriberId}?statusCode=204
\ No newline at end of file