@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api SlideRoom API V2
@base https://api.slideroom.com
@version v2
@auth ApiKey token in path
@endpoints 11
@toc api(11)

@endpoint GET /api/v2/applicant/attributes/names
@desc Gets the custom applicant attributes used by the organization.
@returns(200) OK

@endpoint GET /api/v2/application/{applicationId}/attributes
@desc Gets the custom attributes for an application.
@required {applicationId: any # The ID of the application.}
@returns(200) OK

@endpoint POST /api/v2/application/{applicationId}/attributes
@desc Updates the custom attributes for an application. API Import is available in the Advanced Plan.
@required {applicationId: any # The ID of the application., data: map # The name/value pairs of the attributes.}
@returns(200) OK

@endpoint DELETE /api/v2/application/{applicationId}/attributes
@desc Deletes a custom attribute for an application.
@required {applicationId: any # The ID of the application., name: any # The name of the attribute to be deleted.}
@returns(200) OK

@endpoint GET /api/v2/application/attributes/names
@desc Gets the custom application attributes used by the organization.
@returns(200) OK

@endpoint POST /api/v2/application/{applicationId}/request-export
@desc Requests the generation of a single application export file (tabular, pdf, zip).
@required {applicationId: any # The id of the application to export}
@optional {format: any, roundType: any, roundName: any, tab.export: any, pdf.includeForms: any, pdf.includeReferences: any, pdf.includeMedia: any, pdf.includeApplicantAttachments: any, pdf.includeOrganizationAttachments: any, pdf.includeRatings: any, pdf.includeFullPageMedia: any, pdf.includeHighlights: any, pdf.includeComments: any, pdf.includeCommonApp: any, zip.originalMedia: any, zip.includeForms: any, zip.includeReferences: any, zip.includeMedia: any, zip.includeApplicantAttachments: any, zip.includeOrganizationAttachments: any, zip.includeRatings: any, zip.includeComments: any, zip.includeCommonApp: any, delivery.account: any, delivery.folder: any}
@returns(202) Accepted
@errors {400: Bad Request}

@endpoint POST /api/v2/application/request-export
@desc Requests the generation of application export files (tabular, pdf, zip).
@optional {format: any, roundType: any, roundName: any, tab.export: any, pdf.includeForms: any, pdf.includeReferences: any, pdf.includeMedia: any, pdf.includeApplicantAttachments: any, pdf.includeOrganizationAttachments: any, pdf.includeRatings: any, pdf.includeFullPageMedia: any, pdf.includeHighlights: any, pdf.includeComments: any, pdf.includeCommonApp: any, zip.originalMedia: any, zip.includeForms: any, zip.includeReferences: any, zip.includeMedia: any, zip.includeApplicantAttachments: any, zip.includeOrganizationAttachments: any, zip.includeRatings: any, zip.includeComments: any, zip.includeCommonApp: any, delivery.account: any, delivery.folder: any, since: any, pool: any, status: any, searchName: any, email: any}
@returns(200) OK

@endpoint GET /api/v2/export/{token}
@desc Gets the status/result of a requested export.
@required {token: any}
@returns(200) OK

@endpoint GET /api/v2/applicant/attributes
@desc Gets the custom attributes for an applicant.
@required {email: any # The email address of the applicant.}
@optional {pool: any, commonAppYear: any}
@returns(200) OK

@endpoint POST /api/v2/applicant/attributes
@desc Updates the custom attributes for an applicant.
@required {email: any # The email address of the applicant., data: map # The name/value pairs of the attributes.}
@optional {pool: any, commonAppYear: any}
@returns(200) OK

@endpoint DELETE /api/v2/applicant/attributes
@desc Deletes a custom attribute for an applicant.
@required {email: any # The email address of the applicant., name: any # The name of the attribute to be deleted.}
@optional {pool: any, commonAppYear: any}
@returns(200) OK

@end
