IDs
Every record has a 9-character ID. Send it back exactly as you got it.
Every record ID the API returns is a string of 9 characters, made from the digits 2 to 9 and the capital letters A to Z without I, L and O. There is no prefix.
Treat an ID as opaque text. Store it as text, compare the whole value, and pass it back exactly as you received it, in a path, a query parameter or a request body. Do not read meaning into it, shorten it, or build one yourself. Lower-case letters and spaces around the value are forgiven, but there is no reason to send anything other than what you were given.
An ID never changes. A record keeps its ID for as long as it exists, including after it is archived or deactivated, so an ID you stored last year still names the same record.
Different kinds of records never share an ID. An ID taken from one endpoint will not accidentally match a different kind of record on another.
Where IDs appear
An award has the same id as the application it was awarded on. The award’s own 8-character code, the one your institution sees on award letters, is the separate award_code field, and it may be empty on awards made before codes were issued.
Webhooks carry the same IDs as the REST API, so you can pass an ID from an event straight back to an endpoint. A webhook’s tenant_id is your institution’s ID, in the same 9-character form. Event types lists which field carries which.
Values your institution owns
Not every field whose name ends in _id is an AwardSpring ID. Values your institution owns are plain text, exactly as your institution entered them:
Payment schedules use numbers
Payment schedules do not have a 9-character ID yet. A payment schedule’s id, and the payment_schedule_ids you send when you create a scholarship, are whole numbers, exactly as the payment schedules endpoint returns them.
When an ID names nothing
An ID that is not one of your institution’s records is treated as a record that does not exist. That covers an ID from another institution, a value in the wrong form, and the whole-number IDs older versions of this API used.
See Errors for the shape of the response.
A dry run of a create returns "id": null, because nothing was saved and no ID was assigned.
Older endpoints keep integer IDs
This documentation covers the endpoints whose address starts with /api/v1/. AwardSpring also has older endpoints whose address has no version in it. They are not part of this reference, and they still use whole-number IDs. A whole number sent to a /api/v1/ endpoint as an ID names no record.