swagger: '2.0'
info: 
  title: File Submission
  description: File Submission web service. Implemented with C21 intended to replace MFET and TAP Submitter SOAP services.
  version: ""
host: 'tax-interfaces.tax.utah.gov'
basePath: /Interfaces/FileSubmission/
schemes: 
  - https
paths: 
  /Query: 
    get: 
      tags: 
        - File Submission Query
      summary: File Submission Query
      description: ""
      operationId: QueryGET
      produces: 
        - application/json
      parameters: 
        - name: DateFrom
          in: query
          description: Submission Initiated DateTime From
          required: true
          type: string
          format: 'date-time'
        - name: DateTo
          in: query
          description: Submission Initiated DateTime To
          required: false
          type: string
          format: 'date-time'
        - name: SubmissionType
          in: query
          description: "Submission Type<br>\r\n**Enumeration Values:**\r\n* **TC109** - TC-109 Fuels Return XML File TC-109 Fuels XML\r\n* **WS1099** - 1099 Fixed Length File 1099 fixed length file submission\r\n* **WS675R** - 675R Mineral Withholding Fixed Length File 675R Mineral Withholding fixed length file submission\r\n* **WS941** - 941 Withholding Return Fixed Length File (pre 2017) 941 - Withholding return fixed length file submission (pre-2017 periods)\r\n* **WS941E** - 941E Withholding Fixed Length File 941E - Withholding return fixed length file submission\r\n* **WS941M** - 941M Mineral Withholding Fixed Length File 941M - Mineral Withholding fixed length file submission\r\n* **WS941R** - 941 Withholding Recon Fixed Length File (pre 2017) 941 - Withholding Recon fixed length file submission (pre-2017 periods)\r\n* **WSW2** - W2 Fixed Length File W2 fixed length file submission\r\n* **WSW2C** - W2 Correction Fixed Length File W2 Correction fixed length file submission\r\n"
          required: false
          type: string
          enum: 
            - TC109
            - WS1099
            - WS675R
            - WS941
            - WS941E
            - WS941M
            - WS941R
            - WSW2
            - WSW2C
        - name: PageSize
          in: query
          description: 'Response Page Size. Default: 100'
          required: false
          type: number
          format: int32
          maximum: 1000
          minimum: 10
        - name: Page
          in: query
          description: Results Page to View. Indexed from 1
          required: false
          type: number
          format: int32
      responses: 
        default: 
          description: ' '
          schema: 
            $ref: '#/definitions/Query_GET_Response'
  /Status: 
    post: 
      tags: 
        - File Submission Stratus Inquiry
      summary: File Submission Status Inquiry
      description: ""
      operationId: StatusPOST
      consumes: 
        - application/json
      produces: 
        - application/json
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            $ref: '#/definitions/Status_POST_Request'
      responses: 
        default: 
          description: ' '
          schema: 
            $ref: '#/definitions/Status_POST_Response'
  /Upload/FL1099: 
    post: 
      tags: 
        - 'Upload Fixed Length File - 1099'
      summary: 'Upload Fixed Length File - 1099'
      description: ""
      operationId: Upload/FL1099POST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/FL675R: 
    post: 
      tags: 
        - 'Upload Fixed Length File - TC-675R'
      summary: 'Upload Fixed Length File - TC-675R'
      description: ""
      operationId: Upload/FL675RPOST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/FL941: 
    post: 
      tags: 
        - 'Upload Fixed Length File - TC-941'
      summary: 'Upload Fixed Length File - TC-941'
      description: ""
      operationId: Upload/FL941POST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/FL941E: 
    post: 
      tags: 
        - 'Upload Fixed Length File - TC-941E'
      summary: 'Upload Fixed Length File - TC-941E'
      description: ""
      operationId: Upload/FL941EPOST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/FL941M: 
    post: 
      tags: 
        - 'Upload Fixed Length File - TC-941M'
      summary: 'Upload Fixed Length File - TC-941M'
      description: ""
      operationId: Upload/FL941MPOST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/FL941R: 
    post: 
      tags: 
        - 'Upload Fixed Length File - TC-941R'
      summary: 'Upload Fixed Length File - TC-941R'
      description: ""
      operationId: Upload/FL941RPOST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/FLW2: 
    post: 
      tags: 
        - 'Upload Fixed Length File - W2'
      summary: 'Upload Fixed Length File - W2'
      description: ""
      operationId: Upload/FLW2POST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/FLW2C: 
    post: 
      tags: 
        - 'Upload Fixed Length File - W2C'
      summary: 'Upload Fixed Length File - W2C'
      description: ""
      operationId: Upload/FLW2CPOST
      consumes: 
        - text/plain
      produces: 
        - text/plain
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"FileText\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
  /Upload/XML109: 
    post: 
      tags: 
        - 'Upload XML File - TC-109'
      summary: 'Upload XML File - TC-109'
      description: ""
      operationId: Upload/XML109POST
      consumes: 
        - text/xml
      produces: 
        - text/xml
      parameters: 
        - name: body
          in: body
          required: true
          schema: 
            type: string
            example: "{\r\n\t\"Raw XML file\": <String>\r\n}"
      responses: 
        '200': 
          description: OK
          schema: 
            type: string
        '404': 
          description: Resource not found
          schema: 
            type: string
        '400': 
          description: Bad Request
          schema: 
            type: string
        default: 
          description: ' '
          schema: 
            type: string
            example: "HTTP Status: 200 - OK\r\n{\r\n\t\"SubmissionID\": <String>\r\n}\r\nHTTP Status: 404 - NotFound\r\nNo Response Body\r\nHTTP Status: 400 - BadRequest\r\n{\r\n\t\"Errors\": [\r\n\t\t{\r\n\t\t\t\"Text\": <String>,\r\n\t\t\t\"Line\": <Int32>,\r\n\t\t\t\"RecordIdentifier\": <String>,\r\n\t\t\t\"FieldName\": <String>\r\n\t\t}\r\n\t]\r\n}\r\n"
