AerScheduler

Documents

Files held against members.

11 endpoints · base URL https://api.aerscheduler.com

post/userDocuments

Upload a document

Records a document against a member. Administrators may upload on someone else's behalf; whether a member can upload their own depends on the document type's restricted flag.

Request body

The document.

documentTypeIdrequiredinteger
orgUserIdrequiredinteger
namestring
expiresAtstring

Responses

200OKSuccess.{ data: UserDocument }
201CreatedSuccess.{ data: UserDocument }
400Bad RequestValidation failed.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X POST https://api.aerscheduler.com/userDocuments \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"documentTypeId":1,"orgUserId":1}'
get/userDocuments/{documentId}

Get a document

One document record.

Path parameters

documentIdrequiredintegerThe document id.

Responses

200OKSuccess.{ data: UserDocument }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
404Not FoundNo such document.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/userDocuments/:documentId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
patch/userDocuments/{documentId}

Update a document

Renames it or changes its expiry.

Path parameters

documentIdrequiredintegerThe document id.

Request body

Fields to change.

namestring
expiresAtstring

Responses

200OKSuccess.{ data: UserDocument }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X PATCH https://api.aerscheduler.com/userDocuments/:documentId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","expiresAt":"2026-08-04T15:00:00-06:00"}'
delete/userDocuments/{documentId}

Delete a document

Removes the document.

Path parameters

documentIdrequiredintegerThe document id.

Responses

204No ContentSuccess. No body.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X DELETE https://api.aerscheduler.com/userDocuments/:documentId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/userDocuments/types

List document types

Every document type in your organization.

Responses

200OKThe document types.{ data: DocumentType[] }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/userDocuments/types \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
post/userDocuments/types

Create a document type

Adds a document type to your organization. Requires the admin role.

Request body

The category. restricted: true means only administrators may upload documents of this type.

namerequiredstring
restrictedboolean

Responses

201CreatedThe document type that was created.{ data: DocumentType }
400Bad RequestThe body failed validation. message says which field.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X POST https://api.aerscheduler.com/userDocuments/types \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…"}'
post/userDocuments/{documentId}/signedUrl

Get a signed URL for a document

Returns a short-lived URL to upload or download the file. Documents are not served from a public URL.

Path parameters

documentIdrequiredintegerThe document id.

Responses

200OKSuccess.{ data: object }
400Bad RequestValidation failed.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X POST https://api.aerscheduler.com/userDocuments/:documentId/signedUrl \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/userDocuments/orgUsers/{orgUserId}

List a member's documents

Everything held against one member.

Path parameters

orgUserIdrequiredintegerThe membership id.

Responses

200OKThe documents.{ data: UserDocument[] }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/userDocuments/orgUsers/:orgUserId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
get/userDocuments/types/{documentTypeId}

Get a document type

Fetches one document type by id.

Path parameters

documentTypeIdrequiredintegerThe document type id.

Responses

200OKSuccess.{ data: DocumentType }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
404Not FoundNo such document type, or it belongs to another organization.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/userDocuments/types/:documentTypeId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
patch/userDocuments/types/{documentTypeId}

Update a document type

Changes the fields you send and leaves the rest alone. Requires the admin role.

Path parameters

documentTypeIdrequiredintegerThe document type id.

Request body

Fields to change.

namestring
restrictedboolean

Responses

200OKThe updated document type.{ data: DocumentType }
400Bad RequestThe body failed validation.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X PATCH https://api.aerscheduler.com/userDocuments/types/:documentTypeId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","restricted":true}'
delete/userDocuments/types/{documentTypeId}

Delete a document type

Removes the document type. Requires the admin role.

Path parameters

documentTypeIdrequiredintegerThe document type id.

Responses

204No ContentSuccess. No body.
400Bad RequestThe document type could not be deleted — usually because something still references it.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X DELETE https://api.aerscheduler.com/userDocuments/types/:documentTypeId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"