{"_id":"58516477d8404c3900c75db0","project":"55faeacad0e22017005b8265","__v":0,"user":"56267741db1eda0d001c3dbb","parentDoc":null,"version":{"_id":"55faeacad0e22017005b8268","project":"55faeacad0e22017005b8265","__v":35,"createdAt":"2015-09-17T16:31:06.800Z","releaseDate":"2015-09-17T16:31:06.800Z","categories":["55faeacbd0e22017005b8269","55faf550764f50210095078e","55faf5b5626c341700fd9e96","55faf8a7825d5f19001fa386","560052f91503430d007cc88f","560054f73aa0520d00da0b1a","56005aaf6932a00d00ba7c62","56005c273aa0520d00da0b3f","5601ae7681a9670d006d164d","5601ae926811d00d00ceb487","5601aeb064866b1900f4768d","5601aee850ee460d0002224c","5601afa02499c119000faf19","5601afd381a9670d006d1652","561d4c78281aec0d00eb27b6","561d588d8ca8b90d00210219","563a5f934cc3621900ac278c","5665c5763889610d0008a29e","566710a36819320d000c2e93","56ddf6df8a5ae10e008e3926","56e1c96b2506700e00de6e83","56e1ccc4e416450e00b9e48c","56e1ccdfe63f910e00e59870","56e1cd10bc46be0e002af26a","56e1cd21e416450e00b9e48e","56e3139a51857d0e008e77be","573b4f62ef164e2900a2b881","57c9d1335fd8ca0e006308ed","57e2bd9d1e7b7220000d7fa5","57f2b992ac30911900c7c2b6","58adb5c275df0f1b001ed59b","58c81b5c6dc7140f003c3c46","595412446ed4d9001b3e7b37","59e76ce41938310028037295","5a009de510890d001c2aabfe"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"v1","version_clean":"1.0.0","version":"1"},"category":{"_id":"57e2bd9d1e7b7220000d7fa5","version":"55faeacad0e22017005b8268","__v":0,"project":"55faeacad0e22017005b8265","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-09-21T17:04:29.273Z","from_sync":false,"order":15,"slug":"answerfactory-web-application","title":"AnswerFactory Application"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-12-14T15:25:43.577Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":16,"body":"| Table of Contents |\n| --- |\n| [AnswerFactory Recipe JSON](#section-recipe-json) |\n| [AnswerFactory Recipe API Parameters](#section-api-parameters) |\n| [Associated API Calls for AnswerFactoryRecipes](#section-associated-api-calls-for-answerfactory-recipes) |\n\n#Recipe JSON#\n\nAn AnswerFactory recipe consists of four main parts:\n\n* recipe metadata\n* recipe type metadata\n* a set of parameters that will ultimately be configurable by an AnswerFactory user\n* a set of properties specific to the recipe that are not part of the general metadata\n\n##Error responses##\n\nFor all requests, if an error occurs, the response body will consist of JSON formatted like this:\n```json\n{ \"error\" : \"message\" }\n```\nThe HTTP response code will depend on the error.\n\n#API Parameters#\n| Parameter | Data Type | Parameter Type | Description | Required? |\n| --- | --- | --- | --- | --- |\n| access | String | Body | Set to 'disabled' to hide recipe. | Optional |\n| accountId | String | Body | Identifier for account recipe is visible to; defaults to GBDX account the user making recipe creation request belongs to. Leave as empty array to make recipe public. | Optional |\n| definition | String | Body | String or JSON object that describes how the specified system should execute the recipe. | Required |\n| description | String | Body | Explanation of what the recipe does. | Required |\n| id  | String | Body | Recipe's unique identifier. For example, *query-tweets*. | Required |\n| inputType | String | Body | Name of the input to the recipe. | Required |\n| name | String | Body | The human-readable unique recipe identifier. For example, *Query Tweets*. | Required |\n| owner | String | Body | The username of the user who created recipe; defaults to GBDX username of user making recipe creation request. | Optional |\n| outputType | String | Body | Name of the output to the recipe; determines how the result of the recipe will be displayed. | Required |\n| parameters | String | Body | Contains sub-parts `name`, `description`, `type`, `required`, `allowedValues`, and `allowMultiple`, providing specific information on parameters necessary for recipe execution. See [Parameters Sub-Part Parameters](#section-parameters-sub-part-parameters) for sub-part definitions. | Optional |\n| parentRecipeId | String | Body | The id of the recipe to inherit non-overriden fields from. | Optional |\n| prerequisites | String | Body | Contains sub-parts `aggregator` and `id`, providing specifics on recipes that must run as precursors to this recipe. See [Prerequisites Sub-Part Parameters](#section-prerequisites-sub-part-parameters) for sub-part definitions. | Optional |\n| properties | String | Body | List of properties associated with the recipe, in the format `\"property key 1\":\"property value 1\", \"property key 2\":\"property value 2\", \"...\":\"...\"`. | Optional |\n| recipeType | String | Body | Name of the system utilized to execute the recipe. | Required |\n\n\n##Parameters Sub-Part Parameters##\n| Parameter | Data Type | Parameter Type | Description | Required? |\n| --- | --- | --- | --- | --- |\n| allowMultiple | Boolean | Body | Sub-part of `parameters`; if allowedValues is set and this is true than the user can select more than one of the allowedValues; otherwise users can only select one of the allowedValues at a time. | Optional |\n| allowedValues | String | Body | Sub-part of `parameters`; array of acceptable values, in the format of `\"possible value 1\", \"possible value 2\", ...`. For example, RoadTracker has allowedValues of `\"Dirt_Urban\", \"Trail\", \"Suburban\"`. | Optional |\n| description | String | Body | Sub-part of `parameters`; the explanation of the parameter. | Optional |\n| name | String | Body | Sub-part of `parameters`; the unique identifier for the parameter. | Optional |\n| required | Boolean | Body | Sub-part of `parameters`; true if the user must specify parameter; false otherwise. | Optional |\n| type | String | Body | Sub-part of `parameters`; the type of parameter value. | Optional |\n\n\n##Prerequisites Sub-Part Parameters##\n| Parameter | Data Type | Parameter Type | Description | Required? |\n| --- | --- | --- | --- | --- |\n| aggregator | String | Body | Sub-part of `prerequisites`; how to combine results of prerequisite recipe before running this recipe. | Required if prerequisites are part of the recipe, optional if no prerequisites |\n| id | String | Body | Sub-part of `prerequisites`; id of recipe to execute before the primary recipe. | Required if prerequisites are part of the recipe, optional if no prerequisites |\n\n#Associated API Calls for AnswerFactory Recipes#\n[Check Availability of AnswerFactory Recipe Endpoints](doc:check-availability-of-answerfactory-recipe-endpoints)\n[Create a Recipe with JSON Object for Recipe Definition](doc:create-a-recipe-with-json-object)\n[Create a Recipe with JSON String for Recipe Definition](doc:create-a-recipe-with-json-string)\n[Delete a Recipe](doc:delete-a-recipe)\n[Retrieve a Recipe](doc:retrieve-a-recipe)\n[Retrieve Listing of Recipes for Account](doc:retrieve-listing-of-recipes-for-account)\n[Send Recipe Suggestion](doc:send-recipe-suggestion) \n[Update a Recipe with JSON Object for Recipe Definition](doc:update-a-recipe-with-json-object)\n[Update a Recipe with JSON String for Recipe Definition](doc:update-a-recipe-with-json-string)\n[Recipe Runner Blueprints](doc:recipe-runner-blueprints)\n[Recipe Runner Blueprint Build](doc:recipe-runner-blueprint-build)","excerpt":"Overview of the AnswerFactory Recipe API","slug":"answerfactory-recipe-reference-overview","type":"basic","title":"AnswerFactory Recipe Reference Overview"}

AnswerFactory Recipe Reference Overview

Overview of the AnswerFactory Recipe API

| Table of Contents | | --- | | [AnswerFactory Recipe JSON](#section-recipe-json) | | [AnswerFactory Recipe API Parameters](#section-api-parameters) | | [Associated API Calls for AnswerFactoryRecipes](#section-associated-api-calls-for-answerfactory-recipes) | #Recipe JSON# An AnswerFactory recipe consists of four main parts: * recipe metadata * recipe type metadata * a set of parameters that will ultimately be configurable by an AnswerFactory user * a set of properties specific to the recipe that are not part of the general metadata ##Error responses## For all requests, if an error occurs, the response body will consist of JSON formatted like this: ```json { "error" : "message" } ``` The HTTP response code will depend on the error. #API Parameters# | Parameter | Data Type | Parameter Type | Description | Required? | | --- | --- | --- | --- | --- | | access | String | Body | Set to 'disabled' to hide recipe. | Optional | | accountId | String | Body | Identifier for account recipe is visible to; defaults to GBDX account the user making recipe creation request belongs to. Leave as empty array to make recipe public. | Optional | | definition | String | Body | String or JSON object that describes how the specified system should execute the recipe. | Required | | description | String | Body | Explanation of what the recipe does. | Required | | id | String | Body | Recipe's unique identifier. For example, *query-tweets*. | Required | | inputType | String | Body | Name of the input to the recipe. | Required | | name | String | Body | The human-readable unique recipe identifier. For example, *Query Tweets*. | Required | | owner | String | Body | The username of the user who created recipe; defaults to GBDX username of user making recipe creation request. | Optional | | outputType | String | Body | Name of the output to the recipe; determines how the result of the recipe will be displayed. | Required | | parameters | String | Body | Contains sub-parts `name`, `description`, `type`, `required`, `allowedValues`, and `allowMultiple`, providing specific information on parameters necessary for recipe execution. See [Parameters Sub-Part Parameters](#section-parameters-sub-part-parameters) for sub-part definitions. | Optional | | parentRecipeId | String | Body | The id of the recipe to inherit non-overriden fields from. | Optional | | prerequisites | String | Body | Contains sub-parts `aggregator` and `id`, providing specifics on recipes that must run as precursors to this recipe. See [Prerequisites Sub-Part Parameters](#section-prerequisites-sub-part-parameters) for sub-part definitions. | Optional | | properties | String | Body | List of properties associated with the recipe, in the format `"property key 1":"property value 1", "property key 2":"property value 2", "...":"..."`. | Optional | | recipeType | String | Body | Name of the system utilized to execute the recipe. | Required | ##Parameters Sub-Part Parameters## | Parameter | Data Type | Parameter Type | Description | Required? | | --- | --- | --- | --- | --- | | allowMultiple | Boolean | Body | Sub-part of `parameters`; if allowedValues is set and this is true than the user can select more than one of the allowedValues; otherwise users can only select one of the allowedValues at a time. | Optional | | allowedValues | String | Body | Sub-part of `parameters`; array of acceptable values, in the format of `"possible value 1", "possible value 2", ...`. For example, RoadTracker has allowedValues of `"Dirt_Urban", "Trail", "Suburban"`. | Optional | | description | String | Body | Sub-part of `parameters`; the explanation of the parameter. | Optional | | name | String | Body | Sub-part of `parameters`; the unique identifier for the parameter. | Optional | | required | Boolean | Body | Sub-part of `parameters`; true if the user must specify parameter; false otherwise. | Optional | | type | String | Body | Sub-part of `parameters`; the type of parameter value. | Optional | ##Prerequisites Sub-Part Parameters## | Parameter | Data Type | Parameter Type | Description | Required? | | --- | --- | --- | --- | --- | | aggregator | String | Body | Sub-part of `prerequisites`; how to combine results of prerequisite recipe before running this recipe. | Required if prerequisites are part of the recipe, optional if no prerequisites | | id | String | Body | Sub-part of `prerequisites`; id of recipe to execute before the primary recipe. | Required if prerequisites are part of the recipe, optional if no prerequisites | #Associated API Calls for AnswerFactory Recipes# [Check Availability of AnswerFactory Recipe Endpoints](doc:check-availability-of-answerfactory-recipe-endpoints) [Create a Recipe with JSON Object for Recipe Definition](doc:create-a-recipe-with-json-object) [Create a Recipe with JSON String for Recipe Definition](doc:create-a-recipe-with-json-string) [Delete a Recipe](doc:delete-a-recipe) [Retrieve a Recipe](doc:retrieve-a-recipe) [Retrieve Listing of Recipes for Account](doc:retrieve-listing-of-recipes-for-account) [Send Recipe Suggestion](doc:send-recipe-suggestion) [Update a Recipe with JSON Object for Recipe Definition](doc:update-a-recipe-with-json-object) [Update a Recipe with JSON String for Recipe Definition](doc:update-a-recipe-with-json-string) [Recipe Runner Blueprints](doc:recipe-runner-blueprints) [Recipe Runner Blueprint Build](doc:recipe-runner-blueprint-build)