Read about Senspire's new scholarship for Cal Poly Food Science students.
Login

Flavor Studio API

  • API Reference
  • Authentication
  • Rate Limiting
  • Versioning
  • Field Selection
  • Best Practices
  • Projects
  • Recipes
  • Ingredients
  • Packagings
  • Suppliers
  • Taste Tests
  • CRM Customers
  • CRM Settings
  • CRM Opportunities
  • CRM Contracts
  • CRM Activities
  • CRM Contacts
  • CRM Products
  • CRM Purchase Orders
  • Organizations
  • Countries
  • Webhooks
  • Errors

API Reference

Flavor Studio’s API has predictable, resource-oriented URLs, and uses JSON to indicate API errors. To authenticate it uses HTTP Basic Auth. We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application (though you should never expose your private API key in any public website's client-side code). JSON is returned by all API responses, including errors.

Base URL

Authentication

You access the Flavor Studio API using API keys that represent the required credentials. Authenticate your organization when using the API by including your API public and API private keys in the request. You can generate API keys by enabling the API on the Data & Integrations tab of the Admin page in Flavor Studio. Do not share your secret API keys in publicly accessible areas such GitHub, client-side code, and so forth. Since API Keys can be independently revoked, you have complete control of the lifecycle of your API credentials. Disabling the API from the Data & Integrations tab will permanently delete your API keys and render them unusable.

Flavor Studio generates a new public and private key pair each time that the API is enabled.

Authentication to the API is performed via HTTP Basic Auth. Provide your public API key as the Basic Auth username value and private API key as Basic Auth password value.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Authenticated Request

Rate Limiting

Please note that there is a daily limit of 1,000 API calls per organization for all endpoints, except for the ingredients endpoints, which have a higher daily limit of 2,000 API calls per organization. This limit is designed to ensure optimal performance for all organizations. Be mindful of this limit when integrating with our API.

You can always monitor your usage, as each API response includes a remaining_daily_api_requests parameter, which indicates the number of calls you have left for the day.

For ingredient endpoints, the response includes a remaining_daily_ingredient_requests parameter, which tracks the remaining calls specific to those endpoints.

If your organization requires higher usage, please contact our support team to discuss your needs.

Versioning

Every request carries an api_version, either implicitly via the URL (/api/v1/... or /api/v2/...) or explicitly as a request parameter, and every response echoes it back. v1 and v2 currently share the exact same backend implementation: the same validation, the same business logic, the same response shape for any given operation. The version has no effect on behavior today — it only reflects which URL pattern matched the request.

v1 is the original API: a single generic route, /api/{action}/{section}/.... v2 was introduced in 2020 alongside CRM support and adds an explicit route for every resource and action documented on this page. CRM, Packagings, Organizations, Countries and Webhooks were all added after v1 and have no dedicated v1 example routes.

Use the v2 routes shown throughout this reference for all new integrations. v1 remains available for existing integrations; no sunset date has been set for it.

A future breaking change would ship under a new version prefix rather than altering v1 or v2 in place. No support window or advance-notice policy for existing versions has been finalized yet — check back here or contact support before relying on one.

Field Selection

Every GET endpoint, for lists and single records, accepts an optional fields parameter that limits each returned record to the fields you need. Without it, responses are complete and unchanged.

List the fields separated by commas, using the key names exactly as they appear in the response. For a nested field, join the keys with dots, e.g. recipeversions.recipeversion_name. Selecting a field returns everything inside it. Lists are not part of a path: a nested field is returned for every entry of the list it belongs to. A key that itself contains a comma, such as the nutrient Alcohol, ethyl in a recipe's composition, can be used exactly as it appears.

The record id (for example unique_id for recipes, id for CRM records) is always returned. The response includes a fields array with the applied selection. Other response keys, such as page, the totals and filters, are not affected.

Requests that ask for fewer fields are also faster, because data that isn't requested isn't loaded. For example, a recipe list requested with fields=recipe_name,recipe_code doesn't load any recipe versions.

A few blocks hold content that differs per organization or per record, and can only be selected as a whole: recipeversions.analytics and recipeversions.override (recipes), questions and results (taste tests).

An unknown field, or a field inside one of those blocks, returns 400 invalid_parameter_value listing every field that can't be used (see Errors).

Field Selection

Best Practices

A few habits keep your integration fast and well within the daily limits (see Rate Limiting).

Request only the fields you need. Add the fields parameter to your GET requests, e.g. fields=recipe_name,recipe_code. Data you don't request isn't loaded, so the request is faster as well as smaller. This matters most for recipes: every recipe in a list includes all of its versions and ingredient rows, and a single recipe also includes its full nutrition composition. See Field Selection.

Fetch only what changed. For Recipes, Ingredients and Packagings, datefilter returns only the records created or changed on or after the given date. Keep the date of your last sync and send it with the next one, instead of downloading the complete list every time. Note that datefilter means something different elsewhere: for the CRM lists it matches the creation date only (new records, not changes to existing ones), for Projects the start date and for Taste Tests the test date.

Page through complete exports with the largest page size. When you do need a full list, request step=100 (the maximum) together with fields, then page=1, page=2 and so on. Stop when page × step reaches the total in the response (e.g. recipe_total, ingredients_total), or when a page returns fewer records than step. Sort by id in ascending order (for recipes order=unique_id&odirection=asc), so recipes created while you export are added at the end instead of shifting the pages you haven't fetched yet. Fewer requests count against your daily limit, and each one stays light.

Get a single record by its id. When you already know the id, use the single-record endpoint (e.g. /api/v2/get/recipe/{id}) instead of searching through the list.

Keep an eye on your remaining requests. Every response includes remaining_daily_api_requests (ingredient endpoints: remaining_daily_ingredient_requests).

Sync changes since your last sync
Export all recipes, page by page
Example response: total, paging and remaining requests

Projects

The Projects API offers endpoints to retrieve comprehensive information about projects managed within the system.

Each project contains essential information such as its name, due date, priority, and a brief description.

Users can interact with projects by adding contacts, forming teams, and assigning project leaders.

Each project is linked to a customer and includes status updates and progress indicators.

Endpoints

List all Projects

Returns a list of projects. The projects are returned sorted by project unique id, with the most recently created products appearing first.

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like project_name below, including being subject to project_name_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [project_uid, project_name, start_date, end_date, project_description, project_status, priority, volume_lbs, revenue, approved, approval_date, created, modified], Default: project_uid

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • project_name string optional

    Filter results by project name. How the match is performed is controlled by project_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • project_name_match string optional

    Controls how project_name is matched. Enum [partial, exact, starts_with], Default: partial. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • status string optional

    Filter results by project status (exact match on the status name). Accepts a comma-separated list to match any of several statuses at once, e.g. status=Active,On Hold. Status names are org-configurable, not a fixed enum - use the status names shown in your organization's project settings. Also accepts the two special approval-workflow labels Waiting for approval and Denied, when your organization has project approval enabled. Omitted entirely, the list is unaffected - it continues to include projects of every status, same as today.

  • progress_min number optional

    Filter results to projects with at least this much progress, as a percentage (inclusive). Can be combined with progress_max for a range, or used alone.

  • progress_max number optional

    Filter results to projects with at most this much progress, as a percentage (inclusive). Can be combined with progress_min for a range, or used alone.

  • revenue_min number optional

    Filter results to projects with at least this much revenue (inclusive). Can be combined with revenue_max for a range, or used alone.

  • revenue_max number optional

    Filter results to projects with at most this much revenue (inclusive). Can be combined with revenue_min for a range, or used alone.

  • contact integer optional

    Filter results by linked CRM contact id (exact match). Accepts a comma-separated list to match any of several contacts at once. Contact ids are available from the CRM Contacts API.

  • customer integer optional

    Filter results by linked CRM customer (account) id (exact match). Matches whether the account is linked via a CRM opportunity on the project or via one of the project's contacts' accounts. Accepts a comma-separated list to match any of several customers at once. Account ids are available from the CRM Customers API.

  • team integer optional

    Filter results by team member user id (exact match). Accepts a comma-separated list to match any of several team members at once. User ids are available from the Organization Users endpoint (GET /admin/organization/users), or from the project_team array already returned on any project response.

  • leader integer optional

    Filter results by project leader user id (exact match). Accepts a comma-separated list to match any of several leaders at once. Same source as team above - a project's leader is also present in its project_team array.

  • repository_count_min integer optional

    Filter results to projects with at least this many files in their repository (inclusive). Can be combined with repository_count_max for a range, or used alone.

  • repository_count_max integer optional

    Filter results to projects with at most this many files in their repository (inclusive). Can be combined with repository_count_min for a range, or used alone.

  • datefilter date [YYYY-MM-DD] optional

    Returns only projects with a start date on or after this date (YYYY-MM-DD).

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. project_name,project_status,project_team.username. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/projects
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: projects.

  • projects array

    Project details are listed here (including the owning user's id and username as owner_uid / owner, and the approving user's id and username as approved_by_uid / approved_by). Each project contains the overview data, stages, tasks, repository files and folders.

  • projects_total integer

    Returns of total number of projects based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the project_name/status parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. project_name, status). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Project

Retrieves the details of an existing project. Set the unique project ID from either a project creation request or the project list request.

URL Parameters
  • id integer required

    Set the project unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. project_name,project_status,project_team.username. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/project/{id}
JSON Response
  • section string

    Returns a requested section: projects.

  • section_uid integer

    Project ID

  • action string

    [get]

  • data array

    Project details are listed here, including the owning user's id and username as owner_uid / owner, and the approving user's id and username as approved_by_uid / approved_by.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section, the Projects endpoints can return the following:

Status Code Error Code Error Message Description
404 Not Found invalid_id Project not found! Returned by Get Project when id is missing or doesn't match a project in your organization.
400 Bad Request invalid_parameter_value Invalid value for project_name_match. Accepted values: partial, exact, starts_with. Returned by List all Projects when project_name_match is sent but isn't one of the accepted values.
400 Bad Request unsupported_action CREATE is not supported for the 'projects' section.
UPDATE is not supported for the 'projects' section.
DELETE is not supported for the 'projects' section.
The Projects API is read-only; only GET is supported.

Recipes

The Recipes API provides a comprehensive set of endpoints for managing and retrieving detailed information about recipes within the system.

Users can access and manipulate recipes, which include essential details such as the recipe name, versions and ingredient manipulation, following by recipe Yield/Cost data, notes and tags.

Endpoints

List all Recipes

Returns a list of recipes. The recipes are returned sorted by recipe unique id, with the most recently created recipes appearing first.

Tip: recipe lists are the largest responses in this API, since every recipe includes all of its versions and ingredient rows. Use fields to request only what you need, and datefilter to fetch only recipes changed since your last sync (see Best Practices).

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like recipe_name below, including being subject to recipe_name_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • user string optional

    Defines the user's email address, for example john.doe@example.com.

  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum Enum [unique_id, recipe_name, created, last_modified], Default: unique_id

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • recipe_name string optional

    Filter results by recipe name. How the match is performed is controlled by recipe_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR. For example, chicken soup matches any recipe name containing "chicken", "soup", or the full phrase "chicken soup" - so results can be broader than an exact-phrase search.

  • recipe_name_match string optional

    Controls how recipe_name (or the legacy filter parameter, if recipe_name isn't sent) is matched. Enum [partial, exact, starts_with], Default: partial. partial is the word/phrase-split behavior described above. exact matches the recipe name exactly in full, ignoring word-splitting. starts_with matches recipe names beginning with the given value. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • recipe_code string optional

    Filter results by recipe code (exact match, not partial - recipe codes are unique identifiers). Accepts a comma-separated list to look up several known codes at once, e.g. recipe_code=REC-1,REC-2.

  • type string optional

    Filter results by recipe type. Enum [rnd, production, archived]. Accepts a comma-separated list to match more than one type at once, e.g. type=rnd,production. An unrecognized value returns a 400 Bad Request - see Errors below. Note: this has no effect on the default (unfiltered) list, which continues to include recipes of every type, archived included.

  • owner_uid integer optional

    Filter results by recipe owner id (exact match). Accepts a comma-separated list to match recipes owned by any of several users at once, e.g. owner_uid=512,600.

  • tag string optional

    Filter results by recipe tag (exact match). Accepts a comma-separated list - unlike the other multiselect filters above, multiple tags are combined with AND, not OR, so the recipe must have every listed tag, e.g. tag=Vegan,Gluten-Free only matches recipes tagged with both.

  • versions_min integer optional

    Filter results to recipes with at least this many versions (inclusive). Can be combined with versions_max for a range, or used alone.

  • versions_max integer optional

    Filter results to recipes with at most this many versions (inclusive). Can be combined with versions_min for a range, or used alone. To match an exact count, set versions_min and versions_max to the same value.

  • ingredient_count_min integer optional

    Filter results to recipes whose most-ingredient-heavy version has at least this many ingredients (inclusive). Can be combined with ingredient_count_max for a range, or used alone.

  • ingredient_count_max integer optional

    Filter results to recipes whose most-ingredient-heavy version has at most this many ingredients (inclusive). Can be combined with ingredient_count_min for a range, or used alone.

  • image_count_min integer optional

    Filter results to recipes with at least this many distinct images across all versions (inclusive). Can be combined with image_count_max for a range, or used alone.

  • image_count_max integer optional

    Filter results to recipes with at most this many distinct images across all versions (inclusive). Can be combined with image_count_min for a range, or used alone.

  • outdated_subrecipe string optional

    Filter results by whether the recipe references a subrecipe that no longer exists (deleted, or the specific version referenced was deleted). Enum [yes, no]. An unrecognized value returns a 400 Bad Request - see Errors below.

  • ingredient_category string optional

    Filter results by the category assigned to the recipe's custom ingredients (exact match; USDA ingredients aren't included). Accepts a comma-separated list, combined with OR - a recipe using an ingredient from any of the listed categories matches, e.g. ingredient_category=Dairy,Produce matches recipes using Dairy, Produce, or both.

  • datefilter date [YYYY-MM-DD] optional

    Returns only recipes created or changed on or after this date (YYYY-MM-DD), based on their last modified date.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. recipe_name,recipe_code,recipeversions.recipeversion_name. The record id is always returned. recipeversions.analytics can only be selected as a whole. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/recipes
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: recipes.

  • recipes array

    Returns a list of recipe objects. Each recipe includes essential recipe details (including the owning user's id and username as owner_uid / owner) and one or more recipe versions. Each version contains its ingredient rows (with quantity, unit, supplier, and custom ingredient info) and may also include cost assumptions and analytics when those features are enabled for the organization.

  • recipe_total integer

    Returns of total number of recipes based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the recipe_name/recipe_code parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. recipe_name, recipe_code). Only present when at least one is used - omitted entirely otherwise.

  • user_name string

    Returns a requested user's name.

  • user_email string

    Returns a requested user's email address.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Recipe

Retrieves the details of an existing recipe. Set the unique recipe ID from either a recipe creation request or the recipe list request. If Analytics is enabled for the organization, the returned recipe data includes an analytics section.

The response can also include an override object. This represents the latest saved override values for the last selected active label used in the Publish Popup for that recipe version. These values are label-specific and are not recalculated by the API region, dv, quantities, or values filters.

The override object contains all saved override-related values for that label together with a list of fields that were explicitly changed. If override is currently turned off for the recipe version, the returned override values will be empty even if older override values still exist in the database.

URL Parameters
  • id integer required

    Set the recipe unique id

  • region string optional

    Set the Composition rounding region. Can be "us" or "canada". Default value is "us".

  • dv string optional

    Set a daily value calculation method. In case of "us" region the DV% values can be "adult", "children", "infant" or "pregnant-women". In case of "canada" region the DV% value can be "adult", "children" or "infant". Default value is "adult";

  • quantities string optional

    Set the total quantity for composition calculation which can be "serving-size" or "100g-sample". Default value is "serving-size";

  • values string optional

    Set the nutrient quantity rounding method which can be "unrounded", "rounded" or "rounded_restaurant". Default value is "rounded";

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. recipe_name,recipeversions.composition.nutrients.Calories. The record id is always returned. recipeversions.analytics and recipeversions.override can only be selected as a whole. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/recipe/{id}
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: recipes.

  • section_uid integer

    Recipe ID

  • action string

    [get]

  • data array

    Recipe details are listed here, including the owning user's id and username as owner_uid / owner.

  • data.recipeversions[].override object

    Represents the latest saved override values for the last selected active label used in the Publish Popup for the recipe version. These values are label-dependent, and the API region, dv, quantities, and values filters are not applied to them.

  • data.recipeversions[].override.values object

    Contains all saved override-related values for the last selected active label. Each item returns the readable field name as the key and an object with original_field, value, and changed. This object can be empty when override is turned off for the recipe version.

  • data.recipeversions[].override.changed_fields array

    Contains the readable field names that were explicitly changed for the last selected active label. This array can be empty.

  • region string

    Returns a requested region. ["us", "canada", "mexico"]

  • dv string

    Returns a requested DV% value. ["adult", "children", "infant", "pregnant-women"]

  • quantities string

    Returns a requested quantity value. ["serving-size", "100g-sample"]

  • values string

    Returns a requested quantity value rounding method. ["unrounded", "rounded", "rounded_restaurant"]

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Recipe

Creates a new recipe.

