The Toolbox Resources provide some resources that can be used for the testing or training of web API integration software and data formats by Internet developers and users.

There are four resources in the toolbox. The first, Characters, is a recreation of the Internet protocol suite Character Generator Protocol (CHARGEN) service providing a string of characters based on the input parameters. The second, Conversions, is a simple Unit of Measure converter. The third, Quotes, is a recreation of the Internet protocol suite Quote of the Day (QOTD) service providing quotes of famous (and not so famous) people. The fourth, Reflections, is a recreation of the Internet protocol suite Echo Protocol (ECHO) service, reflecting back to the user a simple message, information about their browser or the resource's server.

What These Resources Are Not

The Toolbox Resources are not any of the following:

  • An API.
    • An API requires that there be an Application to have a Programming Interface to.
    • There is no application as such involved in any of these resources.
  • RESTful.
    • Based on the Richardson Maturity Model (described by Martin Fowler here), Level 2 is the highest level these resources attain
      • Only one HTTP method is currently allowed: GET.
      • GET is only used for one purpose, to retrieve data from the server, not to modify it in any way.
      • While some links are provided, they are not connected to the Application State since there is no Application.
  • Authenticated or Authorized
    • No login is needed to access these resources.
    • No OAuth or any other 3rd party authentication mechanism is used.
  • Data Encrypted
    • HTTPS does provide an encrypted communications tunnel, but the data itself is unencrypted.
  • Any other formal acronym applied to web services or resources.
    • Well, OK, all of them haven't been inspected (there are by now probably hundreds of competing standards)
    • If these resources actually meet the requirements of some of them, it is purely coincidental.
  • Useful in a production environment.
    • Do you really want one of the silly quotes on your web site?

What These Resources Hopefully Are

The Toolbox Resources strive to be the following:

  • Useful to learn or train on a RESTful API data integration tool or connection software.
    • While these resources aren't fully RESTful, they are web-friendly and can be used as an introduction to the basics of making a request to a fully RESTful API and consuming the response.
    • Trying to learn a new API tool by connecting to a full API can be extremely frustrating when errors occur and the inevitable finger-pointing of which software (or the user) is responsible for the fault.
  • Simple.
    • The concept of what each resource is trying to provide is purposefully very straightforward and should be easily understandable.
  • A first step towards learning how to interact with RESTful APIs.
    • The first step is often the most difficult and frustrating.
  • A very light weight Rosetta Stone for some different data formats.
    • Because the same data responses can be sent in multiple formats, they can be used to help teach the differences between the formats.
  • A very light weight introduction to XML Schemas.
    • Because an XSD and Diagram is provided for each resource, the basics of XML Schemas can be taught using the output of these resources as examples.
  • A first look at some common API specifications.
    • OpenAPI Specification 3
    • Swagger Hub
    • Web Application Description Language (WADL)
  • A little bit fun.
    • Learning something new does NOT have to be painful.


Here are just some of the possibilities of what can be done with the Toolbox Resources.

Characters Resource Example

This link will return the Unicode characters from 0 to 40, excluding control characters:


Conversions Resource Example

This link will return 1 foot converted to meters:


Quotes Resource Example

This link will return a famous quote and it's author:


Reflections Resource Example

This link will return a simple text string: