{ "item": [ { "id": "e49aac29-51ea-4732-9c77-14912e06f2a4", "name": "Feed Rows", "description": { "content": "", "type": "text/plain" }, "item": [ { "id": "22690289-d33d-4b4d-a013-ea1a9892dc6e", "name": "Lists feed rows", "request": { "name": "Lists feed rows", "description": {}, "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [ { "disabled": false, "key": "filter[feed_id]", "value": "", "description": "(Required) " }, { "disabled": false, "key": "filter[feed_id]", "value": "", "description": "(Required) " } ], "variable": [] }, "header": [ { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}" } ] } }, "response": [ { "id": "a09fd7c1-b0e8-413b-856a-93c3d7c1a88e", "name": "Successful", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [ { "key": "filter[feed_id]", "value": "" }, { "key": "filter[feed_id]", "value": "" } ], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "body": {} }, "status": "OK", "code": 200, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"data\": [\n {\n \"id\": \"abc123\",\n \"type\": \"feed_rows\",\n \"attributes\": {\n \"data\": \"{\\\"hello\\\":\\\"world\\\"}\"\n }\n },\n {\n \"id\": \"def567\",\n \"type\": \"feed_rows\",\n \"attributes\": {\n \"data\": \"{\\\"hello\\\":\\\"world\\\"}\"\n }\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "a3e9bc67-0935-4075-b106-11ff68dc10bd", "name": "Bad Request", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [ { "key": "filter[feed_id]", "value": "" }, { "key": "filter[feed_id]", "value": "" } ], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "body": {} }, "status": "Bad Request", "code": 400, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 400,\n \"title\": \"Bad Request\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "36bb06fa-3f84-4f83-8294-57de2356827f", "name": "Unauthorized", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [ { "key": "filter[feed_id]", "value": "" }, { "key": "filter[feed_id]", "value": "" } ], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "body": {} }, "status": "Unauthorized", "code": 401, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 401,\n \"title\": \"Unauthorized Request\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "142ba00a-e620-4a60-bc05-77d0b421a6b3", "name": "Forbidden", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [ { "key": "filter[feed_id]", "value": "" }, { "key": "filter[feed_id]", "value": "" } ], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "body": {} }, "status": "Forbidden", "code": 403, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 403,\n \"title\": \"Forbidden\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" } ], "event": [], "protocolProfileBehavior": { "disableBodyPruning": true } }, { "id": "b17ef1ff-ece6-441c-9e14-088efcac6fb9", "name": "Creates a feed row", "request": { "name": "Creates a feed row", "description": {}, "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [] }, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "POST", "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}" } ] }, "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "response": [ { "id": "25183187-cb0f-4228-a6b9-1945319afe32", "name": "Created", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "POST", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Created", "code": 201, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"data\": {\n \"id\": \"abc123\",\n \"type\": \"feed_row\",\n \"attributes\": {\n \"data\": \"{\\\"hello\\\":\\\"world\\\"}\"\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "1fc7cf8d-033f-4b5a-91ca-bc87884f4eab", "name": "Bad Request", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "POST", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Bad Request", "code": 400, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 400,\n \"title\": \"Bad Request\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "bacfde3d-00b0-4e50-8b2b-899a7b9b1e35", "name": "Unauthorized", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "POST", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Unauthorized", "code": 401, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 401,\n \"title\": \"Unauthorized Request\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "3ae8727f-9cfd-4ffb-a696-00dd286cfbc0", "name": "Forbidden", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "POST", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Forbidden", "code": 403, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 403,\n \"title\": \"Forbidden\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" } ], "event": [], "protocolProfileBehavior": { "disableBodyPruning": true } }, { "id": "56997928-65b9-4999-976a-8bf84d85ace3", "name": "Retrieves a Feed Row", "request": { "name": "Retrieves a Feed Row", "description": {}, "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}" } ] } }, "response": [ { "id": "ccdd9fb7-e5a3-4868-adaf-4e7a797cb98f", "name": "Successful", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "body": {} }, "status": "OK", "code": 200, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"data\": {\n \"id\": \"abc123\",\n \"type\": \"feed_row\",\n \"attributes\": {\n \"data\": \"{\\\"hello\\\":\\\"world\\\"}\"\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "80eb0fc3-1c87-4c81-9df0-ce62bfd0b1e4", "name": "Unauthorized", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "body": {} }, "status": "Unauthorized", "code": 401, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 401,\n \"title\": \"Unauthorized Request\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "23fbfc3d-89e1-4ac9-877f-4a4966f95d23", "name": "Forbidden", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "GET", "body": {} }, "status": "Forbidden", "code": 403, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 403,\n \"title\": \"Forbidden\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "3ade3f5e-0a86-4bcb-8469-ccc6fc26fcb4", "name": "Not Found", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " } ], "method": "GET", "body": {} }, "status": "Not Found", "code": 404, "header": [ { "key": "Content-Type", "value": "text/plain" } ], "body": "", "cookie": [], "_postman_previewlanguage": "text" } ], "event": [], "protocolProfileBehavior": { "disableBodyPruning": true } }, { "id": "f84586dc-04eb-43ca-8b75-301b0764e0f4", "name": "Updates a Feed Row", "request": { "name": "Updates a Feed Row", "description": {}, "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "PATCH", "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}" } ] }, "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "response": [ { "id": "40ab5aa5-9191-4cdf-a05f-27f860f3c9fa", "name": "Successful", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "PATCH", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "OK", "code": 200, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"data\": {\n \"id\": \"abc123\",\n \"type\": \"feed_rows\",\n \"attributes\": {\n \"data\": \"{\\\"data\\\":\\\"data\\\"}\"\n }\n }\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "b72e5836-e9a1-4b09-9b0e-3a89362b479d", "name": "Bad Request", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "PATCH", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Bad Request", "code": 400, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "null", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "3a48058b-e40e-4038-abdc-305b52081301", "name": "Unauthorized", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "PATCH", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Unauthorized", "code": 401, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 401,\n \"title\": \"Unauthorized Request\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "e9882b49-3205-4bb9-84d3-76d9ae517f4b", "name": "Forbidden", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "PATCH", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Forbidden", "code": 403, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 403,\n \"title\": \"Forbidden\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "698dbf94-8936-4f14-9cb9-4e4e73b08ad1", "name": "Not Found", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " } ], "method": "PATCH", "body": { "mode": "raw", "raw": "{\n \"data\": {\n \"type\": \"\",\n \"attributes\": {\n \"product_identifier\": \"\",\n \"feed_id\": \"\",\n \"data\": \"\"\n }\n }\n}", "options": { "raw": { "language": "json" } } } }, "status": "Not Found", "code": 404, "header": [ { "key": "Content-Type", "value": "text/plain" } ], "body": "", "cookie": [], "_postman_previewlanguage": "text" } ], "event": [], "protocolProfileBehavior": { "disableBodyPruning": true } }, { "id": "aef7def0-07a7-4246-b069-9230041f8a78", "name": "Deletes a Feed Row", "request": { "name": "Deletes a Feed Row", "description": {}, "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "DELETE", "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{bearerToken}}" } ] } }, "response": [ { "id": "216fbc06-c1b3-4f01-a3fe-c5f7f4b3468c", "name": "No Content", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " } ], "method": "DELETE", "body": {} }, "status": "No Content", "code": 204, "header": [ { "key": "Content-Type", "value": "text/plain" } ], "body": "", "cookie": [], "_postman_previewlanguage": "text" }, { "id": "86089c19-acfe-4f5e-8fb9-0cfbf19d2e49", "name": "Bad Request", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " } ], "method": "DELETE", "body": {} }, "status": "Bad Request", "code": 400, "header": [ { "key": "Content-Type", "value": "text/plain" } ], "body": "", "cookie": [], "_postman_previewlanguage": "text" }, { "id": "e1e48631-7ca8-4af3-b126-7de045ae544f", "name": "Unauthorized", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "DELETE", "body": {} }, "status": "Unauthorized", "code": 401, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 401,\n \"title\": \"Unauthorized Request\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "ef3d0924-0978-479a-b961-aa647722fa9d", "name": "Forbidden", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " }, { "key": "Accept", "value": "application/vnd.api+json" } ], "method": "DELETE", "body": {} }, "status": "Forbidden", "code": 403, "header": [ { "key": "Content-Type", "value": "application/vnd.api+json" } ], "body": "{\n \"errors\": [\n {\n \"status\": 403,\n \"title\": \"Forbidden\"\n }\n ]\n}", "cookie": [], "_postman_previewlanguage": "json" }, { "id": "ccf76a1e-407e-4fef-9d25-af8055e36897", "name": "Not Found", "originalRequest": { "url": { "path": [ "api", "v1", "feed_rows", ":feed_row_id" ], "host": [ "{{baseUrl}}" ], "query": [], "variable": [ { "disabled": false, "type": "any", "value": "", "key": "feed_row_id", "description": "(Required) " } ] }, "header": [ { "description": { "content": "Added as a part of security scheme: bearer", "type": "text/plain" }, "key": "Authorization", "value": "Bearer " } ], "method": "DELETE", "body": {} }, "status": "Not Found", "code": 404, "header": [ { "key": "Content-Type", "value": "text/plain" } ], "body": "", "cookie": [], "_postman_previewlanguage": "text" } ], "event": [], "protocolProfileBehavior": { "disableBodyPruning": true } } ], "event": [] } ], "event": [], "variable": [ { "type": "string", "value": "https://api2.jebbit.com/", "key": "baseUrl" } ], "info": { "_postman_id": "72e2b75e-d806-4e93-82fc-2782965e5a50", "name": "Jebbit Auth Feed Rows API", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": { "content": "# Introduction\nUse our Jebbit API to automate tasks relating to your Jebbit Businesses, Campaigns, Product Feed, Launch Links, and Integrations.\n# Authentication Guide\nUse the `client_id` and `client_secret` provided by Jebbit in the [Auth Endpoint](/#tag/Auth) to generate an `access_token`. This token is valid for 24 hours. After that you'll need to hit the endpoint again to generate a new token.\n## Making API Requests\nJebbit requires your `access_token` (which is a [Json Web Token](https://jwt.io/) / JWT) to be included in all API requests. It must be sent in the `Authorization` header in the following format:\n\n`Authorization: Bearer `\n\n**Important:** If your `access_token` has permissions (scopes) to multiple businesses, then we require you to send an `x-jebbit-business` header with every request. The value of this header is a business' ID. This header sets the scope of the request to the business provided.\n## API Resource Sorting\nAll resources from the API are listed descending by the time they were created.\n# Integration/Webhook Client Guide\nWhen using our [Integrations endpoint](/#tag/Integrations) to receive Jebbit webhooks there are a few key things you want to keep top-of-mind. To help assist in this process, we've created an [Example Webhook Client Repo](https://github.com/jebbit/jebbit-webhook-client-example) as a kickstarter.\n## Test Webhooks\nYou're able to [send a test webhook](/#tag/Integrations/) to your endpoint to verify that your integration and endpoint are properly set up. Test Webhooks allow you to test out the signature verification process before activating your Integration.\n\n**Important:** Jebbit sends an `x-jebbit-test` header with every test webhook. You should ensure there is logic in your application to properly discard these webhooks and not continue processing them through your data ingestion process.\n## Jebbit Webhooks\nAll webhooks Jebbit sends contain an `x-jebbit-signature` header. This header is how you can verify that the request to your endpoint is from Jebbit.\n## Anatomy of a Jebbit Signature\nThe value of a Jebbit Signature will be a string with two key/value pairs separated by a comma. The first part is the unix timestamp of when the webhook was sent and the second part is the hmac of the payload it carries.\n`x-jebbit-signature: t=#{timestamp},v1=#{hmac}`\n## Verifying a Signature\nThe first step of validating a signature is ensuring that the timestamp provided is within a reasonable threshold from the current timestamp, say 5 minutes. If a webhook is outside of this threshold it is recommended to not process it any further -- this helps guard against replay attacks.\n\n\n```ruby\n# Example in Ruby\nif timestamp < Time.now.to_i - 300 # 300 seconds = 5 minutes\n raise StandardError, 'Timestamp outside of tolerance'\nend\n```\n\nThe next step will be to verify the `hmac` passed along by the `v1` attribute of the signature. To verify this you'll need to do the following:\n\n```ruby\n# Example in Ruby/Rails\n# Step 1 - regenerate the payload by using the timestamp the header\ngenerated_payload = \"#{timestamp}.#{request.body}\"\n\n# Step 2 - create an HMAC of the generated_payload using the `shared_secret` for the integration\n\ncalculated_hmac = Base64.strict_encode64(\n OpenSSL::HMAC.digest('sha256', shared_secret, generated_payload)\n)\n\n# Step 3 - securely verify that the two hmacs are equal\nActiveSupport::SecurityUtils.secure_compare(hmac, calculated_hmac)\n\n# if they are equal, then you can accept the payload as valid & continue processing.\n```\n", "type": "text/plain" } } }