Body Parameters
  • recipe_name string required

    Recipe Name.

  • recipe_code string required

    Recipe Code.

  • yield_cost object optional

    Yield/Cost.

    • serving_size string optional

      Serving size.

    • serving_weight_gram string optional

      Serving weight (g) - If this one is present servings_per_container can't be.

    • servings_per_container string optional

      Servings / Container - If this one is present serving_weight_gram can't be.

  • procedure string optional

    Procedure.

  • ingredient_statement object optional

    Ingredient statement.

    • english_statement string optional

      English statement.

    • french_statement string optional

      French statement.

    • spanish_statement string optional

      Spanish statement.

  • notes string optional

    Notes.

  • ingredients array optional

    List of recipe ingredients.

    • ingredient_id string optional

      Optional. If provided, this links the row to an existing ingredient in your organization. If omitted, the row is created without an ingredient connection.

    • unit string required

      Ingredient units (Your organizations active units).

    • qty string required

      Ingredient quantity in recipe.

    • name string optional

      Optional. If ingredient_id is not provided, this is required and becomes the ingredient name stored in the recipe row. If ingredient_id is provided, you can still set name to override the default ingredient name for this recipe row only.

    • code string optional

      Optional. If provided, it is stored as the recipe row cost code. If ingredient_id is provided, this overrides the default ingredient cost code for this recipe row only.

  • analytics object / array optional

    Optional recipe analytics payload. You can provide either a JSON object (key/value map) or a JSON array (list) of objects, both formats are accepted.

    Important: Calculated Specs are not accepted in this endpoint, these keys are excluded: fat_by_dry_weight, moisture_content, total_solids, density.

    Note: If Analytics is not enabled for the organization, any analytics payload will be ignored and a warning will be returned, recipe creation will still succeed. Invalid analytics values are also non-blocking, they are reset to defaults and returned as warnings.

    Payload format

    • Single value fields, send a plain string value:

      {
        "brix": "31"
      }
    • Triplet fields, send an object containing min, target, max (all strings, empty allowed):

      {
        "ash_pct": { "min": "", "target": "", "max": "" }
      }
    • Special fields

      Dimensions, send the individual keys as single values:

      {
        "dimensions_length": "15",
        "dimensions_length_unit": "cm",
        "dimensions_width": "99",
        "dimensions_width_unit": "cm",
        "dimensions_height": "5.8",
        "dimensions_height_unit": "cm"
      }

      Shelf life, send the individual keys as single values:

      {
        "shelf_life_value": "20",
        "shelf_life_unit": "days",
        "shelf_life_location": "Frozen"
      }

      Shelf life 2, use the separate keys for a second storage condition:

      {
        "shelf_life_2_value": "1",
        "shelf_life_2_unit": "weeks",
        "shelf_life_2_location": "Thawed"
      }
    Accepted keys for analytics
    • Single value keys string

      ph_4, ph_20, ph_60, brix, tds, co2, juice_pct, nfms_pct, abv_pct, dimensions_length, dimensions_length_unit, dimensions_width, dimensions_width_unit, dimensions_height, dimensions_height_unit, shelf_life_value, shelf_life_unit, shelf_life_location, shelf_life_2_value, shelf_life_2_unit, shelf_life_2_location

    • Triplet keys object

      Send this format: { "min": "", "target": "", "max": "" }

      Chemical / Physical:

      ash_pct, pf_ratio, energy_density, tit_acid, moisture, fat_pct, fat_dry_pct, salt_pct, color_nci, melt, aw

      Microbiological:

      yeast_mold, coliform, ecoli, coag_staph, pathogen

      R&D Specs:

      lactose_water, added_milk_fat, ortho_water

    Accepted value types and validation rules for analytics
    • General rules

      All values are sent as JSON strings.

      Empty strings are allowed and treated as empty.

      For numeric fields, values must be numeric strings within the allowed range.

      For triplets, min, target, max may each be empty.

      If the same key is sent multiple times, the last value wins.

    • Single value numeric fields string

      ph_4 numeric,
      min 0, max 14, integerOnly 0

      ph_20 numeric,
      min 0, max 14, integerOnly 0

      ph_60 numeric,
      min 0, max 14, integerOnly 0

      brix numeric,
      min 0, max 100, integerOnly 0

      tds numeric,
      min 0, max none, integerOnly 0

      co2 numeric,
      min 0, max 10, integerOnly 0

      juice_pct numeric,
      min 0, max 100, integerOnly 0

      nfms_pct numeric,
      min 0, max 100, integerOnly 0

      abv_pct numeric,
      min 0, max 100, integerOnly 0

      dimensions_length numeric,
      min 0, max none, integerOnly 0

      dimensions_width numeric,
      min 0, max none, integerOnly 0

      dimensions_height numeric,
      min 0, max none, integerOnly 0

      shelf_life_value numeric,
      min 0, max none, integerOnly 0

      shelf_life_2_value numeric,
      min 0, max none, integerOnly 0

    • Unit fields string enum

      dimensions_length_unit, dimensions_width_unit, dimensions_height_unit allowed: in, ft, mm, cm

      shelf_life_unit, shelf_life_2_unit allowed: days, weeks, months, years

      shelf_life_location, shelf_life_2_location allowed: Ambient, Refrigerated, Frozen, Thawed, Opened

    • Triplet object format object

      Send: { "min": "", "target": "", "max": "" }

      allowText false: values must be numeric strings (or empty)

      allowText true: values may be numeric strings or free text (or empty)

    • Triplet rules object

      ash_pct numeric,
      min 0, max 100, integerOnly 0, allowText false

      pf_ratio numeric,
      min 0, max none, integerOnly 0, allowText false

      energy_density numeric,
      min 0, max 1000, integerOnly 0, allowText false

      tit_acid numeric,
      min 0, max 5, integerOnly 0, allowText false

      moisture numeric,
      min 0, max 100, integerOnly 0, allowText false

      fat_pct numeric,
      min 0, max 100, integerOnly 0, allowText false

      fat_dry_pct numeric,
      min 0, max 100, integerOnly 0, allowText false

      salt_pct numeric,
      min 0, max 100, integerOnly 0, allowText false

      color_nci integer string,
      min 1, max 11, integerOnly 1, allowText false

      melt integer string,
      min 0, max 10, integerOnly 1, allowText false

      aw numeric,
      min 0, max 1, integerOnly 0, allowText false

      yeast_mold
      min 0, max none, integerOnly 0, allowText true

      coliform
      min 0, max none, integerOnly 0, allowText true

      ecoli
      min 0, max none, integerOnly 0, allowText true

      coag_staph
      min 0, max none, integerOnly 0, allowText true

      pathogen
      min 0, max none, integerOnly 0, allowText true

      lactose_water numeric,
      min 0, max 100, integerOnly 0, allowText false

      added_milk_fat numeric,
      min 0, max 100, integerOnly 0, allowText false

      ortho_water numeric,
      min 0, max 100, integerOnly 0, allowText false

    Analytics categories, titles, and keys
    • Soluble Solids single values

      Brix (%)
      brix

      TDS (mg/L)
      tds

    • Composition single values

      Juice (%)
      juice_pct

      Non-Fat Milk Solids (%)
      nfms_pct

    • Carbonation single values

      CO₂ (vol)
      co2

    • Chemical / Physical mixed

      pH at 4°C
      ph_4

      pH at 20°C
      ph_20

      pH at 60°C
      ph_60

      Ash Content (%)
      ash_pct (triplet)

      Protein-to-Fat Ratio
      pf_ratio (triplet)

      Energy Density (kcal/100g)
      energy_density (triplet)

      Titratable Acidity (as Lactic Acid %)
      tit_acid (triplet)

      Moisture (%)
      moisture (triplet)

      % Fat
      fat_pct (triplet)

      % Fat on Dry Basis
      fat_dry_pct (triplet)

      % Salt
      salt_pct (triplet)

      Color (NCI)
      color_nci (triplet)

      Melt (0-10)
      melt (triplet)

      Water Activity (aw)
      aw (triplet)

    • Microbiological triplets

      Yeast / Mold
      yeast_mold (triplet)

      Coliform
      coliform (triplet)

      E. coli
      ecoli (triplet)

      Coag. + Staph
      coag_staph (triplet)

      Salmonella / Listeria
      pathogen (triplet)

    • R&D Specs mixed

      Dimensions (L x W x H)
      dimensions_length, dimensions_length_unit, dimensions_width, dimensions_width_unit, dimensions_height, dimensions_height_unit

      Shelf Life
      shelf_life_value, shelf_life_unit, shelf_life_location

      Shelf Life 2
      shelf_life_2_value, shelf_life_2_unit, shelf_life_2_location

      Lactose-to-water (%)
      lactose_water (triplet)

      Added Milk Fat (%)
      added_milk_fat (triplet)

      Orthophosphate-to-water (%)
      ortho_water (triplet)

      ABV (%)
      abv_pct

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/recipe/
cURL Request
JSON Response
  • section string

    Returns a requested section: recipes.

  • section_uid integer

    Newly created recipe ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created recipe data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section, the Recipes endpoints can return the following:

Status Code Error Code Error Message Description
404 Not Found invalid_id Recipe not found! Returned by Get Recipe when recipe_uid is missing or doesn't match a recipe in your organization.
404 Not Found invalid_user Invalid user. Returned by List all Recipes when the user filter is a well-formed email that doesn't match a user in your organization.
400 Bad Request invalid_email Invalid email address. Returned by List all Recipes when the user filter isn't a valid email format.
400 Bad Request invalid_parameter_value Invalid value for recipe_name_match. Accepted values: partial, exact, starts_with. Returned by List all Recipes when recipe_name_match is sent but isn't one of the accepted values.
400 Bad Request invalid_parameter_value Invalid value for type: '{value}'. Accepted values: rnd, production, archived. Returned by List all Recipes when any comma-separated value in type isn't one of the accepted values.
400 Bad Request invalid_parameter_value Invalid value for outdated_subrecipe. Accepted values: yes, no. Returned by List all Recipes when outdated_subrecipe is sent but isn't one of the accepted values.
400 Bad Request empty_data Recipe data not found! Please send recipe data as JSON. Create Recipe was called without a JSON request body.
400 Bad Request invalid_parameter Parameter Id is not accepted by this EP. Create Recipe request body includes an id field, which isn't accepted on create.
400 Bad Request recipe_name_blank Recipe name can't be blank. recipe_name is missing or empty.
400 Bad Request duplicate_name Recipe name already exists. Please select another name. recipe_name already exists in your organization.
400 Bad Request ingredients_blank Recipe ingredients are missing. Please add ingredients. ingredients is missing or empty.
400 Bad Request recipe_ingredient_not_found Ingredient `{ingredient_id}` is not found. An entry in ingredients has an ingredient_id that doesn't match an ingredient in your organization.
400 Bad Request invalid_unit Ingredient unit `{unit}` is not supported. An entry in ingredients is missing unit or uses an unsupported unit.
400 Bad Request qty_is_not_a_number Ingredient qty `{qty}` is not a number. An entry in ingredients has a non-numeric qty.
400 Bad Request serving_weight_per_container_error Yield/Cost can't contain both serving_weight_gram and servings_per_container. yield_cost sets both serving_weight_gram and servings_per_container at once.
400 Bad Request invalid_serving_weight Yield/Cost serving weight `{serving_weight_gram}` is not a number. yield_cost.serving_weight_gram is non-numeric.
400 Bad Request invalid_servings_per_container Yield/Cost servings per container `{servings_per_container}` is not a number. yield_cost.servings_per_container is non-numeric.
400 Bad Request unsupported_action UPDATE is not supported for the 'recipes' section.
DELETE is not supported for the 'recipes' section.
The Recipes API only supports GET and CREATE.

Ingredients

The Ingredients API provides a comprehensive set of endpoints for managing and retrieving detailed information about ingredients within the system.

Users can access and manipulate ingredients, which include essential details such as the ingredient name, Code, Category, Supplier, Cost/Unit and Date.

Each Ingredient has it's General data, Nutrients/Allergens data, Ingredient Statement and Procurement data.

Endpoints

List all Ingredients

Returns a list of ingredients. The ingredients are returned sorted by ingredient name in descending order.

Note: the older filter parameter is still accepted for backward compatibility - it searches 4 fields at once (manufacturer, name, ingredientcost_code, category_name), each matched partially/keyword-style. It's ignored if ingredient_name is also sent. Kept working exactly as-is for existing integrations, but no longer documented here in favor of the field-specific filters below, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [name, ingredientcost_code, category_name, manufacturer, ingredientcost_cost, created], Default: name

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • ingredient_name string optional

    Filter results by ingredient name. How the match is performed is controlled by ingredient_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • ingredient_name_match string optional

    Controls how ingredient_name is matched. Enum [partial, exact, starts_with], Default: partial. partial is the word/phrase-split behavior described above. exact matches the ingredient name exactly in full, ignoring word-splitting. starts_with matches ingredient names beginning with the given value. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • item_code string optional

    Filter results by item code (exact match, not partial - item codes are unique identifiers). Accepts a comma-separated list to look up several known codes at once, e.g. item_code=FS_COST_001,FS_COST_002.

  • category string optional

    Filter results by ingredient category name (exact match). Accepts a comma-separated list to match any of several categories at once, e.g. category=Starches,Gums.

  • certifications string optional

    Filter results by certification (exact match). Enum [Non GMO, Kosher, Organic, Vegan, GF, Halal, Kosher for Passover, Bioengineered, FID Sheet]. Accepts a comma-separated list to match any of several certifications at once, e.g. certifications=Vegan,GF. An unrecognized value returns a 400 Bad Request - see Errors below.

  • storage string optional

    Filter results by storage type (exact match). Enum [Ambient, Refrigerated, Frozen, Thawed, Opened]. Accepts a comma-separated list to match any of several storage types at once, e.g. storage=Frozen,Refrigerated. An unrecognized value returns a 400 Bad Request - see Errors below.

  • country_of_origin string optional

    Filter results by country of origin (exact match). Accepts a comma-separated list to match any of several countries at once, e.g. country_of_origin=USA,Mexico.

  • ingredient_statement string optional

    Filter results by a piece of text within the ingredient statement (partial match). Matches against all 4 stored statement variants (US, US/Canada, Canadian, Mexican) - a result matches if any one of them contains the given text.

  • document_count_min integer optional

    Filter results to ingredients with at least this many attached documents/spec sheets (inclusive). Can be combined with document_count_max for a range, or used alone.

  • document_count_max integer optional

    Filter results to ingredients with at most this many attached documents/spec sheets (inclusive). Can be combined with document_count_min for a range, or used alone. To match an exact count, set document_count_min and document_count_max to the same value.

  • datefilter date [YYYY-MM-DD] optional

    Returns only ingredients created or changed on or after this date (YYYY-MM-DD), including changes to their cost record.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. ingredient,item_code,calories_kcal. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/ingredients
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: ingredients.

  • ingredients array

    Ingredient details are listed here. Each ingredient contains essential ingredient details.

  • ingredients_total integer

    Returns of total number of ingredients based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the ingredient_name/item_code parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. ingredient_name, item_code). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_ingredient_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Ingredient

Retrieves the details of an existing ingredient. Set the unique ingredient ID from either a ingredient creation request or the ingredient list request.

URL Parameters
  • id integer[-]integer required

    Set the ingredient unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. ingredient,item_code,calories_kcal. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/ingredient/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: ingredients.

  • section_uid integer

    Ingredient ID

  • action string

    [get]

  • data array

    Ingredient details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_ingredient_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Ingredient

Creates a new ingredient.

