GuidesAPI Reference
Log In
Guides

Propello Public API Documentation

Welcome to the Propello Public API documentation. This guide provides a comprehensive reference to the API, including authentication, pagination, and instructions for making your first API call.

You'll find the complete API Reference here.

Getting Started with Propello API

To use the Propello Public API, follow these steps:

  1. Create Your Public API Key: Generate a Public API key in Propello and assign the necessary roles for accessing the desired APIs.
  2. Authenticate:
    • Call the Authenticate endpoint.
    • Provide your API Key in the Authorization field and click "Try It!"
    • Copy the JWT from the access_token field in the response.
  3. Invoke an API using Readme.io:
    • Navigate to the desired API endpoint.
    • Complete any required fields. Use the X-Active-Store header for specifying the store id (obtain valid store ids for your system via the List Stores API).
    • Paste the copied JWT into the Authorization field without quotes or braces.
    • Click "Try It!" to execute the call.

Supported ISO8601 Date/Time String Formats

Our APIs require date strings in specific formats for accurate parsing. Below are the supported formats:

  • Basic Format: YYYY-MM-DDTHH:MM:SS (e.g., 2025-03-12T21:15:57)
  • With Microseconds: YYYY-MM-DDTHH:MM:SS.mmmmmm (e.g., 2025-03-12T21:15:57.123456)
  • With Timezone Offset: YYYY-MM-DDTHH:MM:SS+HH:MM or -HH:MM (e.g., 2025-03-12T21:15:57+00:00)

Note: The ISO 8601 Z suffix (e.g., 2025-03-12T21:15:57Z) is not supported and will cause errors. Use +00:00 to indicate UTC instead.

Pagination

When API responses are spread across multiple pages, use the sample code provided here to navigate through the results.

Troubleshooting

I am getting an HTTP 401 or 403

  • Verify the server URL: Use https://api.epicorretailcloud.com for production or https://api.toogoerp.net for development/staging.
  • Ensure you are including a User-Agent HTTP header in your requests.

I am getting an HTTP 429

The message will be one of either "Too Many Requests" or "Limit Exceeded".

  • If "Too Many Requests", introduce a backoff mechanism into your code, similar to the example code for pagination posted above.
  • If "Limit Exceeded", this means all of your allocated requests for the day have been consumed and you will need to wait until the next day or contact support for assistance.