definitions: 
  Status_POST_Request: 
    type: object
    required: 
      - Submissions
    properties: 
      Submissions: 
        type: array
        description: Submissions
        items: 
          type: string
          description: Submission Id
  Query_GET_Response: 
    type: object
    required: 
      - Submissions
    properties: 
      Submissions: 
        type: array
        description: Submissions Array
        items: 
          type: object
          description: Submissions object
          required: 
            - SubmissionId
            - Type
            - Status
            - Uploaded
          properties: 
            SubmissionId: 
              type: string
              description: Submission Id
            Type: 
              type: string
              description: "Submission Type<br>\r\n**Enumeration Values:**\r\n* **TC109** - TC-109 Fuels Return XML File TC-109 Fuels XML\r\n* **WS1099** - 1099 Fixed Length File 1099 fixed length file submission\r\n* **WS675R** - 675R Mineral Withholding Fixed Length File 675R Mineral Withholding fixed length file submission\r\n* **WS941** - 941 Withholding Return Fixed Length File (pre 2017) 941 - Withholding return fixed length file submission (pre-2017 periods)\r\n* **WS941E** - 941E Withholding Fixed Length File 941E - Withholding return fixed length file submission\r\n* **WS941M** - 941M Mineral Withholding Fixed Length File 941M - Mineral Withholding fixed length file submission\r\n* **WS941R** - 941 Withholding Recon Fixed Length File (pre 2017) 941 - Withholding Recon fixed length file submission (pre-2017 periods)\r\n* **WSW2** - W2 Fixed Length File W2 fixed length file submission\r\n* **WSW2C** - W2 Correction Fixed Length File W2 Correction fixed length file submission\r\n"
              enum: 
                - TC109
                - WS1099
                - WS675R
                - WS941
                - WS941E
                - WS941M
                - WS941R
                - WSW2
                - WSW2C
            Status: 
              type: string
              description: "Submission status<br>\r\n**Enumeration Values:**\r\n* **NOTFOUND** - Submission cannot be found.\r\n* **INPROGRESS** - Submission is in processing.\r\n* **PROCESSED** - Submission has been successfully processed.\r\n"
              enum: 
                - NOTFOUND
                - INPROGRESS
                - PROCESSED
            Uploaded: 
              type: string
              format: 'date-time'
              description: Submission Uploaded DateTime
  Status_POST_Response: 
    type: object
    required: 
      - Submissions
    properties: 
      Submissions: 
        type: array
        description: Submissions Array
        items: 
          type: object
          description: Submissions object
          required: 
            - SubmissionId
            - Type
            - Status
            - Uploaded
          properties: 
            SubmissionId: 
              type: string
              description: Submission Id
            Type: 
              type: string
              description: "Submission Type<br>\r\n**Enumeration Values:**\r\n* **TC109** - TC-109 Fuels Return XML File TC-109 Fuels XML\r\n* **WS1099** - 1099 Fixed Length File 1099 fixed length file submission\r\n* **WS675R** - 675R Mineral Withholding Fixed Length File 675R Mineral Withholding fixed length file submission\r\n* **WS941** - 941 Withholding Return Fixed Length File (pre 2017) 941 - Withholding return fixed length file submission (pre-2017 periods)\r\n* **WS941E** - 941E Withholding Fixed Length File 941E - Withholding return fixed length file submission\r\n* **WS941M** - 941M Mineral Withholding Fixed Length File 941M - Mineral Withholding fixed length file submission\r\n* **WS941R** - 941 Withholding Recon Fixed Length File (pre 2017) 941 - Withholding Recon fixed length file submission (pre-2017 periods)\r\n* **WSW2** - W2 Fixed Length File W2 fixed length file submission\r\n* **WSW2C** - W2 Correction Fixed Length File W2 Correction fixed length file submission\r\n"
              enum: 
                - TC109
                - WS1099
                - WS675R
                - WS941
                - WS941E
                - WS941M
                - WS941R
                - WSW2
                - WSW2C
            Status: 
              type: string
              description: "Submission status<br>\r\n**Enumeration Values:**\r\n* **NOTFOUND** - Submission cannot be found.\r\n* **INPROGRESS** - Submission is in processing.\r\n* **PROCESSED** - Submission has been successfully processed.\r\n"
              enum: 
                - NOTFOUND
                - INPROGRESS
                - PROCESSED
            Uploaded: 
              type: string
              format: 'date-time'
              description: Submission Uploaded DateTime