Body Parameters
  • ingredient string required

    Ingredient Name.

  • item_code string required

    Cost Code.

  • cost float required

    $ Price.

  • quantity float required

    Cost Quantity.

  • unit string required

    Cost Unit. Enum [kg, g, mg, mcg, oz, lbs, l, ml, tsp, tbsp, fl_oz, cup, pt, qt, gal, each].

  • yield float required

    Yield percentage.

  • fob_terms string required

    FOB terms. Enum ["Customer pickup", "Destination, freight prepaid", "Destination, freight collect", "Destination, freight collect and allowed", "Origin, freight prepaid", "Origin, freight collect", "Origin, freight prepaid and charged back", "Destination, freight prepaid and charged back"].

  • minimum_order_info string required

    Minimum Order Info.

  • storage string optional

    Ingredient storage condition. Enum [Ambient, Refrigerated, Frozen, Thawed, Opened].

  • shelf_life float optional

    Shelf Life Quantity. Numeric value used together with shelf_life_unit.

  • shelf_life_unit string optional

    Shelf Life Unit. Enum [days, weeks, months, years].

  • category string required

    Ingredient category.

  • supplier_uid integer optional

    Supplier ID. Must belong to an existing supplier in your organization - see the Suppliers section to look one up. Omit both this and supplier for no supplier.

  • supplier string optional

    Supplier name, used only when supplier_uid isn't given. Must exactly match an existing supplier's name for your organization - it will not create a new one. Returns an invalid_supplier error if it doesn't match.

  • ingredient_statement string required

    Ingredient statement.

  • canadian_ingredient_statement string required

    Ingredient statement (french).

  • density_weight float required

    Density weight.

  • density_weight_unit string required

    Density weight unit [g, kg, mg, lbs, oz].

  • density_unit string required

    Density volume unit [ml, l, tsp, tbsp, fl_oz, cup, pt, qt, gal].

  • processing_aid integer required

    Processing Aid [0,1]

  • organic_percent float optional

    Organic percentage used for organic calculations. Accepted values: 0 to 100. Default: 100.

  • organic_exclusion_type string optional

    Organic calculation exclusion. Accepted values: salt, water, or an empty value when no exclusion applies.

  • protein_digestibility integer required

    Protein Digestibility [0 - 1].

  • notes string required

    Notes.

  • weight_g float required

    Weight (g). Default: 100.

  • calories_kcal float required

    Calories (kcal).

  • total_fat_g float required

    Total fat (g).

  • saturated_fat_g float required

    Saturated fat (g).

  • trans_fatty_acid_g float required

    Trans fatty acid (g).

  • cholesterol_mg float required

    Cholesterol (mg).

  • sodium_mg float required

    Sodium (mg).

  • total_carbohydrate_g float required

    Total Carbohydrate (g).

  • dietary_fiber_g float required

    Dietary Fiber (g).

  • total_sugars_g float required

    Total sugars (g).

  • added_sugars_g float required

    Added sugars (g).

  • protein_g float required

    Protein (g).

  • water_g float required

    Water (g).

  • ash_g float required

    Ash (g).

  • vitamin_a_iu float required

    Vitamin A (IU).

  • vitamin_a_rae_mcg float required

    Vitamin A (RAE) (mcg).

  • thiamin_mg float required

    Thiamin/B1 (mg).

  • riboflavin_mg float required

    Riboflavin/B2 (mg).

  • niacin_mg float required

    Niacin/B3 (mg).

  • vitamin_b6_mg float required

    Vitamin B6 (mg).

  • vitamin_b12_mcg float required

    Vitamin B12 (mcg).

  • vitamin_c_mg float required

    Vitamin C (mg).

  • vitamin_d_iu float required

    Vitamin D (IU).

  • vitamin_d_mcg float required

    Vitamin D (mcg).

  • vitamin_e_mg float required

    Vitamin E (mg).

  • vitamin_k_mcg float required

    Vitamin K (mcg).

  • beta_carotene_mcg float required

    Beta-carotene (mcg).

  • biotin_mcg float required

    Biotin/B7 (mcg).

  • food_folate_mcg float required

    Food folate (mcg).

  • folate_mcg float required

    Folate/B9 (mcg).

  • folate_dfe_mcg float required

    Folate/B9 (DFE) (mcg).

  • pantothenic_acid_mg float required

    Pantothenic acid (mg).

  • retinol_mcg float required

    Retinol (mcg).

  • calcium_mg float required

    Calcium (mg).

  • chloride_mg float required

    Chloride (mg).

  • chromium_mcg float required

    Chromium (mcg).

  • copper_mg float required

    Copper (mg).

  • iron_mg float required

    Iron (mg).

  • magnesium_mg float required

    Magnesium (mg).

  • manganese_mg float required

    Manganese (mg).

  • molybdenum_mcg float required

    Molybdenum (mcg).

  • phosphorus_mg float required

    Phosphorus (mg).

  • potassium_mg float required

    Potassium (mg).

  • selenium_mcg float required

    Selenium (mcg).

  • zinc_mg float required

    Zinc (mg).

  • monounsaturated_g float required

    Monounsaturated (g).

  • polyunsaturated_g float required

    Polyunsaturated (g).

  • omega_3_g float required

    Omega-3 (g).

  • omega_6_g float required

    Omega-6 (g).

  • alcohol_ethyl_g float required

    Alcohol, ethyl (g).

  • alpha_carotene_mcg float required

    Alpha-carotene (mcg).

  • beta_cryptoxanthin_mcg float required

    Beta-cryptoxanthin (mcg).

  • caffeine_mg float required

    Caffeine (mg).

  • choline_mg float required

    Choline (mg).

  • fluoride_mg float required

    Fluoride (mg).

  • folic_acid_mcg float required

    Folic acid (mcg).

  • lutein_zeazanthin_mcg float required

    Lutein+zeazanthin (mcg).

  • lycopene_mcg float required

    Lycopene (mcg).

  • iodine_mcg float required

    Iodine (mcg).

  • sugar_alcohol_g float required

    Sugar Alcohol (g).

  • allergen_egg string required

    Accepted values: No, Yes, one exact value from this list, or multiple exact values separated by commas. For example, "Chicken" is valid, and "Chicken, Duck" is also valid. Allowed exact values are: Chicken, Duck, Goose, Quail.

  • allergen_peanuts string required

    Enum [Yes, No].

  • allergen_milk string required

    Accepted values: No, Yes, one exact value from this list, or multiple exact values separated by commas. For example, "Cow" is valid, and "Cow, Goat" is also valid. Allowed exact values are: Cow, Goat, Sheep, Buffalo, Camel.

  • allergen_wheat string required

    Enum [Yes, No].

  • allergen_soy string required

    Enum [Yes, No].

  • allergen_tree_nuts string required

    Accepted values: No, Yes, or a comma separated list using these tree nut options: Almond, Brazil Nut, Cashew, Filbert, Hazelnut, Heartnut, Macadamia Nut, Bush Nut, Pecan, Pine Nut, Pinon Nut, Pistachio, Walnut. Custom subgroup values are also accepted.

  • allergen_fish string required

    Enum [Yes, No, custom value].

  • allergen_shellfish string required

    Enum [Yes, No, custom value].

  • allergen_mustard string required

    Enum [Yes, No].

  • allergen_sesame_seeds string required

    Enum [Yes, No].

  • allergen_sulfites string required

    Enum [Yes, No].

  • allergen_gluten string required

    Enum [Yes, No].

  • allergen_shellfish_molluscan string required

    Enum [Yes, No, custom value].

  • maycontain_egg string required

    Accepted values: No, Yes, one exact value from this list, or multiple exact values separated by commas. For example, "Chicken" is valid, and "Chicken, Duck" is also valid. Allowed exact values are: Chicken, Duck, Goose, Quail.

  • maycontain_peanuts string required

    Enum [Yes, No].

  • maycontain_milk string required

    Accepted values: No, Yes, one exact value from this list, or multiple exact values separated by commas. For example, "Cow" is valid, and "Cow, Goat" is also valid. Allowed exact values are: Cow, Goat, Sheep, Buffalo, Camel.

  • maycontain_wheat string required

    Enum [Yes, No].

  • maycontain_soy string required

    Enum [Yes, No].

  • maycontain_tree_nuts string required

    Accepted values: No, Yes, or a comma separated list using these tree nut options: Almond, Brazil Nut, Cashew, Filbert, Hazelnut, Heartnut, Macadamia Nut, Bush Nut, Pecan, Pine Nut, Pinon Nut, Pistachio, Walnut. Custom subgroup values are also accepted.

  • maycontain_fish string required

    Enum [Yes, No, custom value].

  • maycontain_shellfish string required

    Enum [Yes, No, custom value].

  • maycontain_mustard string required

    Enum [Yes, No].

  • maycontain_sesame_seeds string required

    Enum [Yes, No].

  • maycontain_sulfites string required

    Enum [Yes, No].

  • maycontain_gluten string required

    Enum [Yes, No].

  • maycontain_shellfish_molluscan string required

    Enum [Yes, No, custom value].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/ingredient/
cURL Request
JSON Response
  • section string

    Returns a requested section: ingredients.

  • section_uid integer[-]integer

    Newly created ingredient ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created ingredient data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_ingredient_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Ingredient

Updates an existing ingredient.

URL Parameters
  • id integer[-]integer required

    Set the ingredient unique id

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/ingredient/{id}
cURL Request
Body Parameters
  • ingredient string required

    Ingredient Name.

  • item_code string required

    Cost Code.

  • cost float required

    $ Price.

  • quantity float required

    Cost Quantity.

  • unit string required

    Cost Unit. Enum [kg, g, mg, mcg, oz, lbs, l, ml, tsp, tbsp, fl_oz, cup, pt, qt, gal, each].

  • enabled integer

    Enabled [0,1]

  • yield float required

    Yield percentage.

  • fob_terms string required

    FOB terms. Enum ["Customer pickup", "Destination, freight prepaid", "Destination, freight collect", "Destination, freight collect and allowed", "Origin, freight prepaid", "Origin, freight collect", "Origin, freight prepaid and charged back", "Destination, freight prepaid and charged back"].

  • minimum_order_info string required

    Minimum Order Info.

  • storage string optional

    Ingredient storage condition. Enum [Ambient, Refrigerated, Frozen, Thawed, Opened].

  • shelf_life float optional

    Shelf Life Quantity. Numeric value used together with shelf_life_unit.

  • shelf_life_unit string optional

    Shelf Life Unit. Enum [days, weeks, months, years].

  • category string required

    Ingredient category.

  • supplier_uid integer optional

    Supplier ID. Must belong to an existing supplier in your organization - see the Suppliers section to look one up. Omit both this and supplier for no supplier.

  • supplier string optional

    Supplier name, used only when supplier_uid isn't given. Must exactly match an existing supplier's name for your organization - it will not create a new one. Returns an invalid_supplier error if it doesn't match.

  • ingredient_statement string required

    Ingredient statement.

  • canadian_ingredient_statement string required

    Ingredient statement (french).

  • density_weight float required

    Density weight.

  • density_weight_unit string required

    Density weight unit [g, kg, mg, lbs, oz].

  • density_unit string required

    Density volume unit [ml, l, tsp, tbsp, fl_oz, cup, pt, qt, gal].

  • processing_aid integer required

    Processing Aid [0,1]

  • organic_percent float optional

    Organic percentage used for organic calculations. Accepted values: 0 to 100. Default: 100.

  • organic_exclusion_type string optional

    Organic calculation exclusion. Accepted values: salt, water, or an empty value when no exclusion applies.

  • protein_digestibility integer required

    Protein Digestibility [0 - 1].

  • notes string required

    Notes.

  • weight_g float required

    Weight (g). Default: 100.

  • calories_kcal float required

    Calories (kcal).

  • total_fat_g float required

    Total fat (g).

  • saturated_fat_g float required

    Saturated fat (g).

  • trans_fatty_acid_g float required

    Trans fatty acid (g).

  • cholesterol_mg float required

    Cholesterol (mg).

  • sodium_mg float required

    Sodium (mg).

  • total_carbohydrate_g float required

    Total Carbohydrate (g).

  • dietary_fiber_g float required

    Dietary Fiber (g).

  • total_sugars_g float required

    Total sugars (g).

  • added_sugars_g float required

    Added sugars (g).

  • protein_g float required

    Protein (g).

  • water_g float required

    Water (g).

  • ash_g float required

    Ash (g).

  • vitamin_a_iu float required

    Vitamin A (IU).

  • vitamin_a_rae_mcg float required

    Vitamin A (RAE) (mcg).

  • thiamin_mg float required

    Thiamin/B1 (mg).

  • riboflavin_mg float required

    Riboflavin/B2 (mg).

  • niacin_mg float required

    Niacin/B3 (mg).

  • vitamin_b6_mg float required

    Vitamin B6 (mg).

  • vitamin_b12_mcg float required

    Vitamin B12 (mcg).

  • vitamin_c_mg float required

    Vitamin C (mg).

  • vitamin_d_iu float required

    Vitamin D (IU).

  • vitamin_d_mcg float required

    Vitamin D (mcg).

  • vitamin_e_mg float required

    Vitamin E (mg).

  • vitamin_k_mcg float required

    Vitamin K (mcg).

  • beta_carotene_mcg float required

    Beta-carotene (mcg).

  • biotin_mcg float required

    Biotin/B7 (mcg).

  • food_folate_mcg float required

    Food folate (mcg).

  • folate_mcg float required

    Folate/B9 (mcg).

  • folate_dfe_mcg float required

    Folate/B9 (DFE) (mcg).

  • pantothenic_acid_mg float required

    Pantothenic acid (mg).

  • retinol_mcg float required

    Retinol (mcg).

  • calcium_mg float required

    Calcium (mg).

  • chloride_mg float required

    Chloride (mg).

  • chromium_mcg float required

    Chromium (mcg).

  • copper_mg float required

    Copper (mg).

  • iron_mg float required

    Iron (mg).

  • magnesium_mg float required

    Magnesium (mg).

  • manganese_mg float required

    Manganese (mg).

  • molybdenum_mcg float required

    Molybdenum (mcg).

  • phosphorus_mg float required

    Phosphorus (mg).

  • potassium_mg float required

    Potassium (mg).

  • selenium_mcg float required

    Selenium (mcg).

  • zinc_mg float required

    Zinc (mg).

  • monounsaturated_g float required

    Monounsaturated (g).

  • polyunsaturated_g float required

    Polyunsaturated (g).

  • omega_3_g float required

    Omega-3 (g).

  • omega_6_g float required

    Omega-6 (g).

  • alcohol_ethyl_g float required

    Alcohol, ethyl (g).

  • alpha_carotene_mcg float required

    Alpha-carotene (mcg).

  • beta_cryptoxanthin_mcg float required

    Beta-cryptoxanthin (mcg).

  • caffeine_mg float required

    Caffeine (mg).

  • choline_mg float required

    Choline (mg).

  • fluoride_mg float required

    Fluoride (mg).

  • folic_acid_mcg float required

    Folic acid (mcg).

  • lutein_zeazanthin_mcg float required

    Lutein+zeazanthin (mcg).

  • lycopene_mcg float required

    Lycopene (mcg).

  • iodine_mcg float required

    Iodine (mcg).

  • sugar_alcohol_g float required

    Sugar Alcohol (g).

  • allergen_egg string required

    Enum [Yes, No].

  • allergen_peanuts string required

    Enum [Yes, No].

  • allergen_milk string required

    Enum [Yes, No].

  • allergen_wheat string required

    Enum [Yes, No].

  • allergen_soy string required

    Enum [Yes, No].

  • allergen_tree_nuts string required

    Accepted values: No, Yes, or a comma separated list using these tree nut options: Almond, Brazil Nut, Cashew, Filbert (Hazelnut), Heartnut, Macadamia Nut (Bush Nut), Pecan, Pine Nut (Pinon Nut), Pistachio, Walnut. Custom subgroup values are also accepted.

  • allergen_fish string required

    Enum [Yes, No, custom value].

  • allergen_shellfish string required

    Enum [Yes, No, custom value].

  • allergen_mustard string required

    Enum [Yes, No].

  • allergen_sesame_seeds string required

    Enum [Yes, No].

  • allergen_sulfites string required

    Enum [Yes, No].

  • allergen_gluten string required

    Enum [Yes, No].

  • allergen_shellfish_molluscan string required

    Enum [Yes, No, custom value].

  • maycontain_egg string required

    Enum [Yes, No].

  • maycontain_peanuts string required

    Enum [Yes, No].

  • maycontain_milk string required

    Enum [Yes, No].

  • maycontain_wheat string required

    Enum [Yes, No].

  • maycontain_soy string required

    Enum [Yes, No].

  • maycontain_tree_nuts string required

    Accepted values: No, Yes, or a comma separated list using these tree nut options: Almond, Brazil Nut, Cashew, Filbert (Hazelnut), Heartnut, Macadamia Nut (Bush Nut), Pecan, Pine Nut (Pinon Nut), Pistachio, Walnut. Custom subgroup values are also accepted.

  • maycontain_fish string required

    Enum [Yes, No, custom value].

  • maycontain_shellfish string required

    Enum [Yes, No, custom value].

  • maycontain_mustard string required

    Enum [Yes, No].

  • maycontain_sesame_seeds string required

    Enum [Yes, No].

  • maycontain_sulfites string required

    Enum [Yes, No].

  • maycontain_gluten string required

    Enum [Yes, No].

  • maycontain_shellfish_molluscan string required

    Enum [Yes, No, custom value].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/ingredient/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: ingredients.

  • section_uid integer[-]integer

    Updated ingredient ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated ingredient data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_ingredient_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section, the Ingredients endpoints can return the following:

Status Code Error Code Error Message Description
404 Not Found invalid_id Ingredient not found! Returned by Get Ingredient and Update Ingredient when section_uid is missing or doesn't match an ingredient in your organization.
400 Bad Request empty_data Ingredient data not found! Returned by Create Ingredient and Update Ingredient when called without a JSON request body.
400 Bad Request invalid_parameter_value Invalid value for ingredient_name_match. Accepted values: partial, exact, starts_with. Returned by List all Ingredients when ingredient_name_match is sent but isn't one of the accepted values.
400 Bad Request invalid_parameter_value Invalid value for certifications: '{value}'. Accepted values: Non GMO, Kosher, Organic, Vegan, GF, Halal, Kosher for Passover, Bioengineered, FID Sheet. Returned by List all Ingredients when any comma-separated value in certifications isn't one of the accepted values.
400 Bad Request invalid_parameter_value Invalid value for storage: '{value}'. Accepted values: Ambient, Refrigerated, Frozen, Thawed, Opened. Returned by List all Ingredients when any comma-separated value in storage isn't one of the accepted values.
429 Too Many Requests daily_ingredient_request_limit_exceeded Daily API Ingredient request limit exceeded. Please try again tomorrow. Ingredient endpoints have their own daily limit (see Rate Limiting), separate from daily_request_limit_exceeded.
400 Bad Request unsupported_action DELETE is not supported for the 'ingredients' section. The Ingredients API only supports GET, CREATE and UPDATE.

Packagings

The Packagings API provides a comprehensive set of endpoints for managing and retrieving detailed information about packagings within the system.

Users can access and manipulate packagings, which include essential details such as the packaging name, Code, Category, Supplier, Cost/Unit and Date.

Endpoints

List all Packagings

Returns a list of packagings. The packagings are returned sorted by packaging name in descending order.

