On July 1, 2019, Schoology will require that all consumers of the Schoology public API ensure that numeric values used to represent an identifier (ID) in Schoology are stored in a data type that can represent very large values. We are encouraging any consumer of the Schoology API to check your system and make any necessary changes in order to continue scaling the Schoology solution, ensuring that our integrated applications continue to be available in the future. Failure to make any necessary changes will break compatibility with Schoology and likely result in an inoperable solution. We recommend meeting this requirement by storing these ids in a “string” data type (with a minimum of 36 characters).
Why July 1, 2019?
On this date, Schoology will exceed the max value that a 32-bit signed integer can store. This applies to all IDs that are generated in Schoology on or after July 1st. The IDs of existing objects will not be changed.
This includes, but is not limited to:
- School ID
- Building ID
- Section ID
- Group ID
- Material ID
- Event ID
- Update ID
As a System Admin, how should I prepare for this change?
Because of this, we are encouraging any consumer of the Schoology API to check your system and make any necessary changes to support very large values as soon as possible. This will ensure that districts are successfully prepared so that any integrations you maintain that consume this data do not fail once the change occurs.
How do I know if this will impact my integrations with Schoology?
If you use an SIS that integrates with Schoology using an API app (e.g. PowerSchool, eSchool PLUS, Skyward, Infinite Campus, Aeries, or SIS Connect) our team is working directly with these partners so that no action should be required for districts.
If you use the Export or Auto-Export features in Schoology to send data to another system, and you'll need to ensure that 3rd parties that consume these IDs support large integers and strings.
The only requirement for API Consumers is to handle identifiers that exceed the max value of a 32-bit signed integer, which will be 10 digit numbers. However, it is strongly encouraged that these identifiers are stored as 36 character strings for future flexibility.
If I have a Schoology Test Environment, can I test changes beforehand?
IDs on Schoology Test have already been updated to this new format. For districts that have access to a Schoology Test environment, you can already test these changes with any integrations you've configured in that environment.