openapi: 3.0.0 info: description: UCOATS Import specs version: 1.0.0 title: UCOATS servers: - url: 'https://ucoats-test.visual.ucla.edu/ucla-ws/ws/v1/import/' description: UCOATS Site tags: - name: Upload description: Endpoints to handle the upload of data paths: '/app/faculty/exceptionFile/{upload_id}': get: tags: - Upload summary: Return annotated exception file for the import request description: Return annotated exception file for the import request parameters: - name: upload_id in: path description: the identifier for the file upload or word 'last'. required: true schema: type: string responses: '200': description: OK '/app/faculty/status/{upload_id}': get: tags: - Upload summary: Check on status of faculty import request description: Check on status of faculty import request - parameters: - name: upload_id in: path description: the identifier for the file upload or word 'last'. required: true schema: type: string responses: '200': description: OK content: application/json: schema: anyOf: - $ref: '#/components/schemas/file_uploaded' - $ref: '#/components/schemas/processing' - $ref: '#/components/schemas/processing_scheduled' - $ref: '#/components/schemas/validating' - $ref: '#/components/schemas/complete_with_exceptions' - $ref: '#/components/schemas/complete_successful' - $ref: '#/components/schemas/invalid_file' - $ref: '#/components/schemas/invalid' examples: "File Uploaded": $ref: '#/components/examples/file_uploaded' "Processing": $ref: '#/components/examples/processing' "Processing Scheduled": $ref: '#/components/examples/processing_scheduled' "Validating": $ref: '#/components/examples/validating' "Complete With Exceptions": $ref: '#/components/examples/complete_with_exceptions' "Complete Successful": $ref: '#/components/examples/complete_successful' "Invalid File": $ref: '#/components/examples/invalid_file' "Invalid": $ref: '#/components/examples/invalid' '/app/faculty/upload': post: tags: - Upload summary: Check on status of faculty import request description: Check on status of faculty import request - parameters: - name: file_upload in: header description: the faculty import file required: true schema: type: string - name: fiscal_year in: header description: the fiscal year of the data. Format XXXX-YYYY required: true schema: type: string responses: '200': description: OK content: application/json: schema: anyOf: - $ref: '#/components/schemas/file_uploaded' - $ref: '#/components/schemas/invalid_file' - $ref: '#/components/schemas/invalid' examples: "File Uploaded": $ref: '#/components/examples/file_uploaded' "Invalid File": $ref: '#/components/examples/invalid_file' "Invalid": $ref: '#/components/examples/invalid' '/app/faculty/separation/exceptionFile/{upload_id}': get: tags: - Upload summary: Return annotated exception file for the separation request description: Return annotated exception file for the separation request parameters: - name: upload_id in: path description: the identifier for the file upload or word 'last'. required: true schema: type: string responses: '200': description: OK '/app/faculty/separation/status/{upload_id}': get: tags: - Upload summary: Check on status of faculty separation request description: Check on status of faculty separation request - parameters: - name: upload_id in: path description: the identifier for the file upload or word 'last'. required: true schema: type: string responses: '200': description: OK content: application/json: schema: anyOf: - $ref: '#/components/schemas/file_uploaded' - $ref: '#/components/schemas/processing' - $ref: '#/components/schemas/processing_scheduled' - $ref: '#/components/schemas/validating' - $ref: '#/components/schemas/complete_with_exceptions' - $ref: '#/components/schemas/complete_successful' - $ref: '#/components/schemas/invalid_file' - $ref: '#/components/schemas/invalid' examples: "File Uploaded": $ref: '#/components/examples/file_uploaded' "Processing": $ref: '#/components/examples/processing' "Processing Scheduled": $ref: '#/components/examples/processing_scheduled' "Validating": $ref: '#/components/examples/validating' "Complete With Exceptions": $ref: '#/components/examples/complete_with_exceptions' "Complete Successful": $ref: '#/components/examples/complete_successful' "Invalid File": $ref: '#/components/examples/invalid_file' "Invalid": $ref: '#/components/examples/invalid' '/app/faculty/separation/upload': post: tags: - Upload summary: Check on status of faculty separation request description: Check on status of faculty separation request - parameters: - name: file_upload in: header description: the faculty separation file required: true schema: type: string - name: fiscal_year in: header description: the fiscal year of the data. Format XXXX-YYYY required: true schema: type: string responses: '200': description: OK content: application/json: schema: anyOf: - $ref: '#/components/schemas/file_uploaded' - $ref: '#/components/schemas/invalid_file' - $ref: '#/components/schemas/invalid' examples: "File Uploaded": $ref: '#/components/examples/file_uploaded' "Invalid File": $ref: '#/components/examples/invalid_file' "Invalid": $ref: '#/components/examples/invalid' '/app/staff/exceptionFile/{upload_id}': get: tags: - Upload summary: Return annotated exception file for the staff import request description: Return annotated exception file for the staff import request parameters: - name: upload_id in: path description: the identifier for the file upload or word 'last'. required: true schema: type: string responses: '200': description: OK '/app/staff/status/{upload_id}': get: tags: - Upload summary: Check on status of staff import request description: Check on status of staff import request - parameters: - name: upload_id in: path description: the identifier for the file upload or word 'last'. required: true schema: type: string responses: '200': description: OK content: application/json: schema: anyOf: - $ref: '#/components/schemas/file_uploaded' - $ref: '#/components/schemas/processing' - $ref: '#/components/schemas/processing_scheduled' - $ref: '#/components/schemas/validating' - $ref: '#/components/schemas/complete_with_exceptions' - $ref: '#/components/schemas/complete_successful' - $ref: '#/components/schemas/invalid_file' - $ref: '#/components/schemas/invalid' examples: "File Uploaded": $ref: '#/components/examples/file_uploaded' "Processing": $ref: '#/components/examples/processing' "Processing Scheduled": $ref: '#/components/examples/processing_scheduled' "Validating": $ref: '#/components/examples/validating' "Complete With Exceptions": $ref: '#/components/examples/complete_with_exceptions' "Complete Successful": $ref: '#/components/examples/complete_successful' "Invalid File": $ref: '#/components/examples/invalid_file' "Invalid": $ref: '#/components/examples/invalid' '/app/staff/upload': post: tags: - Upload summary: Check on status of staff import request description: Check on status of staff import request - parameters: - name: file_upload in: header description: the staff import file required: true schema: type: string - name: fiscal_year in: header description: the fiscal year of the data. Format XXXX-YYYY required: true schema: type: string responses: '200': description: OK content: application/json: schema: anyOf: - $ref: '#/components/schemas/file_uploaded' - $ref: '#/components/schemas/invalid_file' - $ref: '#/components/schemas/invalid' examples: "File Uploaded": $ref: '#/components/examples/file_uploaded' "Invalid File": $ref: '#/components/examples/invalid_file' "Invalid": $ref: '#/components/examples/invalid' components: schemas: validating: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "VALIDATING" response_message: type: string example: "System is currently validating rows in the file" response_body: required: - upload_id properties: upload_id: type: string example: "123" file_uploaded: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "FILE_UPLOADED" response_message: type: string example: "File uploaded and validating now" response_body: required: - upload_id properties: upload_id: type: string example: "123" complete_with_exceptions: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "COMPLETE_WITH_EXCEPTIONS" response_message: type: string example: "Some faculty records could not be processed" response_body: required: - upload_id properties: upload_id: type: string example: "123" records_failed: type: string example: "7" total_imported: type: string example: "3" complete_successful: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "COMPLETE_SUCCESSFUL" response_message: type: string example: "All records were processed successfully" response_body: required: - upload_id properties: upload_id: type: string example: "123" total_imported: type: string example: "3" processing: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "PROCESSING" response_message: type: string example: "Import File is being processed" response_body: required: - upload_id properties: upload_id: type: string example: "123" processing_scheduled: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "PROCESSING_SCHEDULED" response_message: type: string example: "Import file request is in queue" response_body: required: - upload_id properties: upload_id: type: string example: "123" invalid_file: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "INVALID_FILE" response_message: type: string example: "File needs to have an extension .tsv or .txt and be in tab delimited" response_body: type: string example: {} invalid: type: object required: - response_code - response_message - response_body properties: response_code: type: string example: "INVALID" response_message: type: string example: "Import exception file not ready. Import status has to be in either complete_with_exception or complete_successful" response_body: type: string example: {} examples: validating: value: response_code: "VALIDATING" response_message: "System is currently validating rows in the file" response_body: upload_id: "123" file_uploaded: value: response_code: "FILE_UPLOADED" response_message: "File uploaded and validating now" response_body: upload_id: example: "123" complete_with_exceptions: value: response_code: "COMPLETE_WITH_EXCEPTIONS" response_message: "Some faculty records could not be processed" response_body: upload_id: "123" records_failed: "7" total_imported: "3" complete_successful: value: response_code: "COMPLETE_SUCCESSFUL" response_message: "All records were processed successfully" response_body: upload_id: "123" total_imported: "3" processing: value: response_code: "PROCESSING" response_message: "Import File is being processed" response_body: upload_id: "123" processing_scheduled: value: response_code: "PROCESSING_SCHEDULED" response_message: "Import file request is in queue" response_body: upload_id: example: "123" invalid_file: value: response_code: "INVALID_FILE" response_message: "File needs to have an extension .tsv or .txt and be in tab delimited" response_body: {} invalid: value: response_code: "INVALID" response_message: "Import exception file not ready. Import status has to be in either complete_with_exception or complete_successful" response_body: {}