Note: the older filter parameter is still accepted for backward compatibility - it searches 4 fields at once (manufacturer, name, packagingcost_code, category_name), each matched partially/keyword-style. It's ignored if packaging_name is also sent. Kept working exactly as-is for existing integrations, but no longer documented here in favor of the field-specific filters below, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [name, packagingcost_code, category_name, manufacturer, packagingcost_cost, created], Default: name

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • packaging_name string optional

    Filter results by packaging name. How the match is performed is controlled by packaging_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • packaging_name_match string optional

    Controls how packaging_name is matched. Enum [partial, exact, starts_with], Default: partial. partial is the word/phrase-split behavior described above. exact matches the packaging name exactly in full, ignoring word-splitting. starts_with matches packaging names beginning with the given value. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • item_code string optional

    Filter results by item code (exact match, not partial - item codes are unique identifiers). Accepts a comma-separated list to look up several known codes at once, e.g. item_code=PK-001,PK-002.

  • category string optional

    Filter results by packaging category name (exact match). Accepts a comma-separated list to match any of several categories at once, e.g. category=Labels,Lids.

  • document_count_min integer optional

    Filter results to packagings with at least this many attached documents/spec sheets (inclusive). Can be combined with document_count_max for a range, or used alone.

  • document_count_max integer optional

    Filter results to packagings with at most this many attached documents/spec sheets (inclusive). Can be combined with document_count_min for a range, or used alone. To match an exact count, set document_count_min and document_count_max to the same value.

  • datefilter date [YYYY-MM-DD] optional

    Returns only packagings created or changed on or after this date (YYYY-MM-DD), including changes to their cost record.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. packaging,item_code,cost. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/packagings
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: packagings.

  • packagings array

    Packaging details are listed here. Each packaging contains essential packaging details.

  • packagings_total integer

    Returns of total number of packagings based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the packaging_name/item_code parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. packaging_name, item_code). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Packaging

Retrieves the details of an existing packaging. Set the unique packaging ID from either a packaging creation request or the packaging list request.

URL Parameters
  • id integer[-]integer required

    Set the packaging unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. packaging,item_code,cost. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/packaging/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: packagings.

  • section_uid integer

    Packaging ID

  • action string

    [get]

  • data array

    Packaging details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Packaging

Creates a new packaging.

Body Parameters
  • packaging string required

    Packaging Name.

  • item_code string required

    Cost Code.

  • cost float required

    $ Price.

  • quantity float required

    Cost Quantity - Specifies how many units are included in the total cost from above.

  • unit string required

    Cost Unit. Enum [case, each, feet, piece].

  • cost_of_each float required

    Cost of each.

  • category string required

    Packaging category.

  • supplier_uid integer optional

    Supplier ID. Must belong to an existing supplier in your organization - see the Suppliers section to look one up. Omit both this and supplier for no supplier.

  • supplier string optional

    Supplier name, used only when supplier_uid isn't given. Must exactly match an existing supplier's name for your organization - it will not create a new one. Returns an invalid_supplier error if it doesn't match.

  • notes string required

    Notes.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/packaging/
cURL Request
JSON Response
  • section string

    Returns a requested section: packagings.

  • section_uid integer[-]integer

    Newly created packagings ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created packaging data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_ingredient_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Packaging

Updates an existing packaging.

URL Parameters
  • id integer[-]integer required

    Set the packaging unique id

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/packaging/{id}
cURL Request
248
Body Parameters
  • packaging string required

    Packaging Name.

  • item_code string required

    Cost Code.

  • cost float required

    $ Price.

  • quantity float required

    Cost Quantity - Specifies how many units are included in the total cost from above.

  • unit string required

    Cost Unit. Enum [case, each, feet, piece].

  • enabled integer

    Enabled [0,1]

  • cost_of_each float required

    Cost of each.

  • category string required

    Packaging category.

  • supplier_uid integer optional

    Supplier ID. Must belong to an existing supplier in your organization - see the Suppliers section to look one up. Omit both this and supplier for no supplier.

  • supplier string optional

    Supplier name, used only when supplier_uid isn't given. Must exactly match an existing supplier's name for your organization - it will not create a new one. Returns an invalid_supplier error if it doesn't match.

  • notes string required

    Notes.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/packaging/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: packagings.

  • section_uid integer[-]integer

    Updated packaging ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated packaging data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section, the Packagings endpoints can return the following:

Status Code Error Code Error Message Description
404 Not Found invalid_id Packaging not found! Returned by Get Packaging and Update Packaging when section_uid is missing or doesn't match a packaging in your organization.
400 Bad Request empty_data Packaging data not found! Returned by Create Packaging and Update Packaging when called without a JSON request body.
400 Bad Request invalid_parameter_value Invalid value for packaging_name_match. Accepted values: partial, exact, starts_with. Returned by List all Packagings when packaging_name_match is sent but isn't one of the accepted values.
400 Bad Request unsupported_action DELETE is not supported for the 'packagings' section. The Packagings API only supports GET, CREATE and UPDATE.

Suppliers

The Suppliers API offers endpoints to retrieve the suppliers configured for your organization.

Ingredients and Packagings reference a supplier by its supplier_uid; use this section to resolve that id to a supplier name.

Endpoints

List all Suppliers

Returns a list of suppliers. The suppliers are returned sorted by supplier name in ascending order.

URL Parameters
  • page integer optional

    Sets the page. Default: 1

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10

  • order string optional

    Enum [supplier_name, supplier_uid, created, modified], Default: supplier_name

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: asc

  • filter string optional

    Filter results by supplier name keyword.

  • datefilter date [YYYY-MM-DD] optional

    Accepted for consistency with other list endpoints, but not currently applied to results.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/suppliers
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: suppliers.

  • suppliers array

    Each entry contains supplier_uid and supplier_name.

  • suppliers_total integer

    Returns the total number of suppliers matching the current filter.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Accepted for consistency with other list endpoints, but not currently applied to results.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Supplier

Returns a single supplier by its supplier_uid.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/supplier/{id}
Example
JSON Response
  • section string

    Returns a requested section: suppliers.

  • section_uid integer

    Supplier ID

  • action string

    [get]

  • data array

    Supplier details are listed here.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Taste Tests

The Taste Tests API offers endpoints to retrieve comprehensive information about taste tests managed within the system.

Each taste test contains essential information such as its name, responses, owner, date and status.

Users can interact with taste tests by adding products, tasters, and essential test data.

Each taste test has it's questionnaire data and questionnaire results.

Endpoints

List all Taste Tests

Returns a list of taste tests. The taste tests are returned sorted by taste test unique id, with the most recently created tastetests appearing first.

URL Parameters
  • user string optional

    Defines the user's email address, for example john.doe@example.com.

  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [tastetest_uid, tastetest_status, tastetest_name, tastetest_date, tastetest_start_time, tastetest_end_time, tastetest_description, tastetest_location, created], Default: tastetest_uid

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • filter string optional

    Filter results by keyword.

  • datefilter date [YYYY-MM-DD] optional

    Returns only taste tests with a test date on or after this date (YYYY-MM-DD).

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. tastetest_name,tastetest_date,tasters.taster_name. The record id is always returned. questions and results can only be selected as a whole. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/tastetests
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: tastetests.

  • tastetests array

    Taste test details are listed here (including the owning user's id and username as owner_uid / owner). Each taste test contains the essential data, questions, products, and results.

  • tastetests_total integer

    Returns of total number of taste tests based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • user_name string

    Returns a requested user's name.

  • user_email string

    Returns a requested user's email address.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Taste Test

Retrieves the details of an existing taste test. Set the unique taste test ID from either a taste test creation request or the taste test list request.

URL Parameters
  • id integer required

    Set the taste test unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. tastetest_name,tastetest_date,tasters.taster_name. The record id is always returned. questions and results can only be selected as a whole. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/tastetest/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: tastetests.

  • section_uid integer

    Taste test ID

  • action string

    [get]

  • data array

    Taste test details are listed here, including the owning user's id and username as owner_uid / owner.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section, the Taste Tests endpoints can return the following:

Status Code Error Code Error Message Description
404 Not Found invalid_id Taste Test not found! Returned by Get Taste Test when section_uid is missing or doesn't match a taste test in your organization.
404 Not Found invalid_user Invalid user. Returned by List all Taste Tests when the user filter is a well-formed email that doesn't match a user in your organization.
400 Bad Request invalid_email Invalid email address. Returned by List all Taste Tests when the user filter isn't a valid email format.
400 Bad Request unsupported_action CREATE is not supported for the 'tastetests' section.
UPDATE is not supported for the 'tastetests' section.
DELETE is not supported for the 'tastetests' section.
The Taste Tests API is read-only; only GET is supported.

CRM Customers

The Customers API provides a comprehensive set of endpoints for managing and retrieving detailed information about customers within the system.

Users can access and manipulate customers, which include essential details such as the Name, Customer Type, Address, Business type, Fiscal Year and Date.

Each Customer data has it's Sales data, Corporate/Billing/Shipping Addresses.

Each Customer has connections to Opportunities, Contacts, Contracts and Activities

Endpoints

List all Customers

Returns a list of customers. The customers are returned sorted by customer unique id, with the most recently created customer appearing first.

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like customer_name below, including being subject to customer_name_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [id, account_name, customer_name, business_type, business_market_segment, contract_start_date, contract_end_date, created, modified], Default: name

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • customer_name string optional

    Filter results by customer name. How the match is performed is controlled by customer_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • customer_name_match string optional

    Controls how customer_name is matched. Enum [partial, exact, starts_with], Default: partial. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • business_type string optional

    Filter results by business type (exact match). Accepts a comma-separated list to match any of several business types at once. Business types are org-configurable - use the values shown in your organization's CRM settings, or the Business Types endpoint.

  • customer_type integer optional

    Filter results by customer type (exact match). Enum [1, 2] - 1 = Regular, 2 = Prospect. Accepts a comma-separated list to match any of several types at once, e.g. customer_type=1,2. An unrecognized value returns a 400 Bad Request - see Errors below.

  • opportunity_count_min integer optional

    Filter results to customers with at least this many linked opportunities (inclusive). Can be combined with opportunity_count_max for a range, or used alone.

  • opportunity_count_max integer optional

    Filter results to customers with at most this many linked opportunities (inclusive). Can be combined with opportunity_count_min for a range, or used alone.

  • contract_count_min integer optional

    Filter results to customers with at least this many linked contracts (inclusive). Can be combined with contract_count_max for a range, or used alone.

  • contract_count_max integer optional

    Filter results to customers with at most this many linked contracts (inclusive). Can be combined with contract_count_min for a range, or used alone.

  • datefilter date [YYYY-MM-DD] optional

    Returns only customers created on or after this date (YYYY-MM-DD). Changes to existing customers are not matched.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. customer_name,customer_type,opportunity_count. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/customers
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customers.

  • customers array

    CRM customer details are listed here. Each customer contains essential customer details.

  • customers_total integer

    Returns of total number of customers based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the customer_name/business_type parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. customer_name, business_type). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Customer

Retrieves the details of an existing customer. Set the unique customer ID from either a customer creation request or the customer list request.

URL Parameters
  • id integer required

    Set the customer unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. customer_name,customer_type,opportunity_count. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/customer/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customers.

  • section_uid integer

    Customer ID

  • action string

    [get]

  • data array

    Customer details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Customer

Creates a new customer.

Body Parameters
  • account_name string required

    Customer Name.

  • business_type string required

    Business Type (See CRM Settings)

  • business_market_segment string required

    Business Market Segment (See CRM Settings)

  • customer_tier string optional

    Customer Tier [Tier 1, Tier 2, Tier 3].

  • fiscal_year string optional

    Fiscal Year.

  • crm_type integer required

    Customer Type [1 = Regular, 2 = Prospect].

  • address string optional

    Street.

  • address_2 string optional

    Address Line 2.

  • address_city string optional

    City.

  • address_state string optional

    State.

  • address_zip_code string optional

    Zip Code.

  • address_country string optional

    Country.

  • billing_address string optional

    Billing Street.

  • billing_address_2 string optional

    Billing Address Line 2.

  • billing_city string optional

    Billing City.

  • billing_state string optional

    Billing State

  • billing_zip_code string optional

    Billing Zip Code.

  • billing_country string optional

    Billing Country.

  • shipping_address string optional

    Shipping Street.

  • shipping_address_2 string optional

    Shipping Address Line 2.

  • shipping_city string optional

    Shipping City.

  • shipping_state string optional

    Shipping State.

  • shipping_zip_code string optional

    Shipping Zip Code.

  • shipping_country string optional

    Shipping Country.

  • account_owner integer required

    Customer Owner (See Organizations).

  • annual_sales integer optional

    Annual sales (LFY).

  • current_budget integer optional

    Budget Current FY.

  • year_to_date_sales integer optional

    Year to date sales.

  • year_to_date_volume integer optional

    Year to date volume.

  • contract_start_date date [m-d-Y] required

    Contract Start Date.

  • contract_end_date date [m-d-Y] required

    Contract End Date.

  • notes string optional

    Notes.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customers.

  • section_uid integer

    Newly created customer ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created customer data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Customers

Updates an existing customer.

URL Parameters
  • id integer required

    Set the customer unique id

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/customer/{id}
cURL Request
Body Parameters
  • account_name string required

    Customer Name.

  • business_type string required

    Business Type (See CRM Settings)

  • business_market_segment string required

    Business Market Segment (See CRM Settings)

  • customer_tier string optional

    Customer Tier [Tier 1, Tier 2, Tier 3].

  • fiscal_year string optional

    Fiscal Year.

  • crm_type integer required

    Customer Type [1 = Regular, 2 = Prospect].

  • address string optional

    Street.

  • address_2 string optional

    Address Line 2.

  • address_city string optional

    City.

  • address_state string optional

    State.

  • address_zip_code string optional

    Zip Code.

  • address_country string optional

    Country.

  • billing_address string optional

    Billing Street.

  • billing_address_2 string optional

    Billing Address Line 2.

  • billing_city string optional

    Billing City.

  • billing_state string optional

    Billing State

  • billing_zip_code string optional

    Billing Zip Code.

  • billing_country string optional

    Billing Country.

  • shipping_address string optional

    Shipping Street.

  • shipping_address_2 string optional

    Shipping Address Line 2.

  • shipping_city string optional

    Shipping City.

  • shipping_state string optional

    Shipping State.

  • shipping_zip_code string optional

    Shipping Zip Code.

  • shipping_country string optional

    Shipping Country.

  • account_owner integer required

    Customer Owner (See Organizations).

  • annual_sales integer optional

    Annual sales (LFY).

  • current_budget integer optional

    Budget Current FY.

  • year_to_date_sales integer optional

    Year to date sales.

  • year_to_date_volume integer optional

    Year to date volume.

  • contract_start_date date [m-d-Y] required

    Contract Start Date.

  • contract_end_date date [m-d-Y] required

    Contract End Date.

  • notes string optional

    Notes.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/customer/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customers.

  • section_uid integer

    Updated customer ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated customer data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Customers endpoints can return the following:

Status Code Error Code Applies To Error Message
404 Not Found invalid_id GET CRM Customer not found!
404 Not Found invalid_id UPDATE Customer not found!
400 Bad Request empty_data CREATE, UPDATE Customer data not found! Please send customer data as JSON.
400 Bad Request invalid_parameter_value GET (list) Invalid value for customer_name_match. Accepted values: partial, exact, starts_with.
400 Bad Request invalid_parameter_value GET (list) Invalid value for customer_type: '{value}'. Accepted values: 1, 2.
400 Bad Request invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request missing_id UPDATE Customer id is missing!
400 Bad Request duplicate_name CREATE, UPDATE Customer name already exists. Please select another name.
400 Bad Request business_type_not_found CREATE, UPDATE Business type not found! Please double-check the name.
400 Bad Request business_market_segment_not_found CREATE, UPDATE Business market segment not found! Please double-check the name and make sure it belongs to the Business type being sent.
400 Bad Request account_owner_not_found CREATE, UPDATE Account owner not found! Please double-check the account_owner id and make sure it belongs to your organization.
400 Bad Request crm_type_not_found CREATE, UPDATE Crm type not found! Please double-check the crm_type id and make sure it's existing.
400 Bad Request contract_start_date_format_invalid CREATE, UPDATE Invalid date format for contract_start_date. Date should be in m-d-Y format.
400 Bad Request contract_end_date_format_invalid CREATE, UPDATE Invalid date format for contract_end_date. Date should be in m-d-Y format.
400 Bad Request address_country_invalid CREATE, UPDATE Invalid address_country. Please double-check that address_country is a valid country code.
400 Bad Request billing_country_invalid CREATE, UPDATE Invalid billing_country. Please double-check that billing_country is a valid country code.
400 Bad Request shipping_country_invalid CREATE, UPDATE Invalid shipping_country. Please double-check that shipping_country is a valid country code.
400 Bad Request unsupported_action DELETE DELETE is not supported for the 'customers' CRM section.

CRM Settings

The Settings API provides a comprehensive set of endpoints for managing and retrieving parts of CRM Settings.

Endpoints

List all Business Types

Returns a list of Business Types with it's Business Market Segments.

URL Parameters
  • There aren't any URL Parameters for this endpoint
  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. original_business_type,business_subtype. The record id is always returned. See Field Selection.

HTTP Request

GEThttps://app.flavorstudio.com/api/v2/get/crm/business-types/
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: business_types.

  • crm_business_types array

    CRM Settings Business Types listed here. Each Business Types contains it's Business Market Segments.

  • crm_business_types_total integer

    Returns of total number of Business Types.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Business Type

Creates a new Business Type.

Body Parameters
  • name string required

    Business Type Name.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/business-type/
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: settings.

  • business_type_id integer

    Newly created business type ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created business type data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Business Type

Updates an existing Business Type.

