Currencies
Recurring requirements members must stay current on.
11 endpoints · base URL https://api.aerscheduler.com
/currenciesList my currencies
The signed-in member's standing against every tracked requirement.
Query parameters
limit | integer | Rows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected. |
offset | integer | Rows to skip, for paging. Defaults to 0. |
sort | string | Field to order by before paging, as a dot path into the row , total, user.firstName. Omit to keep the endpoint's own order. Numbers and ISO timestamps order as numbers and instants, not as text, and empty values always sort last regardless of direction. Ordering happens before the page is cut, so it orders the whole collection rather than the page you are holding. |
order | "asc" | "desc" | asc (default) or desc. Only meaningful with sort. |
Responses
200 | OK | The currency records.→ { data: Currency[] } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/currencies \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/currencies/{currencyId}Get a currency record
Note this takes a CURRENCY id, not a currency-type id , the two are one path segment apart and are easy to confuse.
Path parameters
currencyIdrequired | integer | The currency id. |
Responses
200 | OK | Success.→ { data: Currency } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Not yours to see. |
404 | Not Found | No such currency. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/currencies/:currencyId \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/currencies/{currencyId}Renew a currency
Signs off a renewal and starts a new period. Who may do this is governed by the currency type's canRenewSelf / instructorCanRenew / dispatcherCanRenew flags.
Path parameters
currencyIdrequired | integer | The currency id. |
Request body
The renewal.
completedAt | string |
Responses
201 | Created | Success.→ { data: Currency } |
400 | Bad Request | Validation failed. |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | You may not renew this one. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X POST https://api.aerscheduler.com/currencies/:currencyId \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"completedAt":"2026-08-04T15:00:00-06:00"}'/currencies/{currencyId}Update a currency record
Adjusts the dates on one member's standing.
Path parameters
currencyIdrequired | integer | The currency id. |
Responses
200 | OK | Success.→ { data: Currency } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Not yours to edit. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X PATCH https://api.aerscheduler.com/currencies/:currencyId \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/currencies/typesList currency types
Every currency type in your organization.
Query parameters
limit | integer | Rows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected. |
offset | integer | Rows to skip, for paging. Defaults to 0. |
sort | string | Field to order by before paging, as a dot path into the row , total, user.firstName. Omit to keep the endpoint's own order. Numbers and ISO timestamps order as numbers and instants, not as text, and empty values always sort last regardless of direction. Ordering happens before the page is cut, so it orders the whole collection rather than the page you are holding. |
order | "asc" | "desc" | asc (default) or desc. Only meaningful with sort. |
Responses
200 | OK | The currency types.→ { data: CurrencyType[] } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/currencies/types \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/currencies/typesCreate a currency type
Adds a currency type to your organization. Requires the admin role.
Request body
The requirement to track. Attaching member groups is what actually creates the per-member Currency records , a type created with no groups tracks nobody.
namerequired | string | |
description | string | |
expiresInMonths | integer | |
expiresInDays | integer | |
warningPeriodInDays | integer | |
canRenewSelf | boolean | |
instructorCanRenew | boolean | |
dispatcherCanRenew | boolean | |
orgUserGroupIds | integer[] |
Responses
201 | Created | The currency type that was created.→ { data: CurrencyType } |
400 | Bad Request | The body failed validation. message says which field. |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X POST https://api.aerscheduler.com/currencies/types \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"…"}'/currencies/types/{currencyTypeId}Get a currency type
Fetches one currency type by id.
Path parameters
currencyTypeIdrequired | integer | The currency type id. |
Responses
200 | OK | Success.→ { data: CurrencyType } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
404 | Not Found | No such currency type, or it belongs to another organization. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/currencies/types/:currencyTypeId \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/currencies/types/{currencyTypeId}Update a currency type
Changes the fields you send and leaves the rest alone. Requires the admin role.
Path parameters
currencyTypeIdrequired | integer | The currency type id. |
Request body
Fields to change.
name | string | |
active | boolean | |
expiresInMonths | integer | |
orgUserGroupIds | integer[] |
Responses
200 | OK | The updated currency type.→ { data: CurrencyType } |
400 | Bad Request | The body failed validation. |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X PATCH https://api.aerscheduler.com/currencies/types/:currencyTypeId \
-H "Authorization: Bearer $AERSCHEDULER_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"…","active":true}'/currencies/types/{currencyTypeId}Delete a currency type
Removes the currency type. Requires the admin role.
Path parameters
currencyTypeIdrequired | integer | The currency type id. |
Responses
204 | No Content | Success. No body. |
400 | Bad Request | The currency type could not be deleted , usually because something still references it. |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl -X DELETE https://api.aerscheduler.com/currencies/types/:currencyTypeId \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/currencies/types/{currencyTypeId}/currenciesList a type's currency records
Everyone's standing against one requirement.
Path parameters
currencyTypeIdrequired | integer | The currency type id. |
Query parameters
limit | integer | Rows to return, 1,1000. Defaults to 1000; a larger value is clamped rather than rejected. |
offset | integer | Rows to skip, for paging. Defaults to 0. |
sort | string | Field to order by before paging, as a dot path into the row , total, user.firstName. Omit to keep the endpoint's own order. Numbers and ISO timestamps order as numbers and instants, not as text, and empty values always sort last regardless of direction. Ordering happens before the page is cut, so it orders the whole collection rather than the page you are holding. |
order | "asc" | "desc" | asc (default) or desc. Only meaningful with sort. |
Responses
200 | OK | The currency records.→ { data: Currency[] } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Authenticated, but not allowed to do this. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/currencies/types/:currencyTypeId/currencies \
-H "Authorization: Bearer $AERSCHEDULER_KEY"/currencies/types/{currencyTypeId}/detailGet a currency rule detail
The rule, status totals, and a page of member standings with attached and missing document evidence.
Path parameters
currencyTypeIdrequired | integer | The currency type id. |
Query parameters
q | string | Search member name or email. |
status | "current" | "expiring" | "expired" | "notSignedOff" | Only return members in this standing. |
limit | integer | Maximum member rows to return. |
offset | integer | Member rows to skip. |
Responses
200 | OK | Success.→ { data: CurrencyRuleDetail } |
401 | Unauthorized | No token, an expired token, or a malformed one. Sign in again. |
403 | Forbidden | Only administrators and dispatchers in this organization may view the roster. |
404 | Not Found | No such currency rule. |
429 | Too Many Requests | Rate limited. Retry-After says how long to wait. |
curl https://api.aerscheduler.com/currencies/types/:currencyTypeId/detail \
-H "Authorization: Bearer $AERSCHEDULER_KEY"