Documentation
Our WebsiteOur Github
  • 👋Welcome to Infinitode Documentation
  • AI Documentation
  • API Documentation
    • Basic Math API Documentation (#Experimental)
    • BMI Calculator API Documentation
    • Character Counter API Documentation
    • Chemical Equation Balancer API Documentation
    • Color Generator API Documentation
    • Date Difference Calculator API Documentation
    • Dungen API Documentation
    • Dungen Dev API Documentation
    • Factorial Calculator API Documentation
    • Fantasy Name Generator API Documentation
    • Fibonacci Sequence Generator API Documentation
    • GCD Calculator API Documentation
    • Hash API Documentation
    • Helix PSA API Documentation
    • LCM Calculator API Documentation
    • Leap Year Checker API Documentation
    • Lorem API Documentation
    • Molar Mass Calculator API Documentation (#Experimental)
    • MycoNom API Documentation
    • Name Generator API Documentation
    • Palindrome Checker API Documentation
    • Password Generator API Documentation
    • Password Strength Detector API Documentation
    • Periodic Table API Documentation
    • Prime Number Checker API Documentation
    • Quadratic Equation Solver API Documentation
    • Random Facts Generator API Documentation
    • Random Quotes Generator API Documentation
    • Roman Numeral Converter API Documentation
    • Simple Interest Calculator API Documentation
    • Slugify API Documentation
    • Text Case Converter API Documentation
    • Unit Converter API Documentation
    • Username Generator API Documentation
    • UUID Generator API Documentation
    • Vowel Counter API Documentation
  • Package Documentation
    • BlurJS Package Documentation
      • BlurJS Usage Examples
      • BlurJS Reference Documentation
    • CodeSafe Package Documentation
      • CodeSafe Reference
        • CodeSafe Functions
    • DeepDefend Package Documentation
      • DeepDefend Reference
        • Attacks Functions
        • Defenses Functions
    • DupliPy Package Documentation
      • DupliPy Reference
        • Formatting Functions
        • Replication Functions
        • Similarity Functions
        • Text Analysis Functions
    • FuncProfiler Package Documentation
      • FuncProfiler Reference
        • FuncProfiler Functions
    • Hued Package Documentation
      • Hued Reference
        • Analysis Functions
        • Colors Functions
        • Conversions Functions
        • Palettes Functions
    • LocalSiteMap Package Documentation
      • LocalSiteMap Reference
        • LocalSiteMap Functions
    • PyAutoPlot Package Documentation
      • PyAutoPlot Reference
        • PyAutoPlot Functions
    • PyWebScrapr Package Documentation
      • PyWebScrapr Reference
        • PyWebScrapr Functions
    • ValX Package Documentation
      • ValX Reference
        • ValX Functions
Powered by GitBook
On this page
  • Disclaimer
  • Quickstart Using cURL
  • Changelog
  • Access
  • Authentication
  • API Token
  • Endpoint
  • Predict Mushroom Edibility
  • Usage example
  • Error handling
  • Parameters
  • Error codes
  • Rate limiting
  • Best practices
  • FAQs
  • Conclusion

Was this helpful?

  1. API Documentation

MycoNom API Documentation

This API allows you to use MycoNom, an AI model that can predict if a given mushroom is edible or not.

PreviousMolar Mass Calculator API Documentation (#Experimental)NextName Generator API Documentation

Last updated 22 days ago

Was this helpful?

Disclaimer

This model is for educational purposes only and should not be used for real-life mushroom classification or any decision-making processes related to the consumption of mushrooms. While the model performs well on the provided dataset, it has not been thoroughly validated for real-world scenarios and may not accurately detect poisonous mushrooms in all conditions. Always consult an expert or use trusted resources when identifying mushrooms.

Quickstart Using cURL

curl -X POST "https://infinitode.netlify.app/api/v1/myconom" \
     -H "Content-Type: application/json" \
     -d '{"apiKey": "YOUR_API_TOKEN", "capShape": "bell", "capSurface": "fibrous", "capColor": "brown", "bruises": "bruises", "odor": "almond", "gillAttachment": "attached", "gillSpacing": "close", "gillSize": "broad", "gillColor": "black", "stalkShape": "enlarging", "stalkRoot": "bulbous", "stalkSurfaceAboveRing": "fibrous", "stalkSurfaceBelowRing": "fibrous", "stalkColorAboveRing": "brown", "stalkColorBelowRing": "brown", "veilType": "partial", "veilColor": "brown", "ringNumber": "none", "ringType": "cobwebby", "sporePrintColor": "black", "population": "abundant", "habitat": "grasses"}'

Changelog

  • 1.0 (Latest): Initial commit for API space.

Access

The API can be accessed from

https://infinitode.netlify.app/api/v1/myconom

Authentication

API Token

You must include an API token in the request to use this API. The API token should be included in the request body as the apiKey field.

{
  "apiKey": "YOUR_API_TOKEN"
}

You can also use the API with the default GET method.

https://infinitode.netlify.app/api/v1/myconom?token=YOUR_API_TOKEN

Endpoint

Predict Mushroom Edibility

Endpoint URL:

https://infinitode.netlify.app/api/v1/myconom

HTTP Methods:

  • Post

  • Get

Request Body

The request body should be a JSON object with the following properties:

  • apiKey: Your API token.

  • capShape: The cap shape of the mushroom. Available values are: 'bell', 'conical', 'convex', 'flat', 'knobbed', 'sunken'.

  • capSurface: The cap surface of the mushroom. Available values are: 'fibrous', 'grooves', 'scaly', 'smooth'.

  • capColor: The cap color of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'green', 'pink', 'purple', 'red', 'white', 'yellow'.

  • bruises: If the mushroom has bruises. Available values are: 'bruises', 'no'.

  • odor: The odor of the mushroom. Available values are: 'almond', 'anise', 'creosote', 'fishy', 'foul', 'musty', 'none', 'pungent', 'spicy'.

  • gillAttachment: The gill attachment of the mushroom. Available values are: 'attached', 'descending', 'free', 'notched'.

  • gillSpacing: The gill spacing of the mushroom. Available values are: 'close', 'crowded', 'distant'.

  • gillSize: The gill size of the mushroom. Available values are: 'broad', 'narrow'.

  • gillColor: The color of the mushroom's gills. Available values are: 'black', 'brown', 'buff', 'chocolate', 'gray', 'green', 'orange', 'pink', 'purple', 'red', 'white', 'yellow'.

  • stalkShape: The stalk shape of the mushroom. Available values are: 'enlarging', 'tapering'.

  • stalkRoot: The stalk root of the mushroom. Available values are: 'bulbous', 'club', 'cup', 'equal', 'rhizomorphs', 'rooted', 'missing'.

  • stalkSurfaceAboveRing: The stalk surface above the ring of the mushroom. Available values are: 'fibrous', 'scaly', 'silky', 'smooth'.

  • stalkSurfaceBelowRing: The stalk surface below the ring of the mushroom. Available values are: 'fibrous', 'scaly', 'silky', 'smooth'.

  • stalkColorAboveRing: The stalk color above the ring of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'orange', 'pink', 'red', 'white', 'yellow'.

  • stalkColorBelowRing: The stalk color below the ring of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'orange', 'pink', 'red', 'white', 'yellow'.

  • veilType: The veil type of the mushroom. Available values are: 'partial', 'universal'.

  • veilColor: The veil color of the mushroom. Available values are: 'brown', 'orange', 'white', 'yellow'.

  • ringNumber: The number of rings of the mushroom. Available values are: 'none', 'one', 'two'.

  • ringType: The ring type of the mushroom. Available values are: 'cobwebby', 'evanescent', 'flaring', 'large', 'none', 'pendant', 'sheathing', 'zone'.

  • sporePrintColor: The spore print color of the mushroom. Available values are: 'black', 'brown', 'buff', 'chocolate', 'green', 'orange', 'purple', 'white', 'yellow'.

  • population: The population density of the mushroom. Available values are: 'abundant', 'clustered', 'numerous', 'scattered', 'several', 'solitary'.

  • habitat: The habitat of the mushroom. Available values are: 'grasses', 'leaves', 'meadows', 'paths', 'urban', 'waste', 'woods'.

Example:

{
  "apiKey": "YOUR_API_TOKEN",
  "capShape": "bell",
  "capSurface": "fibrous",
  "capColor": "brown",
  "bruises": "bruises",
  "odor": "almond",
  "gillAttachment": "attached",
  "gillSpacing": "close",
  "gillSize": "broad",
  "gillColor": "black",
  "stalkShape": "enlarging",
  "stalkRoot": "bulbous",
  "stalkSurfaceAboveRing": "fibrous",
  "stalkSurfaceBelowRing": "fibrous",
  "stalkColorAboveRing": "brown",
  "stalkColorBelowRing": "brown",
  "veilType": "partial",
  "veilColor": "brown",
  "ringNumber": "none",
  "ringType": "cobwebby",
  "sporePrintColor": "black",
  "population": "abundant",
  "habitat": "grasses"
}

Or, use the GET method:

https://infinitode.netlify.app/api/v1/dungen-dev?token=YOUR_API_TOKEN&capShape=bell&capSurface=fibrous&capColor=brown&bruises=bruises&odor=almond&gillAttachment=attached&gillSpacing=close&gillSize=broad&gillColor=black&stalkShape=enlarging&stalkRoot=bulbous&stalkSurfaceAboveRing=fibrous&stalkSurfaceBelowRing=fibrous&stalkColorAboveRing=brown&stalkColorBelowRing=brown&veilType=partial&veilColor=brown&ringNumber=none&ringType=cobwebby&sporePrintColor=black&population=abundant&habitat=grasses

Response

Upon a successful request, using the Myconom API you will receive a JSON response with the model's prediction. If the API token is invalid or the request fails, an error message will be included in the response.

Example response:

{
    "prediction": "Edible"
}

The response includes the model's prediction. Validation results are excluded since this was a normal API call.


Usage example

Here's a usage example in JavaScript using the fetch API:

const apiUrl = 'https://infinitode.netlify.app/api/v1/myconom';

const data = {
  "apiKey": "YOUR_API_TOKEN",
  "capShape": "bell",
  "capSurface": "fibrous",
  "capColor": "brown",
  "bruises": "bruises",
  "odor": "almond",
  "gillAttachment": "attached",
  "gillSpacing": "close",
  "gillSize": "broad",
  "gillColor": "black",
  "stalkShape": "enlarging",
  "stalkRoot": "bulbous",
  "stalkSurfaceAboveRing": "fibrous",
  "stalkSurfaceBelowRing": "fibrous",
  "stalkColorAboveRing": "brown",
  "stalkColorBelowRing": "brown",
  "veilType": "partial",
  "veilColor": "brown",
  "ringNumber": "none",
  "ringType": "cobwebby",
  "sporePrintColor": "black",
  "population": "abundant",
  "habitat": "grasses"
};

fetch(apiUrl, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(data),
})
  .then(response => response.json())
  .then(result => {
    console.log('Prediction:', result.prediction);
  })
  .catch(error => {
    console.error('Error:', error);
  });

Make sure to replace 'YOUR_API_TOKEN' with your actual API token.


Error handling

The API may return error responses in case of invalid input or other issues. Be sure to handle errors gracefully in your application. Error responses will include appropriate status codes and error messages in the JSON format.


Parameters

Here are all the available parameters for the API:

`POST` method

Parameter
Description
Optional

apiKey

Your API key, either the developer API key, or your normal API key

false

capShape

The cap shape of the mushroom. Available values are: 'bell', 'conical', 'convex', 'flat', 'knobbed', 'sunken'.

false

capSurface

The cap surface of the mushroom. Available values are: 'fibrous', 'grooves', 'scaly', 'smooth'.

false

capColor

The cap color of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'green', 'pink', 'purple', 'red', 'white', 'yellow'.

false

bruises

If the mushroom has bruises. Available values are: 'bruises', 'no'.

false

odor

The odor of the mushroom. Available values are: 'almond', 'anise', 'creosote', 'fishy', 'foul', 'musty', 'none', 'pungent', 'spicy'.

false

gillAttachment

The gill attachment of the mushroom. Available values are: 'attached', 'descending', 'free', 'notched'.

false

gillSpacing

The gill spacing of the mushroom. Available values are: 'close', 'crowded', 'distant'.

false

gillSize

The gill size of the mushroom. Available values are: 'broad', 'narrow'.

false

gillColor

The color of the mushroom's gills. Available values are: 'black', 'brown', 'buff', 'chocolate', 'gray', 'green', 'orange', 'pink', 'purple', 'red', 'white', 'yellow'.

false

stalkShape

The stalk shape of the mushroom. Available values are: 'enlarging', 'tapering'.

false

stalkRoot

The stalk root of the mushroom. Available values are: 'bulbous', 'club', 'cup', 'equal', 'rhizomorphs', 'rooted', 'missing'.

false

stalkSurfaceAboveRing

The stalk surface above the ring of the mushroom. Available values are: 'fibrous', 'scaly', 'silky', 'smooth'.

false

stalkSurfaceBelowRing

The stalk surface below the ring of the mushroom. Available values are: 'fibrous', 'scaly', 'silky', 'smooth'.

false

stalkColorAboveRing

The stalk color above the ring of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'orange', 'pink', 'red', 'white', 'yellow'.

false

stalkColorBelowRing

The stalk color below the ring of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'orange', 'pink', 'red', 'white', 'yellow'.

false

veilType

The veil type of the mushroom. Available values are: 'partial', 'universal'.

false

veilColor

The veil color of the mushroom. Available values are: 'brown', 'orange', 'white', 'yellow'.

false

ringNumber

The number of rings of the mushroom. Available values are: 'none', 'one', 'two'.

false

ringType

The ring type of the mushroom. Available values are: 'cobwebby', 'evanescent', 'flaring', 'large', 'none', 'pendant', 'sheathing', 'zone'.

false

sporePrintColor

The spore print color of the mushroom. Available values are: 'black', 'brown', 'buff', 'chocolate', 'green', 'orange', 'purple', 'white', 'yellow'.

false

population

The population density of the mushroom. Available values are: 'abundant', 'clustered', 'numerous', 'scattered', 'several', 'solitary'.

false

habitat

The habitat of the mushroom. Available values are: 'grasses', 'leaves', 'meadows', 'paths', 'urban', 'waste', 'woods'.

false

`GET` method

Parameter
Description
Optional

token

Your API key, either the developer API key, or your normal API key

false

capShape

The cap shape of the mushroom. Available values are: 'bell', 'conical', 'convex', 'flat', 'knobbed', 'sunken'.

false

capSurface

The cap surface of the mushroom. Available values are: 'fibrous', 'grooves', 'scaly', 'smooth'.

false

capColor

The cap color of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'green', 'pink', 'purple', 'red', 'white', 'yellow'.

false

bruises

If the mushroom has bruises. Available values are: 'bruises', 'no'.

false

odor

The odor of the mushroom. Available values are: 'almond', 'anise', 'creosote', 'fishy', 'foul', 'musty', 'none', 'pungent', 'spicy'.

false

gillAttachment

The gill attachment of the mushroom. Available values are: 'attached', 'descending', 'free', 'notched'.

false

gillSpacing

The gill spacing of the mushroom. Available values are: 'close', 'crowded', 'distant'.

false

gillSize

The gill size of the mushroom. Available values are: 'broad', 'narrow'.

false

gillColor

The color of the mushroom's gills. Available values are: 'black', 'brown', 'buff', 'chocolate', 'gray', 'green', 'orange', 'pink', 'purple', 'red', 'white', 'yellow'.

false

stalkShape

The stalk shape of the mushroom. Available values are: 'enlarging', 'tapering'.

false

stalkRoot

The stalk root of the mushroom. Available values are: 'bulbous', 'club', 'cup', 'equal', 'rhizomorphs', 'rooted', 'missing'.

false

stalkSurfaceAboveRing

The stalk surface above the ring of the mushroom. Available values are: 'fibrous', 'scaly', 'silky', 'smooth'.

false

stalkSurfaceBelowRing

The stalk surface below the ring of the mushroom. Available values are: 'fibrous', 'scaly', 'silky', 'smooth'.

false

stalkColorAboveRing

The stalk color above the ring of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'orange', 'pink', 'red', 'white', 'yellow'.

false

stalkColorBelowRing

The stalk color below the ring of the mushroom. Available values are: 'brown', 'buff', 'cinnamon', 'gray', 'orange', 'pink', 'red', 'white', 'yellow'.

false

veilType

The veil type of the mushroom. Available values are: 'partial', 'universal'.

false

veilColor

The veil color of the mushroom. Available values are: 'brown', 'orange', 'white', 'yellow'.

false

ringNumber

The number of rings of the mushroom. Available values are: 'none', 'one', 'two'.

false

ringType

The ring type of the mushroom. Available values are: 'cobwebby', 'evanescent', 'flaring', 'large', 'none', 'pendant', 'sheathing', 'zone'.

false

sporePrintColor

The spore print color of the mushroom. Available values are: 'black', 'brown', 'buff', 'chocolate', 'green', 'orange', 'purple', 'white', 'yellow'.

false

population

The population density of the mushroom. Available values are: 'abundant', 'clustered', 'numerous', 'scattered', 'several', 'solitary'.

false

habitat

The habitat of the mushroom. Available values are: 'grasses', 'leaves', 'meadows', 'paths', 'urban', 'waste', 'woods'.

false


Here are a few of the error codes, you will receive in responses, to help clarify issues:

Common error codes

Error code
Description

400

Missing or invalid parameters. This is when the parameters you passed to the API, do not match the API's expected inputs.

405

Using an invalid method, to access the API.

429

The rate limit is exceeded within the current timeframe.

401

Error during the request. This can be because of insufficient API calls, input errors, or errors arising from the API's logic.

Our APIs are rigorously tested before deployments, to ensure that they do not produce any unintentional errors during production.


We use rate limiting, to protect our API's resources. Rate limiting is implemented on all of our APIs, and follows these general principles:

- interval: The rate limiting is set to a default interval of 1 minute. - amount of requests: The amount of requests is set to a default of 25 requests within the given interval.

If the rate limit is exceeded, an error 429 code will be returned, instead of the actual API output.


Common guidelines to use, optimize, and protect your implementation of our APIs.

  • Do not store/share/expose your API keys

  • Implement data cleaning, and validation in your code, to ensure inputs are sanitized

  • Handle API errors gracefully

  • Use Developer API calls, to help debug your implementation and code

  • Handle API outputs accordingly. You can see examples of this API's output in the Endpoint section.

  • Implement code to notify users of actions when using our APIs, such as errors, delays, formatting issues, etc.


Answers to the most common questions and issues when using this API:

I am getting a 405 error, what should I do?

When you are getting a 404 or NotFound error, you likely misspelled the API endpoint or URL. This could also be caused by using an invalid method to access the API.

Is rate limiting set individually, or per API key?

Rate limiting is set individually, this means that rate limiting happens on an end-user level. This ensures that our API is used fairly, among all users.

Are request timeouts a thing?

Yes, we normally timeout requests after the 10-second mark. This, however, can vary significantly, depending on various other factors.

What is the max payload size?

The maximum payload size for buffered executions is 4.5mb per request. For streamed executions, we use a payload restriction size of 20mb per request.

What is the recommended way to call the API?

If you can, call the API using the POST method. The GET method works but is not recommended, especially when you're calling it by directly modifying the URL. This is because URL parameters that are strings, can sometimes be misformatted afterwards, and then incorrectly passed to the API.

Is this AI model accurate?

Yes, on our testing sets, the model scored an extremely high accuracy score of 100%, however, when cross-validation was used, the model scored an average of 91.1%, showing that it struggled with specific instances/samples.


Conclusion

That's it! You now know the basics of using the MycoNom API. Don't hesitate to contact our support team with further questions or issues.

Error codes

Rate limiting

Best practices

FAQs

However, this model is for educational purposes only. Read the for more information.

🚀
⚠️
⌛
⭐
❓
disclaimer