URL Parameters
  • id integer required

    Set the bussines type id. Supported values are integers and a special case when id is -1

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/business-type/{id}
cURL Request
Body Parameters
  • original_name string required

    Business type original name before the updated new name.

  • name string required

    Business type new name

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/business-type/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: settings.

  • business_type_id integer

    Updated business type ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated business type data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Delete Business Type

Deletes an existing Business Type.

URL Parameters
  • id integer required

    Set the bussines type id. Supported values are integers and a special case when id is -1

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/delete/crm/business-type/{id}
cURL Request
Body Parameters
  • name string required

    Business type name that's being deleted.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/delete/crm/business-type/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: settings.

  • business_type_id integer

    Deleted business type ID.

  • action string

    [delete]

  • success boolean

    [true, false]

  • data array

    Empty array.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Business Market Segment

Creates a new Business Market Segment.

Body Parameters
  • name string required

    Business market segment name.

  • parent_category string required

    Business type name.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/business-market-segment/
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: settings.

  • business_market_segment_id integer

    Newly created business market segment ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created business market segment data.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Business Market Segment

Updates an existing Business Market Segment.

URL Parameters
  • id integer required

    Set the bussines market segment id. Supported values are integers and a special case when id is -1

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/business-market-segment/{id}
cURL Request
Body Parameters
  • original_name string required

    Business market segment original name before the updated new name.

  • name string required

    Business market segment new name

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/business-market-segment/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: settings.

  • business_market_segment_id integer

    Updated business market-segment ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Update business market segment data.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Delete Business Market Segment

Deletes an existing Business Market Segment.

URL Parameters
  • id integer required

    Set the bussines market segment id. Supported values are integers and a special case when id is -1

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/delete/crm/business-market-segment/{id}
cURL Request
Body Parameters
  • name string required

    Business market segment name that's being deleted.

  • parent_category string required

    Business type name.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/delete/crm/business-market-segment/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: settings.

  • business_market_segment_id integer

    Deleted business market segment ID.

  • action string

    [delete]

  • success boolean

    [true, false]

  • data array

    Empty array.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Settings endpoints can return the following:

Status Code Entity Error Code Applies To Error Message
404 Not Found Business Type invalid_id GET, UPDATE Business type not found!
400 Bad Request Business Type empty_data CREATE, UPDATE, DELETE Business type data not found! Please send business type data as JSON.
400 Bad Request Business Type invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request Business Type duplicate_name CREATE, UPDATE Business type name already exists. Please select another name.
400 Bad Request Business Type missing_id UPDATE, DELETE Business type id is missing!
400 Bad Request Business Type parent_category CREATE, UPDATE Parameter parent_category is not accepted by this EP.!
400 Bad Request Business Type name CREATE, UPDATE, DELETE Name not found!
400 Bad Request Business Type missing_original_name UPDATE When id=-1, original_name parameter is missing!
404 Not Found Biz Market Segment invalid_id GET, UPDATE Business market segment not found!
400 Bad Request Biz Market Segment duplicate_name CREATE, UPDATE Business market segment name already exists. Please select another name.
400 Bad Request Biz Market Segment non_existing_parent_name CREATE, UPDATE Non existing parent category!
400 Bad Request Biz Market Segment empty_data CREATE, UPDATE, DELETE Business market segment data not found! Please send business market segment data as JSON.
400 Bad Request Biz Market Segment invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request Biz Market Segment parent_category CREATE Parent category not found!
400 Bad Request Biz Market Segment name CREATE Name not found!
400 Bad Request Biz Market Segment missing_id UPDATE, DELETE Business market segment id is missing!
400 Bad Request Biz Market Segment missing_original_name UPDATE When id=-1, original_name parameter is missing!

CRM Opportunities

The Opportunities API provides a comprehensive set of endpoints for managing and retrieving detailed information about opportunities within the system.

Users can access and manipulate opportunities, which include essential details such as the Name, Owner, Customer, Stage, Probability and Date.

Each Opportunity data has it's Sales data, Corporate/Billing/Shipping Addresses.

Each Opportunity has connections to Customer, Product, Projects and Activities

Endpoints

List all Opportunities

Returns a list of Opportunities. The Opportunities are returned sorted by opportunity unique id, with the most recently created opportunity appearing first.

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like opportunity_name below, including being subject to opportunity_name_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [id, opportunity_name, product, annualized_pounds, annualized_rev, stage, probability_of_sale, start_date, close_date, created, modified, crm_customer], Default: id

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • opportunity_name string optional

    Filter results by opportunity name. How the match is performed is controlled by opportunity_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • opportunity_name_match string optional

    Controls how opportunity_name is matched. Enum [partial, exact, starts_with], Default: partial. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • owner_uid integer optional

    Filter results by opportunity owner user id (exact match). Accepts a comma-separated list to match any of several owners at once.

  • customer integer optional

    Filter results by linked CRM customer (account) id (exact match). Accepts a comma-separated list to match any of several customers at once. Account ids are available from the CRM Customers API.

  • stage string optional

    Filter results by stage (exact match). Enum [Initial Contact, R&D in Progress, Samples Sent, Culinary Presentation, In-Test with Customer, Approved, Pending PO, Closed-Win, On Hold, Lost, Canceled]. Accepts a comma-separated list to match any of several stages at once. An unrecognized value returns a 400 Bad Request - see Errors below. Omitted entirely, the list is unaffected - it continues to include opportunities of every stage, same as today.

  • probability_of_sale string optional

    Filter results by probability of sale (exact match). Enum [5%, 25%, 50%, 75%, 90%, 100%]. Accepts a comma-separated list to match any of several values at once, e.g. probability_of_sale=5%,25%. An unrecognized value returns a 400 Bad Request - see Errors below.

  • activities string optional

    Filter results to opportunities with at least one linked activity of the given type (exact match). Enum [Email, Phone call, Meeting, Task, Misc, Sample Request, Price Request]. Accepts a comma-separated list to match any of several activity types at once. An unrecognized value returns a 400 Bad Request - see Errors below.

  • revenue_min number optional

    Filter results to opportunities with at least this much annualized revenue (inclusive). Can be combined with revenue_max for a range, or used alone.

  • revenue_max number optional

    Filter results to opportunities with at most this much annualized revenue (inclusive). Can be combined with revenue_min for a range, or used alone.

  • datefilter date [YYYY-MM-DD] optional

    Returns only opportunities created on or after this date (YYYY-MM-DD). Changes to existing opportunities are not matched.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. opportunity_name,stage,crm_customer. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/opportunities
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunities.

  • opportunities array

    CRM opportunity details are listed here.

  • opportunities_total integer

    Returns of total number of opportunities based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the opportunity_name/stage parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. opportunity_name, stage). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Opportunity

Retrieves the details of an existing Opportunity. Set the unique opportunity ID from either a opportunity creation request or the opportunity list request.

URL Parameters
  • id integer required

    Set the opportunity unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. opportunity_name,stage,crm_customer. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/opportunity/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunities.

  • section_uid integer

    Opportunity ID

  • action string

    [get]

  • data array

    Opportunity details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Opportunity

Creates a new customer.

Body Parameters
  • opportunity_name string required

    Opportunity Name.

  • opportunity_owner integer required

    Opportunity Owner (See Organizations->Get Users)

  • customer_id integer required

    Customer (See CRM Customers)

  • start_date date [m-d-Y] optional

    Opportunity Created Date.

  • close_date date [m-d-Y] optional

    Opportunity Closed Date.

  • expected_launch_date date [m-d-Y] optional

    Expected Launch Date.

  • stage string optional

    Stage ['Initial Contact', 'R&D in Progress', 'Samples Sent', 'Culinary Presentation', 'In-Test with Customer', 'Approved', 'Pending PO', 'Closed-Win', 'On Hold', 'Lost', 'Canceled'].

  • probability_of_sale string optional

    Probability of Sale ['5%', '25%', '50%', '75%', '90%', '100%'].

  • ytg_pounds integer optional

    YTG Pounds.

  • product_type string optional

    Product Type ['custom', 'stock'].

  • product_uid integer optional

    Product (See CRM Products).

  • rd_required integer optional

    R&D Required [0=>'No', 1=>'Yes', 2=>'None'].

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Estimated Price Per Pound.

  • contract_price_per_pound integer/float optional

    Contract Price Per Pound.

  • annualized_rev integer/float optional

    Annual Revenue (this is automatically calculated, but you can also enter your own number).

  • project_uid integer optional

    Connect a Project (See Projects).

  • description string optional

    Description.

  • notes string optional

    Notes.

  • lost_canceled_reason string optional

    Reason Lost/Canceled - Only fillable if "Stage" is ['Lost' or 'Canceled].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunities.

  • section_uid integer

    Newly created opportunity ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created opportunity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Opportunity

Updates an existing opportunity.

URL Parameters
  • id integer required

    Set the opportunity unique id

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/opportunity/{id}
Using URL Parameters
Body Parameters
  • opportunity_name string required

    Opportunity Name.

  • opportunity_owner integer required

    Opportunity Owner (See Organizations->Get Users)

  • customer_id integer required

    Customer (See CRM Customers)

  • start_date date [m-d-Y] optional

    Opportunity Created Date.

  • close_date date [m-d-Y] optional

    Opportunity Closed Date.

  • expected_launch_date date [m-d-Y] optional

    Expected Launch Date.

  • stage string optional

    Stage ['Initial Contact', 'R&D in Progress', 'Samples Sent', 'Culinary Presentation', 'In-Test with Customer', 'Approved', 'Pending PO', 'Closed-Win', 'On Hold', 'Lost', 'Canceled'].

  • probability_of_sale string optional

    Probability of Sale ['5%', '25%', '50%', '75%', '90%', '100%'].

  • ytg_pounds integer optional

    YTG Pounds.

  • product_type string optional

    Product Type ['custom', 'stock'].

  • product_uid integer optional

    Product (See CRM Products).

  • rd_required integer optional

    R&D Required [0=>'No', 1=>'Yes', 2=>'None'].

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Estimated Price Per Pound.

  • contract_price_per_pound integer/float optional

    Contract Price Per Pound.

  • annualized_rev integer/float optional

    Annual Revenue (this is automatically calculated, but you can also enter your own number).

  • project_uid integer optional

    Connect a Project (See Projects).

  • description string optional

    Description.

  • lost_canceled_reason string optional

    Reason Lost/Canceled - Only fillable if "Stage" is ['Lost' or 'Canceled].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/opportunity/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunities.

  • section_uid integer

    Updated opportunity ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated opportunity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Opportunities endpoints can return the following:

Status Code Error Code Applies To Error Message
404 Not Found invalid_id GET, UPDATE Opportunity not found!
400 Bad Request empty_data CREATE, UPDATE Opportunity data not found! Please send opportunity data as JSON.
400 Bad Request invalid_parameter_value GET (list) Invalid value for opportunity_name_match. Accepted values: partial, exact, starts_with.
400 Bad Request invalid_parameter_value GET (list) Invalid value for activities: '{value}'. Accepted values: Email, Phone call, Meeting, Task, Misc, Sample Request, Price Request.
400 Bad Request invalid_parameter_value GET (list) Invalid value for stage: '{value}'. Accepted values: Initial Contact, R&D in Progress, Samples Sent, Culinary Presentation, In-Test with Customer, Approved, Pending PO, Closed-Win, On Hold, Lost, Canceled.
400 Bad Request invalid_parameter_value GET (list) Invalid value for probability_of_sale: '{value}'. Accepted values: 5%, 25%, 50%, 75%, 90%, 100%.
400 Bad Request invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request missing_id UPDATE Opportunity id is missing!
400 Bad Request duplicate_name CREATE, UPDATE Opportunity name already exists. Please select another name.
400 Bad Request opportunity_name_blank CREATE, UPDATE Opportunity name can't be blank.
400 Bad Request opportunity_owner_not_found CREATE, UPDATE Opportunity owner not found! Please double-check the opportunity_owner id.
400 Bad Request customer_not_found CREATE, UPDATE Customer not found! Please double-check the customer_id and make sure it belongs to your organization.
400 Bad Request start_date_format_invalid CREATE, UPDATE Invalid date format for start_date. Date should be in m-d-Y format.
400 Bad Request close_date_format_invalid CREATE, UPDATE Invalid date format for close_date. Date should be in m-d-Y format.
400 Bad Request expected_launch_date_format_invalid CREATE, UPDATE Invalid date format for expected_launch_date. Date should be in m-d-Y format.
400 Bad Request stage_not_found CREATE, UPDATE Stage not found.
400 Bad Request probability_of_sale_not_found CREATE, UPDATE Probability Of Sale not found.
400 Bad Request ytg_pounds_not_a_number CREATE, UPDATE Field ytg_pounds is not a number.
400 Bad Request product_type_not_found CREATE, UPDATE Product type not found.
400 Bad Request product_not_found CREATE, UPDATE Product not found.
400 Bad Request rd_required_not_found CREATE, UPDATE R&D Required not found.
400 Bad Request annualized_pounds_blank CREATE, UPDATE Annual Pounds can't be blank.
400 Bad Request price_per_pound_blank CREATE, UPDATE Estimated Price Per Pound can't be blank.
400 Bad Request lost_reason_blank CREATE, UPDATE Lost/Canceled reason can't be blank.
400 Bad Request unsupported_action DELETE DELETE is not supported for the 'opportunities' CRM section.

CRM Contracts

The Contracts API provides a comprehensive set of endpoints for managing and retrieving detailed information about contracts within the system.

Users can access and manipulate contracts, which include essential details such as the Name, Owner, Customer, Annual Volume, Annual Revenue and Date.

Each Contrat has connections to Customer, Opportunity and Activities

Endpoints

List all Contracts

Returns a list of Contracts. The Contracts are returned sorted by contract unique id, with the most recently created contract appearing first.

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like contract_name below, including being subject to contract_name_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [id, contract_name, account_type, product_type, product, annualized_pounds, annualized_rev, contract_start_date, contract_end_date, created, modified, crm_customer]

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • contract_name string optional

    Filter results by contract name. How the match is performed is controlled by contract_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • contract_name_match string optional

    Controls how contract_name is matched. Enum [partial, exact, starts_with], Default: partial. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • owner_uid integer optional

    Filter results by contract owner user id (exact match). Accepts a comma-separated list to match any of several owners at once.

  • customer integer optional

    Filter results by linked CRM customer (account) id (exact match). Accepts a comma-separated list to match any of several customers at once. Account ids are available from the CRM Customers API.

  • revenue_min number optional

    Filter results to contracts with at least this much annualized revenue (inclusive). Can be combined with revenue_max for a range, or used alone.

  • revenue_max number optional

    Filter results to contracts with at most this much annualized revenue (inclusive). Can be combined with revenue_min for a range, or used alone.

  • weight_min number optional

    Filter results to contracts with at least this much annualized weight/volume (inclusive). Can be combined with weight_max for a range, or used alone.

  • weight_max number optional

    Filter results to contracts with at most this much annualized weight/volume (inclusive). Can be combined with weight_min for a range, or used alone.

  • datefilter date [YYYY-MM-DD] optional

    Returns only contracts created on or after this date (YYYY-MM-DD). Changes to existing contracts are not matched.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. contract_name,annualized_rev,crm_customer. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/contracts
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contracts.

  • contracts array

    CRM contracts details are listed here.

  • contracts_total integer

    Returns of total number of CRM contracts based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the contract_name/customer parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. contract_name, customer). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Contract

Retrieves the details of an existing Contract. Set the unique contract ID from either a contract creation request or the contract list request.

URL Parameters
  • id integer required

    Set the contract unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. contract_name,annualized_rev,crm_customer. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/contract/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contracts.

  • section_uid integer

    Contract ID

  • action string

    [get]

  • data array

    Opportunity details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Contract

Creates a new contract.

Body Parameters
  • contract_name string required

    Contract Name.

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • contract_owner integer required

    Contract Owner (See Organizations->Get Users)

  • customer_id integer required

    Customer (See CRM Customers)

  • customer_tier string optional

    Customer Tier [Tier 1, Tier 2, Tier 3].

  • contract_start_date date [m-d-Y] optional

    Contract Start Date.

  • contract_end_date date [m-d-Y] optional

    Contract End Date.

  • expected_launch_date date [m-d-Y] optional

    Expected contract launch date.

  • product_type string optional

    Product Type ['custom', 'stock'].

  • product_uid integer optional

    Product (See CRM Products).

  • rd_required integer optional

    R&D Required [0=>'No', 1=>'Yes', 2=>'None'].

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Price Per Pound.

  • annualized_rev integer/float optional

    Annual Revenue (this is automatically calculated, but you can also enter your own number).

  • description string optional

    Description.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contracts.

  • section_uid integer

    Newly created contract ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created contract data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Contract

Updates an existing opportunity.

URL Parameters
  • id integer required

    Set the contract unique id

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/contract/{id}
Using URL Parameters
Body Parameters
  • contract_name string required

    Contract Name.

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • contract_owner integer required

    Contract Owner (See Organizations->Get Users)

  • customer_id integer required

    Customer (See CRM Customers)

  • customer_tier string optional

    Customer Tier [Tier 1, Tier 2, Tier 3].

  • contract_start_date date [m-d-Y] optional

    Contract Start Date.

  • contract_end_date date [m-d-Y] optional

    Contract End Date.

  • expected_launch_date date [m-d-Y] optional

    Expected contract launch date.

  • product_type string optional

    Product Type ['custom', 'stock'].

  • product_uid integer optional

    Product (See CRM Products).

  • rd_required integer optional

    R&D Required [0=>'No', 1=>'Yes', 2=>'None'].

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Price Per Pound.

  • annualized_rev integer/float optional

    Annual Revenue (this is automatically calculated, but you can also enter your own number).

  • description string optional

    Description.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/contract/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contracts.

  • section_uid integer

    Updated contract ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated contract data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Contracts endpoints can return the following:

Status Code Error Code Applies To Error Message
404 Not Found invalid_id GET, UPDATE Contract not found!
400 Bad Request empty_data CREATE, UPDATE Contract data not found! Please send contract data as JSON.
400 Bad Request invalid_parameter_value GET (list) Invalid value for contract_name_match. Accepted values: partial, exact, starts_with.
400 Bad Request invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request missing_id UPDATE Contract id is missing!
400 Bad Request duplicate_name CREATE, UPDATE Contract name already exists. Please select another name.
400 Bad Request contract_name_blank CREATE, UPDATE Contract name can't be blank.
400 Bad Request contract_owner_not_found CREATE, UPDATE Contract owner not found! Please double-check the contract_owner id.
400 Bad Request customer_not_found CREATE, UPDATE Customer not found! Please double-check the customer_id and make sure it belongs to your organization.
400 Bad Request opportunity_not_found CREATE, UPDATE Opportunity not found.
400 Bad Request product_type_not_found CREATE, UPDATE Product type not found.
400 Bad Request product_not_found CREATE, UPDATE Product not found.
400 Bad Request rd_required_not_found CREATE, UPDATE R&D Required not found.
400 Bad Request annualized_pounds_blank CREATE, UPDATE Annual Pounds can't be blank.
400 Bad Request price_per_pound_blank CREATE, UPDATE Estimated Price Per Pound can't be blank.
400 Bad Request contract_start_date_format_invalid CREATE, UPDATE Invalid date format for contract_start_date. Date should be in m-d-Y format.
400 Bad Request contract_end_date_format_invalid CREATE, UPDATE Invalid date format for contract_end_date. Date should be in m-d-Y format.
400 Bad Request unsupported_action DELETE DELETE is not supported for the 'contracts' CRM section.

CRM Activities

The Activities API provides a comprehensive set of endpoints for creating and retrieving detailed information about all activities within the system.

Users can access and create activities for all CRM categories.

Endpoints

List all Activities

Returns a list of activities. The activities are returned sorted by activity unique id, with the most recently created activities appearing first.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [id, activity_type, activity_date, created, modified]

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • filter string optional

    Filter results by keyword.

  • datefilter date [YYYY-MM-DD] optional

    Returns only activities created on or after this date (YYYY-MM-DD). Changes to existing activities are not matched.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. activity_type,activity_date,products.product_name. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/activities/
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: activities.

  • activities array

    CRM activity details are listed here.

  • activities_total integer

    Returns of total number of activities based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Activity

Retrieves the details of an existing activity. Set the unique activity ID from either a activity creation request or the activity list request.

URL Parameters
  • id integer required

    Set the activity unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. activity_type,activity_date,products.product_name. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/activity/{id}
Using URL Parameters
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: activities.

  • section_uid integer

    Activity ID

  • action string

    [get]

  • data array

    Recipe details are listed here, including the owning user's id and username as owner_uid / owner.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Customer Email

Creates a new customer activity - Email.

URL Parameters
  • id integer required

    Set the customer account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/email
cURL Request
Body Parameters
  • message string required

    Email message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/email
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: email

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Customer Phone Call

Creates a new customer activity - Phone Call.

URL Parameters
  • id integer required

    Set the customer account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/phone-call
cURL Request
Body Parameters
  • message string required

    Phone call message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/phone-call
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: phone-call

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Customer Meeting

Creates a new customer activity - Meeting.

URL Parameters
  • id integer required

    Set the customer account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/meeting
cURL Request
Body Parameters
  • message string required

    Meeting purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/meeting
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: meeting

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Customer Task

Creates a new customer activity - Task.

URL Parameters
  • id integer required

    Set the customer account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/task
cURL Request
Body Parameters
  • message string required

    Task purpose.

  • task_user_id integer optional

    Task Assigned to user (See Organizations->Get Users)

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

  • completed boolean optional

    Task completed [true, false].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/task
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: task

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Customer Misc

Creates a new customer activity - Misc.

URL Parameters
  • id integer required

    Set the customer account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/misc
cURL Request
Body Parameters
  • message string required

    Misc purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/misc
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: misc

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Customer Sample Request

Creates a new customer activity - Sample Request.

URL Parameters
  • id integer required

    Set the customer account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/sample-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • delivery_date date [m-d-Y] required

    Sample Request Delivery Date.

  • recipient string required

    Recipient type [contact, salesperson, pickup].

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).
    Allowed when recipient [contact, pickup]

  • contact_user_id integer optional

    User id (See Organizations->Get Users).Allowed when recipient [salesperson, pickup].

  • contact_email string optional

    Contact Email (Specify email other than the contacts email).

  • contact_street string optional

    Contact Street (Enter value if contact doesnt have a Contact Street) Allowed when recipient [contact, salesperson].

  • contact_address2 string optional

    Contact Address Line 2 (Enter value if contact doesnt have a Address Line 2)
    Allowed when recipient [contact, salesperson].

  • contact_city string optional

    Contact City (Enter value if contact doesnt have a Contact City)
    Allowed when recipient [contact, salesperson].

  • contact_state string optional

    Contact State/Province (Enter value if contact doesnt have a Contact State/Province) Allowed when recipient [contact, salesperson].

  • contact_zip_code string optional

    Contact Zip Code (Enter value if contact doesnt have a Contact Zip Code)
    Allowed when recipient [contact, salesperson].

  • contact_country string optional

    Contact Country (Enter value if contact doesnt have a Contact Country)
    Allowed when recipient [contact, salesperson]
    (See Countries).

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

    • unit string required

      Product units in sample(Your organizations active units).

    • qty string required

      Product quantity in sample.

    • size string required

      Product size (Number of units).

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/sample-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: sample-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Customer Price Request

Creates a new customer activity - Price Request.

URL Parameters
  • id integer required

    Set the customer account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/price-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • needed_date date [m-d-Y] required

    Price Request Date Needed.

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Estimated Price Per Pound.

  • freight string required

    Freight [FOB, Delivered].

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/customer/{id}/activity/price-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: price-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Opportunity Email

Creates a new opportunity activity - Email.

URL Parameters
  • id integer required

    Set the opportunity account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/email
cURL Request
Body Parameters
  • message string required

    Email message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/email
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunity.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: email

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Opportunity Phone Call

Creates a new opportunity activity - Phone Call.

URL Parameters
  • id integer required

    Set the opportunity account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/phone-call
cURL Request
Body Parameters
  • message string required

    Phone call message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/phone-call
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunity.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: phone-call

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Opportunity Meeting

Creates a new opportunity activity - Meeting.

URL Parameters
  • id integer required

    Set the opportunity account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/meeting
cURL Request
Body Parameters
  • message string required

    Meeting purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/meeting
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunity.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: meeting

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Opportunity Task

Creates a new opportunity activity - Task.

URL Parameters
  • id integer required

    Set the opportunity account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/task
cURL Request
Body Parameters
  • message string required

    Task purpose.

  • task_user_id integer optional

    Task Assigned to user (See Organizations->Get Users)

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

  • completed boolean optional

    Task completed [true, false].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/task
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunity.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: task

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Opportunity Misc

Creates a new opportunity activity - Misc.

URL Parameters
  • id integer required

    Set the opportunity account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/misc
cURL Request
Body Parameters
  • message string required

    Misc purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/misc
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunity.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: misc

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Opportunity Sample Request

Creates a new opportunity activity - Sample Request.

URL Parameters
  • id integer required

    Set the opportunity account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/sample-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • delivery_date date [m-d-Y] required

    Sample Request Delivery Date.

  • recipient string required

    Recipient type [contact, salesperson, pickup].

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).
    Allowed when recipient [contact, pickup]

  • contact_user_id integer optional

    User id (See Organizations->Get Users).Allowed when recipient [salesperson, pickup].

  • contact_email string optional

    Contact Email (Specify email other than the contacts email).

  • contact_street string optional

    Contact Street (Enter value if contact doesnt have a Contact Street) Allowed when recipient [contact, salesperson].

  • contact_address2 string optional

    Contact Address Line 2 (Enter value if contact doesnt have a Address Line 2)
    Allowed when recipient [contact, salesperson].

  • contact_city string optional

    Contact City (Enter value if contact doesnt have a Contact City)
    Allowed when recipient [contact, salesperson].

  • contact_state string optional

    Contact State/Province (Enter value if contact doesnt have a Contact State/Province) Allowed when recipient [contact, salesperson].

  • contact_zip_code string optional

    Contact Zip Code (Enter value if contact doesnt have a Contact Zip Code)
    Allowed when recipient [contact, salesperson].

  • contact_country string optional

    Contact Country (Enter value if contact doesnt have a Contact Country)
    Allowed when recipient [contact, salesperson]
    (See Countries).

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

    • unit string required

      Product units in sample(Your organizations active units).

    • qty string required

      Product quantity in sample.

    • size string required

      Product size (Number of units).

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/sample-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunity.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: sample-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Opportunity Price Request

Creates a new opportunity activity - Price Request.

URL Parameters
  • id integer required

    Set the opportunity account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/price-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • needed_date date [m-d-Y] required

    Price Request Date Needed.

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Estimated Price Per Pound.

  • freight string required

    Freight [FOB, Delivered].

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/opportunity/{id}/activity/price-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: opportunity.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: price-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contract Email

Creates a new contract activity - Email.

URL Parameters
  • id integer required

    Set the contract account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/email
cURL Request
Body Parameters
  • message string required

    Email message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/email
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contract.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: email

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contract Phone Call

Creates a new contract activity - Phone Call.

URL Parameters
  • id integer required

    Set the contract account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/phone-call
cURL Request
Body Parameters
  • message string required

    Phone call message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/phone-call
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contract.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: phone-call

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contract Meeting

Creates a new contract activity - Meeting.

URL Parameters
  • id integer required

    Set the contract account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/meeting
cURL Request
Body Parameters
  • message string required

    Meeting purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/meeting
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contract.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: meeting

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contract Task

Creates a new contract activity - Task.

URL Parameters
  • id integer required

    Set the contract account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/task
cURL Request
Body Parameters
  • message string required

    Task purpose.

  • task_user_id integer optional

    Task Assigned to user (See Organizations->Get Users)

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

  • completed boolean optional

    Task completed [true, false].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/task
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: customer.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: task

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contract Misc

Creates a new contract activity - Misc.

URL Parameters
  • id integer required

    Set the contract account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/misc
cURL Request
Body Parameters
  • message string required

    Misc purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/misc
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contract.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: misc

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contract Sample Request

Creates a new contract activity - Sample Request.

URL Parameters
  • id integer required

    Set the contract account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/sample-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • delivery_date date [m-d-Y] required

    Sample Request Delivery Date.

  • recipient string required

    Recipient type [contact, salesperson, pickup].

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).
    Allowed when recipient [contact, pickup]

  • contact_user_id integer optional

    User id (See Organizations->Get Users).Allowed when recipient [salesperson, pickup].

  • contact_email string optional

    Contact Email (Specify email other than the contacts email).

  • contact_street string optional

    Contact Street (Enter value if contact doesnt have a Contact Street) Allowed when recipient [contact, salesperson].

  • contact_address2 string optional

    Contact Address Line 2 (Enter value if contact doesnt have a Address Line 2)
    Allowed when recipient [contact, salesperson].

  • contact_city string optional

    Contact City (Enter value if contact doesnt have a Contact City)
    Allowed when recipient [contact, salesperson].

  • contact_state string optional

    Contact State/Province (Enter value if contact doesnt have a Contact State/Province) Allowed when recipient [contact, salesperson].

  • contact_zip_code string optional

    Contact Zip Code (Enter value if contact doesnt have a Contact Zip Code)
    Allowed when recipient [contact, salesperson].

  • contact_country string optional

    Contact Country (Enter value if contact doesnt have a Contact Country)
    Allowed when recipient [contact, salesperson]
    (See Countries).

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

    • unit string required

      Product units in sample(Your organizations active units).

    • qty string required

      Product quantity in sample.

    • size string required

      Product size (Number of units).

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/sample-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contract.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: sample-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contract Price Request

Creates a new contract activity - Price Request.

URL Parameters
  • id integer required

    Set the contract account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/price-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • needed_date date [m-d-Y] required

    Price Request Date Needed.

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Estimated Price Per Pound.

  • freight string required

    Freight [FOB, Delivered].

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contract/{id}/activity/price-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contract.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: price-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Product Email

Creates a new product activity - Email.

URL Parameters
  • id integer required

    Set the product account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/email
cURL Request
Body Parameters
  • message string required

    Email message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/email
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: product.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: email

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Product Phone Call

Creates a new product activity - Phone Call.

URL Parameters
  • id integer required

    Set the product account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/phone-call
cURL Request
Body Parameters
  • message string required

    Phone call message.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/phone-call
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: product.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: phone-call

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Product Meeting

Creates a new product activity - Meeting.

URL Parameters
  • id integer required

    Set the product account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/meeting
cURL Request
Body Parameters
  • message string required

    Meeting purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/meeting
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: product.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: meeting

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Product Task

Creates a new product activity - Task.

URL Parameters
  • id integer required

    Set the product account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/task
cURL Request
Body Parameters
  • message string required

    Task purpose.

  • task_user_id integer optional

    Task Assigned to user (See Organizations->Get Users)

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

  • completed boolean optional

    Task completed [true, false].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/task
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: product.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: task

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Product Misc

Creates a new product activity - Misc.

URL Parameters
  • id integer required

    Set the product account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/misc
cURL Request
Body Parameters
  • message string required

    Misc purpose.

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).

  • contact_name string optional

    Contact Name.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/misc
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: product.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: misc

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Product Sample Request

Creates a new product activity - Sample Request.

URL Parameters
  • id integer required

    Set the product account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/sample-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • delivery_date date [m-d-Y] required

    Sample Request Delivery Date.

  • recipient string required

    Recipient type [contact, salesperson, pickup].

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).
    Allowed when recipient [contact, pickup]

  • contact_user_id integer optional

    User id (See Organizations->Get Users).Allowed when recipient [salesperson, pickup].

  • contact_email string optional

    Contact Email (Specify email other than the contacts email).

  • contact_street string optional

    Contact Street (Enter value if contact doesnt have a Contact Street) Allowed when recipient [contact, salesperson].

  • contact_address2 string optional

    Contact Address Line 2 (Enter value if contact doesnt have a Address Line 2)
    Allowed when recipient [contact, salesperson].

  • contact_city string optional

    Contact City (Enter value if contact doesnt have a Contact City)
    Allowed when recipient [contact, salesperson].

  • contact_state string optional

    Contact State/Province (Enter value if contact doesnt have a Contact State/Province) Allowed when recipient [contact, salesperson].

  • contact_zip_code string optional

    Contact Zip Code (Enter value if contact doesnt have a Contact Zip Code)
    Allowed when recipient [contact, salesperson].

  • contact_country string optional

    Contact Country (Enter value if contact doesnt have a Contact Country)
    Allowed when recipient [contact, salesperson]
    (See Countries).

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

    • unit string required

      Product units in sample(Your organizations active units).

    • qty string required

      Product quantity in sample.

    • size string required

      Product size (Number of units).

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/sample-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: product.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: sample-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Product Price Request

Creates a new product activity - Price Request.

URL Parameters
  • id integer required

    Set the product account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/custproductomer/{id}/activity/price-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • needed_date date [m-d-Y] required

    Price Request Date Needed.

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Estimated Price Per Pound.

  • freight string required

    Freight [FOB, Delivered].

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/{id}/activity/price-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: product.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: price-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contact Email

Creates a new contact activity - Email.

URL Parameters
  • id integer required

    Set the contact account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/email
cURL Request
Body Parameters
  • message string required

    Email message.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/email
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contact.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: email

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contact Phone Call

Creates a new contact activity - Phone Call.

URL Parameters
  • id integer required

    Set the contact account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/phone-call
cURL Request
Body Parameters
  • message string required

    Phone call message.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/phone-call
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contact.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: phone-call

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contact Meeting

Creates a new contact activity - Meeting.

URL Parameters
  • id integer required

    Set the contact account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/meeting
cURL Request
Body Parameters
  • message string required

    Meeting purpose.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/meeting
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contact.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: meeting

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contact Task

Creates a new contact activity - Task.

URL Parameters
  • id integer required

    Set the contact account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/task
cURL Request
Body Parameters
  • message string required

    Task purpose.

  • task_user_id integer optional

    Task Assigned to user (See Organizations->Get Users)

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

  • completed boolean optional

    Task completed [true, false].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/task
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contact.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: task

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contact Misc

Creates a new contact activity - Misc.

URL Parameters
  • id integer required

    Set the contact account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/misc
cURL Request
Body Parameters
  • message string required

    Misc purpose.

  • activity_date date [m-d-Y] required

    Activity Created Date.

  • activity_owner_id integer required

    Activity Owner (See Organizations->Get Users)

  • opportunity_id integer optional

    Opportunity (See CRM Opportunities)

  • reminder_date date [m-d-Y] optional

    Activity Reminder Date.

  • notes string optional

    Notes.

  • next_steps string optional

    Next Steps.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/misc
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contact.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: misc

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contact Sample Request

Creates a new contact activity - Sample Request.

URL Parameters
  • id integer required

    Set the contact account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/sample-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • delivery_date date [m-d-Y] required

    Sample Request Delivery Date.

  • recipient string required

    Recipient type [contact, salesperson, pickup].

  • contact_id integer optional

    Contact belonging to Customer (See CRM Contacts).
    Allowed when recipient [contact, pickup]

  • contact_user_id integer optional

    User id (See Organizations->Get Users).Allowed when recipient [salesperson, pickup].

  • contact_email string optional

    Contact Email (Specify email other than the contacts email).

  • contact_street string optional

    Contact Street (Enter value if contact doesnt have a Contact Street) Allowed when recipient [contact, salesperson].

  • contact_address2 string optional

    Contact Address Line 2 (Enter value if contact doesnt have a Address Line 2)
    Allowed when recipient [contact, salesperson].

  • contact_city string optional

    Contact City (Enter value if contact doesnt have a Contact City)
    Allowed when recipient [contact, salesperson].

  • contact_state string optional

    Contact State/Province (Enter value if contact doesnt have a Contact State/Province) Allowed when recipient [contact, salesperson].

  • contact_zip_code string optional

    Contact Zip Code (Enter value if contact doesnt have a Contact Zip Code)
    Allowed when recipient [contact, salesperson].

  • contact_country string optional

    Contact Country (Enter value if contact doesnt have a Contact Country)
    Allowed when recipient [contact, salesperson]
    (See Countries).

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

    • unit string required

      Product units in sample(Your organizations active units).

    • qty string required

      Product quantity in sample.

    • size string required

      Product size (Number of units).

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/sample-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contact.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: sample-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Activity - Contact Price Request

Creates a new contact activity - Price Request.

URL Parameters
  • id integer required

    Set the contact account unique id

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/price-request
cURL Request
Body Parameters
  • requested_by_id integer required

    Requested by user (See Organizations->Get Users)

  • opportunity_id integer required

    Opportunity (See CRM Opportunities)

  • needed_date date [m-d-Y] required

    Price Request Date Needed.

  • annualized_pounds integer/float required

    Annual Pounds.

  • price_per_pound integer/float required

    Estimated Price Per Pound.

  • freight string required

    Freight [FOB, Delivered].

  • notes string optional

    Notes.

  • product_samples object optional

    List of product samples.

    • product_id string required

      Product id.

    • name string optional

      Products new name in sample.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/{id}/activity/price-request
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contact.

  • section_name string

    Returns a requested section name: activities.

  • section_uid integer

    Newly created activity ID.

  • type string

    Returns a requested activity type: price-request

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created activity data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Activities endpoints can return the following. Which of the validation codes below apply depends on the activity type (email, phone-call, meeting, task, misc, sample-request, price-request) and which parent record (customer, opportunity, contract, product, contact) the activity is created under.

Status Code Error Code Applies To Error Message
404 Not Found invalid_id GET CRM Activity not found!
400 Bad Request empty_data CREATE Activity data not found! Please send activity data as JSON.
400 Bad Request invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request customer_not_found CREATE Customer not found! Please double-check the customer_id and make sure it belongs to your organization.
400 Bad Request message_blank CREATE Message can't be blank.
400 Bad Request contact_not_found CREATE Contact not found! Please double-check the contact_id and make sure it belongs to your organization and to your customer.
400 Bad Request contact_id_present CREATE contact_id and contact_name can't be sent at once. Either send contact_id or contact_name.
400 Bad Request activity_date_format_invalid CREATE Invalid date format for activity_date. Date should be in m-d-Y format.
400 Bad Request activity_owner_id_not_found CREATE Activity owner not found! Please double-check the activity_owner_id and make sure it belongs to your organization.
400 Bad Request opportunity_not_found CREATE Opportunity not found.
400 Bad Request reminder_date_format_invalid CREATE Invalid date format for reminder_date. Date should be in m-d-Y format.
400 Bad Request notes_blank CREATE Notes can't be blank.
400 Bad Request next_steps_blank CREATE Next steps can't be blank.
400 Bad Request contract_not_found CREATE Contract not found.
400 Bad Request product_not_found CREATE Product not found.
400 Bad Request task_assignee_not_found CREATE Task assignee not found. Please double-check the task_user_id and make sure it belongs to your organization.
400 Bad Request sample_request_recipient_not_found CREATE Before you submit a sample request form please configure your organization's settings page for who will fulfill this request.
400 Bad Request requested_by_id_not_found CREATE Requested by not found! Please double-check the requested_by_id and make sure it belongs to your organization.
400 Bad Request contact_user_id_not_found CREATE Contact not found! Please double-check the contact_user_id and make sure it belongs to your organization.
400 Bad Request product_samples_blank CREATE Please include at least one product to be shipped.
400 Bad Request price_request_recipient_not_found CREATE Before you submit a price request form please configure your organization's settings page for who will fulfill this request.
400 Bad Request annualized_pounds_blank CREATE Annual Pounds can't be blank.
400 Bad Request needed_date_format_invalid CREATE Invalid date format for needed_date. Date should be in m-d-Y format.
400 Bad Request price_per_pound_blank CREATE Estimated Price Per Pound can't be blank.
400 Bad Request freight_not_found CREATE Freight not found.
400 Bad Request price_samples_blank CREATE Please include at least one product.
400 Bad Request neither_contact_ids_present CREATE contact_id or contact_user_id has to be provided. Either provide contact_id or contact_user_id.
400 Bad Request contact_ids_present CREATE contact_id and contact_user_id can't be sent at once. Either send contact_id or contact_user_id.
400 Bad Request contact_not_in_account_contacts CREATE Contact doesn't belong to customer! You can only use customer contacts.
400 Bad Request delivery_date_format_invalid CREATE Invalid date format for delivery_date. Date should be in m-d-Y format.
400 Bad Request recipient_not_found CREATE Recipient not found.
400 Bad Request contact_user_not_found CREATE User not found! Please double-check the contact_user_id and make sure it belongs to your organization.
400 Bad Request contact_street_not_found CREATE contact_street value is missing.
400 Bad Request contact_city_not_found CREATE contact_city value is missing.
400 Bad Request contact_state_not_found CREATE contact_state value is missing.
400 Bad Request contact_zip_code_not_found CREATE contact_zip value is missing.
400 Bad Request contact_country_not_found CREATE contact_country value is missing.
400 Bad Request contact_country_invalid CREATE Invalid contact_country. Please double-check that contact_country is a valid country code.
400 Bad Request contact_email_invalid CREATE Invalid email format for contact_email.
400 Bad Request sample_product_blank CREATE product_id is misisng in the sample products.
400 Bad Request sample_product_not_found CREATE Sample product `{product_id}` is not found.
400 Bad Request invalid_unit CREATE Sample product unit `{unit}` is not supported.
400 Bad Request qty_is_not_a_number CREATE Sample product qty `{qty}` is not a number.
400 Bad Request size_is_not_a_number CREATE Sample product size `{size}` is not a number.
400 Bad Request unsupported_action UPDATE UPDATE is not supported for the 'activities' CRM section.
400 Bad Request unsupported_action DELETE DELETE is not supported for the 'activities' CRM section.

CRM Contacts

The Contacts API provides a comprehensive set of endpoints for managing and retrieving detailed information about contacts within the system.

Users can access and manipulate contacts, which include essential details such as the Name, Email, Customer, Phone, Mobile and Date.

Each Contact has connections to Custtomers and Activities

Endpoints

List all Contacts

Returns a list of contacts. The contacts are returned sorted by contact unique id, with the most recently created contact appearing first.

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like contact_name below, including being subject to contact_name_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [id, contact_name, created, modified, crm_customer, crm_contract].

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • contact_name string optional

    Filter results by contact name. How the match is performed is controlled by contact_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • contact_name_match string optional

    Controls how contact_name is matched. Enum [partial, exact, starts_with], Default: partial. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • customer integer optional

    Filter results by linked CRM customer (account) id (exact match). Accepts a comma-separated list to match any of several customers at once. Account ids are available from the CRM Customers API.

  • email string optional

    Filter results by email (partial match). Accepts a comma-separated list - matches like the UI, results must contain all listed values at once (AND), not any of them.

  • phone string optional

    Filter results by phone number (partial match). Accepts a comma-separated list - matches like the UI, results must contain all listed values at once (AND), not any of them.

  • mobile string optional

    Filter results by mobile number (partial match). Accepts a comma-separated list - matches like the UI, results must contain all listed values at once (AND), not any of them.

  • datefilter date [YYYY-MM-DD] optional

    Returns only contacts created on or after this date (YYYY-MM-DD). Changes to existing contacts are not matched.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. contact_name,contact_email,crm_customer. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/contacts
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contacts.

  • contacts array

    CRM contact details are listed here. Each contact contains essential contact details.

  • contacts_total integer

    Returns of total number of contacts based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the contact_name/customer parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. contact_name, customer). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Contact

Retrieves the details of an existing contact. Set the unique contact ID from either a contact creation request or the contact list request.

URL Parameters
  • id integer required

    Set the contact unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. contact_name,contact_email,crm_customer. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/contact/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contacts.

  • section_uid integer

    Contact ID

  • action string

    [get]

  • data array

    Contact details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Contact

Creates a new contact.

Body Parameters
  • account_uid integer required

    Customer (See CRM Customers).

  • contact_first_name string optional

    First Name.

  • contact_middle_name string optional

    Middle Name.

  • contact_last_name string optional

    Last Name.

  • contact_phone string optional

    Phone (Starts with calling number folowed by a space "+1 123456").

  • contact_phone_ext string optional

    Phone Ext.

  • contact_mobile string optional

    Mobile (Starts with calling number folowed by a space "+1 123456").

  • contact_fax string optional

    Fax (Starts with calling number folowed by a space "+1 123456").

  • contact_email string optional

    Email.

  • contact_title string optional

    Title.

  • contact_address string optional

    Street (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_address2 string optional

    Address Line 2 (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_city string optional

    City (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_state string optional

    State/Province (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_zip_code string optional

    Zip Code (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_country string optional

    Country (See Countries) (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_secondary_address_title string optional

    Secondary address title.

  • contact_secondary_address string optional

    Street (secondary).

  • contact_secondary_address2 string optional

    Address Line 2 (secondary).

  • contact_secondary_city string optional

    City (secondary).

  • contact_secondary_state string optional

    State/Province (secondary).

  • contact_secondary_zip_code string optional

    Zip Code(secondary).

  • contact_secondary_country string optional

    Country (secondary) (See Countries).

  • contact_reports_to string optional

    Reports To.

  • contact_bday_month string optional

    Birthday Month Enum [January, February, March, April, May, June, July, August, September, October, November, December].

  • contact_bday_day integer optional

    Birthday Day.

  • address_source string optional

    Address Source Enum [new, billing, corporate, shipping].

  • contact_type string optional

    Contact Type.

  • contact_end_user string optional

    End User.

  • other_vendors string optional

    Other Vendors / Competitors.

  • notes string optional

    Notes.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/contact/
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contacts.

  • section_uid integer

    Newly created contact ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created contact data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Contact

Updates an existing contact.

URL Parameters
  • id integer required

    Set the contact unique id

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/contact/{id}
Using URL Parameters
Body Parameters
  • account_uid integer required

    Customer (See CRM Customers).

  • contact_first_name string optional

    First Name.

  • contact_middle_name string optional

    Middle Name.

  • contact_last_name string optional

    Last Name.

  • contact_phone string optional

    Phone (Starts with calling number folowed by a space "+1 123456").

  • contact_phone_ext string optional

    Phone Ext.

  • contact_mobile string optional

    Mobile (Starts with calling number folowed by a space "+1 123456").

  • contact_fax string optional

    Fax (Starts with calling number folowed by a space "+1 123456").

  • contact_email string optional

    Email.

  • contact_title string optional

    Title.

  • contact_address string optional

    Street (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_address2 string optional

    Address Line 2 (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_city string optional

    City (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_state string optional

    State/Province (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_zip_code string optional

    Zip Code (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_country string optional

    Country (See Countries) (Empty when "Address Source is one of ['billing','corporate','shipping']").

  • contact_secondary_address_title string optional

    Secondary address title.

  • contact_secondary_address string optional

    Street (secondary).

  • contact_secondary_address2 string optional

    Address Line 2 (secondary).

  • contact_secondary_city string optional

    City (secondary).

  • contact_secondary_state string optional

    State/Province (secondary).

  • contact_secondary_zip_code string optional

    Zip Code(secondary).

  • contact_secondary_country string optional

    Country (secondary) (See Countries).

  • contact_reports_to string optional

    Reports To.

  • contact_bday_month string optional

    Birthday Month Enum [January, February, March, April, May, June, July, August, September, October, November, December].

  • contact_bday_day integer optional

    Birthday Day.

  • address_source string optional

    Address Source Enum [new, billing, corporate, shipping].

  • contact_type string optional

    Contact Type.

  • contact_end_user string optional

    End User.

  • other_vendors string optional

    Other Vendors / Competitors.

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/contact/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: contacts.

  • section_uid integer

    Updated contact ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated contact data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Contacts endpoints can return the following:

Status Code Error Code Applies To Error Message
404 Not Found invalid_id GET CRM Contact not found!
404 Not Found invalid_id UPDATE Contact not found!
400 Bad Request empty_data CREATE, UPDATE Contact data not found! Please send contact data as JSON.
400 Bad Request invalid_parameter_value GET (list) Invalid value for contact_name_match. Accepted values: partial, exact, starts_with.
400 Bad Request invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request missing_id UPDATE Contact id is missing!
400 Bad Request customer_not_found CREATE, UPDATE Customer not found! Please double-check the account_uid.
400 Bad Request contact_email_invalid CREATE, UPDATE Invalid email format for contact_email.
400 Bad Request contact_email_exists CREATE, UPDATE Email address already exist. Please select another email.
400 Bad Request contact_bday_month_invalid CREATE, UPDATE Birthday month invalid. Please check documentation for valid month values.
400 Bad Request contact_country_invalid CREATE, UPDATE Invalid contact_country. Please double-check that contact_country is a valid country code.
400 Bad Request contact_secondary_country_invalid CREATE, UPDATE Invalid contact_secondary_country. Please double-check that contact_secondary_country is a valid country code.
400 Bad Request address_source_not_found CREATE, UPDATE Invalid address_source. Please double-check that address_source is a valid address source.
400 Bad Request unsupported_action DELETE DELETE is not supported for the 'contacts' CRM section.

CRM Products

The Products API provides a comprehensive set of endpoints for managing and retrieving detailed information about products within the system.

Users can access and manipulate products, which include essential details such as the Name, Item Code, Brand, Size, Count and Date.

Each Product has connections to Opportunities and Activities

Endpoints

List all Products

Returns a list of products. The products are returned sorted by product unique id, with the most recently created product appearing first.

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like product_name below, including being subject to product_name_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [id, item_code, product_name, product_type, discontinued, created, modified]. Default: id

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • product_name string optional

    Filter results by product name. How the match is performed is controlled by product_name_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • product_name_match string optional

    Controls how product_name is matched. Enum [partial, exact, starts_with], Default: partial. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • certifications string optional

    Filter results by certification (exact match). Enum [Organic, Non GMO, Vegan, Kosher, Kosher for Passover, GF, Halal, Bioengineered]. Accepts a comma-separated list to match any of several certifications at once. An unrecognized value returns a 400 Bad Request - see Errors below.

  • discontinued string optional

    Filter results by discontinued status (exact match). Enum [yes, no] - yes matches discontinued products, no matches active products. An unrecognized value returns a 400 Bad Request rather than silently being ignored - see Errors below.

  • size_min integer optional

    Filter results to products with at least this size (inclusive). Can be combined with size_max for a range, or used alone.

  • size_max integer optional

    Filter results to products with at most this size (inclusive). Can be combined with size_min for a range, or used alone.

  • count_min integer optional

    Filter results to products with at least this count (inclusive). Can be combined with count_max for a range, or used alone.

  • count_max integer optional

    Filter results to products with at most this count (inclusive). Can be combined with count_min for a range, or used alone.

  • datefilter date [YYYY-MM-DD] optional

    Returns only products created on or after this date (YYYY-MM-DD). Changes to existing products are not matched.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. product_name,item_code,discontinued. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/products
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: products.

  • products array

    CRM product details are listed here. Each product contains essential product details.

  • products_total integer

    Returns of total number of products based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the product_name/certifications parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. product_name, certifications). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Product

Retrieves the details of an existing product. Set the unique product ID from either a product creation request or the product list request.

URL Parameters
  • id integer required

    Set the product unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. product_name,item_code,discontinued. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/crm/product/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: products.

  • section_uid integer

    Product ID

  • action string

    [get]

  • data array

    Product details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Create Product

Creates a new product.

Body Parameters
  • product_name string required

    Product Name

  • item_code string required

    First Name.

  • product_type string required

    Product Type Enum [Made to Order, Made to Stock].

  • product_brand string optional

    Brand.

  • size string optional

    Size.

  • unit string optional

    Unit Enum [lb, oz, fl oz].

  • count integer optional

    Pack Count.

  • description string optional

    Description.

  • certifications string optional

    Certifications array of multiple values ['Organic', 'Non GMO', 'Vegan', 'Kosher', 'Kosher for Passover', 'Gluten Free', 'Halal', 'Bioengineered', 'FID Sheet'].

  • discontinued integer optional

    Discontinued [0, 1].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/create/crm/product/
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: products.

  • section_uid integer

    Newly created product ID.

  • action string

    [create]

  • success boolean

    [true, false]

  • data array

    Newly created product data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Update Product

Updates an existing product.

URL Parameters
  • id integer required

    Set the product unique id

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/product/{id}
Using URL Parameters
Body Parameters
  • product_name string required

    Product Name

  • item_code string required

    First Name.

  • product_type string required

    Product Type Enum [Made to Order, Made to Stock].

  • product_brand string optional

    Brand.

  • size string optional

    Size.

  • unit string optional

    Unit Enum [lb, oz, fl oz].

  • count integer optional

    Pack Count.

  • description string optional

    Description.

  • certifications string optional

    Certifications array of multiple values ['Organic', 'Non GMO', 'Vegan', 'Kosher', 'Kosher for Passover', 'Gluten Free', 'Halal', 'Bioengineered', 'FID Sheet'].

  • discontinued integer optional

    Discontinued [0, 1].

HTTP Request

POSThttps://app.flavorstudio.com/api/v2/update/crm/product/{id}
cURL Request
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: products.

  • section_uid integer

    Updated product ID.

  • action string

    [update]

  • success boolean

    [true, false]

  • data array

    Updated product data is listed here.

  • errors array

    Contains list of error messages.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Products endpoints can return the following:

Status Code Error Code Applies To Error Message
404 Not Found invalid_id GET CRM Product not found!
404 Not Found invalid_id UPDATE Product not found!
400 Bad Request invalid_parameter_value GET (list) Invalid value for product_name_match. Accepted values: partial, exact, starts_with.
400 Bad Request invalid_parameter_value GET (list) Invalid value for discontinued. Accepted values: yes, no.
400 Bad Request invalid_parameter_value GET (list) Invalid value for certifications: '{value}'. Accepted values: Organic, Non GMO, Vegan, Kosher, Kosher for Passover, GF, Halal, Bioengineered.
400 Bad Request empty_data CREATE, UPDATE Product data not found! Please send product data as JSON.
400 Bad Request invalid_parameter CREATE Parameter Id is not accepted by this EP.
400 Bad Request missing_id UPDATE Product id is missing!
400 Bad Request product_name_blank CREATE, UPDATE Product name can't be blank.
400 Bad Request item_code_blank CREATE, UPDATE Item Code can't be blank.
400 Bad Request product_type_not_found CREATE, UPDATE Product type not found.
400 Bad Request unit_not_found CREATE, UPDATE Unit not found.
400 Bad Request count_not_integer CREATE, UPDATE Count value has to be a round number.
400 Bad Request invalid_discontinued CREATE, UPDATE Discontinued value can be either 0 or 1.
400 Bad Request certification_not_found CREATE, UPDATE Certification not found. Please enter only supported certification.
400 Bad Request unsupported_action DELETE DELETE is not supported for the 'products' CRM section.

CRM Purchase Orders

The Purchase Orders API offers endpoints to retrieve comprehensive information about purchase orders managed within the system.

Each purchase order contains essential information such as its Customer, Activities, Order Date, Delivery Date and Status.

Users can interact with purchase orders by adding customers, contracts, and products.

Each purchase order is linked to a customer and contract.

Endpoints

List all Purchase Orders

Returns a list of purchase orders. The purchase orders are returned sorted by purchase order id, with the most recently created purchase orders appearing first.

Note: the older filter parameter is still accepted for backward compatibility (it behaves exactly like purchase_order_number below, including being subject to purchase_order_number_match), but is no longer documented here in favor of the field-specific filters, which state clearly which field they search.

URL Parameters
  • page integer optional

    Sets the page. Default: 1. Values below 1 use the default.

  • step integer optional

    Defines how many results are listed for the current page. Max Value: 100, Default: 10. Values below 1 use the default; values above 100 use 100.

  • order string optional

    Enum [id, purchase_order_number, created, modified, crm_customer_uid, crm_customer], Default: id

  • odirection string optional

    Sets the order direction, it can be ascending (asc) or descending (desc). Default: desc

  • purchase_order_number string optional

    Filter results by purchase order number. How the match is performed is controlled by purchase_order_number_match below - by default (partial match), the value is split on spaces, each individual word is matched independently along with the full phrase, and the results are combined with OR.

  • purchase_order_number_match string optional

    Controls how purchase_order_number is matched. Enum [partial, exact, starts_with], Default: partial. An unrecognized value returns a 400 Bad Request rather than silently falling back to the default - see Errors below.

  • customer integer optional

    Filter results by linked CRM customer (account) id (exact match). Accepts a comma-separated list to match any of several customers at once. Account ids are available from the CRM Customers API.

  • status string optional

    Filter results by invoice status. Enum [open, closed] - closed means the purchase order has been marked paid (invoice_paid is set), open means it has not. An unrecognized value returns a 400 Bad Request - see Errors below.

  • open_activities_min integer optional

    Filter results to purchase orders with at least this many unresolved activities (inclusive). Can be combined with open_activities_max for a range, or used alone.

  • open_activities_max integer optional

    Filter results to purchase orders with at most this many unresolved activities (inclusive). Can be combined with open_activities_min for a range, or used alone.

  • datefilter date [YYYY-MM-DD] optional

    Returns only purchase orders created on or after this date (YYYY-MM-DD). Changes to existing purchase orders are not matched.

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. purchase_order_number,invoice_status,open_activities. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/purchase-orders
Using URL Parameters
Using URL Segments
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: purchase-orders.

  • purchase-orders array

    Project purchase orders are listed here.

  • purchase-orders_total integer

    Returns of total number of purchase orders based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword. Kept for backward compatibility; new integrations should use the purchase_order_number/customer parameters and read the filters object below instead.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • filters object

    Echoes back the field-specific filters that were actually used on this request (e.g. purchase_order_number, customer, status). Only present when at least one is used - omitted entirely otherwise.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Purchase Order

Retrieves the details of an existing purchase order. Set the unique purchase order ID from either a purchase order creation request or the purchase order list request.

URL Parameters
  • id integer required

    Set the purchase order unique id

  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. purchase_order_number,invoice_status,open_activities. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/purchase-order/{id}
JSON Response
  • section string

    Returns a requested section: crm.

  • sub_section string

    Returns a requested CRM sub-section: purchase-orders.

  • section_uid integer

    Purchase Order ID

  • action string

    [get]

  • data array

    Purchase order details are listed here.

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section (including invalid_crm_section), the CRM Purchase Orders endpoints can return the following:

Status Code Error Code Applies To Error Message
404 Not Found invalid_id GET CRM Purchase Order not found!
400 Bad Request invalid_parameter_value GET (list) Invalid value for purchase_order_number_match. Accepted values: partial, exact, starts_with.
400 Bad Request invalid_parameter_value GET (list) Invalid value for status. Accepted values: open, closed.
400 Bad Request unsupported_action CREATE CREATE is not supported for the 'purchase-orders' CRM section.
400 Bad Request unsupported_action UPDATE UPDATE is not supported for the 'purchase-orders' CRM section.
400 Bad Request unsupported_action DELETE DELETE is not supported for the 'purchase-orders' CRM section.

Organizations

The Organizations API offers endpoints to retrieve comprehensive organization information.

Endpoints

Get Users

Retrieves the users details belonging to your organization.

URL Parameters
  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. username,email. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/admin/organization/users/
JSON Response
  • section string

    Returns a requested section: organization.

  • sub_section string

    Returns a requested organization sub-section: users.

  • organization_users array

    Organization users are listed here.

  • organization_users_total integer

    Returns of total number of users based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Get Groups

Retrieves the user groups details belonging to your organization.

URL Parameters
  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. group_name,members.username. The record id is always returned. See Field Selection.

HTTP Request

GETPOSThttps://app.flavorstudio.com/api/v2/get/admin/organization/groups/
JSON Response
  • section string

    Returns a requested section: organization.

  • sub_section string

    Returns a requested organization sub-section: groups.

  • organization_groups array

    Organization groups are listed here.

  • organization_groups_total integer

    Returns of total number of groups based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field.

  • odirection string

    Returns a requested order direction. [asc, desc]

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

In addition to the general errors described in the Errors section, the Organizations endpoints can return the following:

Status Code Error Code Error Message Description
400 Bad Request invalid_organization_section Invalid or empty ORGANIZATION section. organization_section is missing or isn't one of users or groups.

Countries

The Countries API offers one endpoint to retrieve a list of Countries that is used accross the API.

Endpoints

Get Countries

Retrieves the countries used accross the API.

URL Parameters
  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. country_code,country_name. The record id is always returned. See Field Selection.

HTTP Request

GEThttps://app.flavorstudio.com/api/v2/get/admin/countries/
JSON Response
  • section string

    Returns a requested section: countries.

  • countries array

    Available countries are listed here.

  • countries_total integer

    Returns of total number of countries based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field. Default: id

  • odirection string

    Returns a requested order direction. [asc, desc]

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

  • remaining_daily_api_requests integer

    Returns the remaining number of api requests.

JSON Response Object

Errors

Get Countries has no error codes of its own beyond the general errors described in the Errors section (invalid/missing API key, HTTPS required, rate limiting, and so on).

Webhooks

Webhooks allow your application to receive real-time updates about certain events in our system. Once a webhook is registered, we’ll send a POST request to the provided URL whenever the specified events occur. The Webhooks API offers one endpoint to retrieve a list of Webhooks with it's events.
In case you use 1 webhook url for all events then only one webhook will be listed.

Endpoints

Webhook Events

All webhook events will be listed in this section. A common feature across all events is the data parameter within the response object. This parameter returns data in the same format as the corresponding API endpoint. For instance, when a recipe is updated, the data parameter will contain the same structure as the response from calling /api/v2/get/recipe/{id}.

recipe.add

Triggered when a new recipe is created.

JSON Response
  • event_type string

    Returns the event type: recipe.add.

  • unique_id integer

    Returns the recipe unique ID.

  • data array

    Recipe details are listed here.
    This parameter is exactly same as the data parameter returned by /api/v2/get/recipe/{id}.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

recipe.change

Triggered when a recipe is updated.

JSON Response
  • event_type string

    Returns the event type: recipe.change.

  • recipe_uid integer

    Returns the recipe ID typicaly found in your recipes URL.

  • unique_id integer

    Returns the recipe unique ID.

  • changed_data array

    All Recipe changes will be listed here.

  • data array

    Recipe details are listed here.
    This parameter is exactly same as the data parameter returned by /api/v2/get/recipe/{id}.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

recipe.convert_to_production

Triggered when a recipe is converted to production.

JSON Response
  • event_type string

    Returns the event type: recipe.convert_to_production.

  • recipe_uid integer

    Returns the recipe ID typicaly found in your recipes URL.

  • unique_id integer

    Returns the recipe unique ID.

  • recipe_production_unique_id integer

    Returns the recipe production ID.

  • recipe_name string

    Returns the recipe name.

  • recipe_version string

    Returns the recipe version number.

  • recipe_version_uid string

    Returns the recipe version unique ID.

  • recipe_version_name string

    Returns the recipe version name only if the default name was changed.

  • data array

    Recipe details are listed here.
    This parameter is exactly same as the data parameter returned by /api/v2/get/recipe/{id}.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

recipe.revert_to_rnd

Triggered when a recipe is reverted back to R&D status from production status.

JSON Response
  • event_type string

    Returns the event type: recipe.revert_to_rnd.

  • recipe_uid integer

    Returns the recipe ID typicaly found in your recipes URL.

  • unique_id integer

    Returns the recipe unique ID.

  • recipe_name string required

    Recipe Name.

  • data array

    Recipe details are listed here.
    This parameter is exactly same as the data parameter returned by /api/v2/get/recipe/{id}.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

recipe.archive

Triggered when a recipe is archived.

JSON Response
  • event_type string

    Returns the event type: recipe.archive.

  • recipe_uid integer

    Returns the recipe ID typicaly found in your recipes URL.

  • unique_id integer

    Returns the recipe unique ID.

  • recipe_name string required

    Recipe Name.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

recipe.unarchive

Triggered when a recipe is restored from an archived state.

JSON Response
  • event_type string

    Returns the event type: recipe.unarchive.

  • recipe_uid integer

    Returns the recipe ID typicaly found in your recipes URL.

  • unique_id integer

    Returns the recipe unique ID.

  • recipe_name string required

    Recipe Name.

  • data array

    Recipe details are listed here.
    This parameter is exactly same as the data parameter returned by /api/v2/get/recipe/{id}.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

recipe.delete

Triggered when a recipe is permanently deleted.

JSON Response
  • event_type string

    Returns the event type: recipe.delete.

  • recipe_uid integer

    Returns the recipe ID typicaly found in your recipes URL.

  • unique_id integer

    Returns the recipe unique ID.

  • recipe_name string required

    Recipe Name.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

ingredient.add

Triggered when a new ingredient is created.

JSON Response
  • event_type string

    Returns the event type: ingredient.add.

  • data array

    Ingredient details are listed here.
    This parameter is exactly same as the data parameter returned by /api/v2/get/ingredient/{id}.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

ingredient.change

Triggered when a ingredient is updated.

JSON Response
  • event_type string

    Returns the event type: ingredient.change.

  • data array

    Ingredient details are listed here.
    This parameter is exactly same as the data parameter returned by /api/v2/get/ingredient/{id}.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

ingredient.delete

Triggered when a ingredient is permanently deleted.

JSON Response
  • event_type string

    Returns the event type: ingredient.delete.

  • ingredient_id string

    Returns the deleted ingredient_id.

  • timestamp string

    Returns the current timestamp in YYYY-MM-DD HH:MM format.

JSON Response Object

List all Webhooks

Retrieves the webhook urls used in your organization.

URL Parameters
  • fields string optional

    Comma-separated fields to return for each record, using the key names exactly as they appear in the response, with dots for nested fields, e.g. webhook_url,events.event_type. The record id is always returned. See Field Selection.

HTTP Request

GEThttps://app.flavorstudio.com/api/v2/get/admin/webhooks
JSON Response
  • section string

    Returns a requested section: webhooks.

  • webhooks array

    Available webhooks are listed here.

  • webhooks_total integer

    Returns of total number of webhooks based on filters.

  • page integer

    Returns a requested page.

  • step integer

    Returns a requested step.

  • filter string

    Returns a requested filter keyword.

  • datefilter string

    Returns a requested date. Returns empty value or date in YYYY-MM-DD format.

  • order string

    Returns a requested order field. Default: webhook_url

  • odirection string

    Returns a requested order direction. [asc, desc]

  • fields array

    The applied field selection (see Field Selection). Only present when the fields parameter is used - omitted entirely otherwise.

  • api_version integer

    Returns a requested api version. [1, 2]

JSON Response Object

Errors

List all Webhooks has no error codes of its own beyond the general errors described in the Errors section (invalid/missing API key, HTTPS required, rate limiting, and so on).

Errors

If an error exists, Flavor Studio’s API returns JSON with error codes and a message. If there is no Basic Auth username or password it will redirect the request to the Flavor Studio login page. In any other error cases it will return JSON data with the following details.

When a create or update request fails data validation (for example, a missing required field or a duplicate name), the API returns HTTP 400 Bad Request with "success": false and the validation issues listed in the errors field of the response body.

This page lists the general errors that can occur on any endpoint (authentication, rate limiting, malformed requests). Each API section also has its own Errors entry in the sidebar listing every error code its specific endpoints can return, including field-level validation codes for create and update requests.

JSON Response
Status Code Error Code Error Message Description
400 Bad Request invalid_type
invalid_file_download_request
invalid_email

invalid_section
invalid_crm_section
invalid_organization_section
empty_data
unsupported_action
Invalid type.
Invalid file download request.
Invalid email address.
Email address required.
Invalid section.
Invalid or empty CRM section.
Invalid or empty ORGANIZATION section.
Ingredient data not found!
GET/CREATE/UPDATE/DELETE is not supported for the '<section>' section.
Type is not defined in the url or invalid type defined.
File download request url is invalid.
This error code represents invalid or empty email address.

Section is not defined in the url or invalid section name is defined.
This error code represents invalid or missing CRM section.
This error code represents invalid or missing ORGANIZATION section.
This error occurs when the data can't be found.
This error occurs when the requested action (get/create/update/delete) is not available for the specified section.
400 Bad Request invalid_parameter_value Unknown field(s) in fields: <fields>. Use the key names exactly as they appear in the response, separated by commas, with dots for nested fields.
These blocks can only be selected as a whole: '<field>' (select '<block>' instead).
The fields parameter of a GET request contains a name that isn't a field of that endpoint's records, or a field inside a block that can only be selected as a whole (see Field Selection).
401 Unauthorized unauthorized
invalid_api_key
api_access_disabled
Authentication required.
Invalid API key.
API access is disabled.
The API requires authentication. Authenticate yourself with HTTP Basic Auth.
This code represents invalid API keys or that the API is disabled.
This code represents that the API access is disabled.
404 Not Found invalid_file

invalid_user
invalid_id



Invalid file.
We couldn't locate the requested file.
Invalid user.
Project not found!
Recipe not found!
Ingredient not found!
Taste Test not found!
CRM "section name" not found!
Invalid file or file does not exist.
We couldn't locate the requested file. Ensure the file name and path are correct.
This error occurs when the user can't be found in the organization.
This error occurs when the data can't be found within the organization based on the ID and section.



426 Upgrade Required https_required HTTPS is required. Please use HTTPS to access this API. Request is made over plain HTTP. Secure connections are mandatory for accessing the API.
429 Too Many Requests daily_request_limit_exceeded Daily API request limit exceeded. Please try again tomorrow. Number of API requests exceeds the daily limit set for your account.
429 Too Many Requests daily_ingredient_request_limit_exceeded Daily API Ingredient request limit exceeded. Please try again tomorrow. Ingredient endpoints have their own, separate daily limit. See Rate Limiting.

Have you encountered any issues or errors?

Error