openapi: 3.0.1
info:
  title: IMSJobs
  version: v1
  description: Initiate pre-configured report jobs that are set up in SEI's End Client Reporting application.
servers:
  - url: 'https://build.api.seic.com/v1/jobs'
    description: Integration Server with masked data.
  - url: 'https://test.api.seic.com/v1/jobs'
    description: Test Server with unmasked data.
  - url: 'https://api.seic.com/v1/jobs'
    description: Production Server with unmasked data.
paths:
  /{businessLine}/metadata:
    get:
      tags:
      - Metadata
      operationId: jobsMetadata
      summary: Returns a list of available jobs and its identifiers that the user is entitled to view.
      parameters:
      - name: businessLine
        in: path
        required: true
        description: This parameter defines the business line the job belongs to. Valid value is endClientReporting.
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        description: access_token value obtained from the Token endpoint.This is passed as "Bearer access_token"
        schema:
          type: string
      - name: AppKey
        in: header
        required: true
        description: This is the Consumer Key provided during the App Registration process and is used to identify the user's application.
        schema:
          type: string
      responses:
        200:
          description: OK- The request has succeeded and the response has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledTasksMetadata'
        400:
          description: Bad request - The server cannot or will not process the request
            due to an inaccurate request submitted by the client application.  Please
            resubmit the request after making the required corrections indicated in
            the error response.  For more Info on SEI Error Standards please refer
            to the API Standards FAQ under Support.
          content:
            application/json:
              schema:
                type: string
        401:
          description: Unauthorized - Invalid authentication details have been provided.  Also
            useful to trigger an authorization pop up if the API is used from a browser.
          content:
            application/json:
              schema:
                type: string
        403:
          description: Forbidden-The SEI Server understood the request but refuses
            to fulfill it.
          content:
            application/json:
              schema:
                type: string
        404:
          description: Not Found- The requested resource or the underlying resource
            does not exist.  Please resubmit the request after making the required
            corrections
          content:
            application/json:
              schema:
                type: string
        500:
          description: Internal Server Error - The server was unable to fulfill the
            request due to an unknown condition. Please contact SEI for support. For
            More Info please refer to the "Response & Errors" FAQ under support.
          content:
            application/json:
              schema:
                type: string
  /{businessLine}/details/{scheduledTaskId}:
    get:
      tags:
      - Details
      operationId: jobDetails
      summary: Returns details associated with the schedule, including the schedule name, last run date, next run date and additional information for a specific scheduled task Id.
      parameters:
      - name: businessLine
        in: path
        required: true
        description: This parameter defines the business line the job belongs to. Valid value is endClientReporting.
        schema:
          type: string
      - name: scheduledTaskId
        in: path
        required: true
        description: The identifier required to request a pre-configured report be run. The list of entitled ids can be obtained from the jobMetadata API call.
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        description: access_token value obtained from the Token endpoint.This is passed as "Bearer access_token"
        schema:
          type: string
      - name: AppKey
        in: header
        required: true
        description: This is the Consumer Key provided during the App Registration process and is used to identify the user's application.
        schema:
          type: string
      responses:
        200:
          description: OK- The request has succeeded and the response has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledTasksDetails'
        400:
          description: Bad request - The server cannot or will not process the request
            due to an inaccurate request submitted by the client application.  Please
            resubmit the request after making the required corrections indicated in
            the error response.  For more Info on SEI Error Standards please refer
            to the API Standards FAQ under Support.
          content:
            application/json:
              schema:
                type: string
        401:
          description: Unauthorized - Invalid authentication details have been provided.  Also
            useful to trigger an authorization pop up if the API is used from a browser.
          content:
            application/json:
              schema:
                type: string
        403:
          description: Forbidden-The SEI Server understood the request but refuses
            to fulfill it.
          content:
            application/json:
              schema:
                type: string
        404:
          description: Not Found- The requested resource or the underlying resource
            does not exist.  Please resubmit the request after making the required
            corrections
          content:
            application/json:
              schema:
                type: string
        500:
          description: Internal Server Error - The server was unable to fulfill the
            request due to an unknown condition. Please contact SEI for support. For
            More Info please refer to the "Response & Errors" FAQ under support.
          content:
            application/json:
              schema:
                type: string
  /{businessLine}/schedule/{id}:
    post:
      tags:
      - Scheduler
      operationId: jobScheduler
      summary: Kick off execution of the pre configured report that the user is authorized to run.
      parameters:
      - name: businessLine
        in: path
        required: true
        description: This parameter defines the business line the job belongs to. Valid value is endClientReporting
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: The identifier required to request a pre-configured report be run. The list of entitled ids can be obtained from the jobMetadata API call.
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        description: access_token value obtained from the Token endpoint.This is passed as "Bearer access_token"
        schema:
          type: string
      - name: AppKey
        in: header
        required: true
        description: This is the Consumer Key provided during the App Registration process and is used to identify the user's application.
        schema:
          type: string
      responses:
        200:
          description: OK- The request has succeeded and the response has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scheduleData'
        400:
          description: Bad request - The server cannot or will not process the request
            due to an inaccurate request submitted by the client application.  Please
            resubmit the request after making the required corrections indicated in
            the error response.  For more Info on SEI Error Standards please refer
            to the API Standards FAQ under Support.
          content:
            application/json:
              schema:
                type: string
        401:
          description: Unauthorized - Invalid authentication details have been provided.  Also
            useful to trigger an authorization pop up if the API is used from a browser.
          content:
            application/json:
              schema:
                type: string
        403:
          description: Forbidden-The SEI Server understood the request but refuses
            to fulfill it.
          content:
            application/json:
              schema:
                type: string
        404:
          description: Not Found- The requested resource or the underlying resource
            does not exist.  Please resubmit the request after making the required
            corrections
          content:
            application/json:
              schema:
                type: string
        500:
          description: Internal Server Error - The server was unable to fulfill the
            request due to an unknown condition. Please contact SEI for support. For
            More Info please refer to the "Response & Errors" FAQ under support.
          content:
            application/json:
              schema:
                type: string
  /{businessLine}/status/{key}:
    get:
      tags:
      - Status
      operationId: jobStatus
      summary: Returns the status of the job request, such as queued, running or complete.
      parameters:
      - name: businessLine
        in: path
        required: true
        description: This parameter defines the business line the job belongs to. Valid value is endClientReporting
        schema:
          type: string
      - name: key
        in: path
        required: true
        description: This value is returned by the POST schedule API in the response as "jobStatusQueryKey".
        schema:
          type: string
      - name: Authorization
        in: header
        required: true
        description: access_token value obtained from the Token endpoint.This is passed as "Bearer access_token"
        schema:
          type: string
      - name: AppKey
        in: header
        required: true
        description: This is the Consumer Key provided during the App Registration process and is used to identify the user's application.
        schema:
          type: string
      responses:
        200:
          description: OK- The request has succeeded and the response has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/statusData'
        400:
          description: Bad request - The server cannot or will not process the request
            due to an inaccurate request submitted by the client application.  Please
            resubmit the request after making the required corrections indicated in
            the error response.  For more Info on SEI Error Standards please refer
            to the API Standards FAQ under Support.
          content:
            application/json:
              schema:
                type: string
        401:
          description: Unauthorized - Invalid authentication details have been provided.  Also
            useful to trigger an authorization pop up if the API is used from a browser.
          content:
            application/json:
              schema:
                type: string
        403:
          description: Forbidden-The SEI Server understood the request but refuses
            to fulfill it.
          content:
            application/json:
              schema:
                type: string
        404:
          description: Not Found- The requested resource or the underlying resource
            does not exist.  Please resubmit the request after making the required
            corrections
          content:
            application/json:
              schema:
                type: string
        500:
          description: Internal Server Error - The server was unable to fulfill the
            request due to an unknown condition. Please contact SEI for support. For
            More Info please refer to the "Response & Errors" FAQ under support.
          content:
            application/json:
              schema:
                type: string
components:
  schemas:
    scheduleData:
      type: object
      properties:
        jobStatusQueryKey:
          type: string
          description: The identifier returned to acknowledge a request has been submitted and is being processed. This identifier can typically be used with another API to get the current status of the request.
          example: NC8yMi8xOSAyMzoyMzo1OQ==
    statusData:
      type: object
      properties:
        jobStatus:
          type: string
          description: The status of the job scheduled. Valid values are Queuing,error, completed and running
          example: Running
        batchId:
          type: integer
          description: SEI Accounting system generated identifier for batch representing a group of journal entries
          example: 23150
    ScheduledTasksMetadata:
      type: object
      properties:
        scheduledTaskId:
          type: string
          description: "The identifier required to request a pre-configured report be run."
          example: 999
        scheduledTaskName:
          type: string
          description: "The name that represents the schedule associated with a pre-configured report. This name can be different from the actual report name."
    ScheduledTasksDetails:
      type: object
      properties:
        scheduledTaskId:
          type: integer
          description: "The identifier required to request a pre-configured report be run."
          example: 999
        scheduledTaskName:
          type: string
          description: "The name that represents the schedule associated with a pre-configured report. This name can be different from the actual report name."
        messageText:
          type: string
          description: "Confirmation that the job for the schedule has been queued to be triggered."
          example: Successfully queued ecr request.
        scheduledTaskFrequencyId:
          type: integer
          description: "Frequency of the schedule. Values can be ‘one time’, ‘daily’, ‘weekly’, ‘monthly’ or ‘adhoc’."
          example: 7
        scheduledTaskRequestTypeId:
          type: string
          description: ""
        requestParameters:
          type: string
          description: "Pre configured report parameters are preset. "
        clientId:
          type: integer
          description: "This is the four digit internal SEI client identifier to be used for quickly identifying clients."
        activeFlag:
          type: boolean
          description: "Identifies if the schedule is still active. If active, value will be 'true', if inactive, value will be 'false'. An inactive schedule will no longer be run at any frequency."
          example: true
        insertedBy:
          type: string
          description: "The id of the person who created the schedule."
        insertDate:
          type: string
          description: "The date time the schedule was initially created."
          example: 2018-01-01T00:00:00
        updatedBy:
          type: string
          description: "The id of the person who last modified the schedule."
        updateDate:
          type: string
          description: "The date time the schedule was last modified."
          example: 2018-03-31T00:00:00
        nextRunDate:
          type: string
          description: "The next scheduled run date. If the run date is in the past, the schedule is expired and will no longer run."
          example: 2018-04-01T16:00:00
        lastRunDate:
          type: string
          description: "The last date time the schedule was run, either through the schedule or ad hoc. This can be a scheduled or ad hoc run."
          example: 2018-03-01T14:36:40.6260581
        lastScheduledRunDate:
          type: string
          description: "The actual date and time when the schedule actually ran."
          example: 2018-03-01T14:36:10.8034748
        lastCompletionDate:
          type: string
          description: "The last time the schedule was run successfully."
          example: 2018-03-01T14:36:40.6400619
        timeZoneSystemId:
          type: string
          description: "The time zone associated with the schedule and any date times in a response."
          example: Eastern Standard Time
        startDate:
          type: string
          description: "The earliest date within a range in ISO 8601 format YYYY-MM-DD."
          example: 2018-01-01T16:00:00
        endDate:
          type: string
          description: "The latest date within a range in ISO 8601 format YYYY-MM-DD."
          example: 2018-12-31T17:00:00
        cancelFlag:
          type: string
          description: "Identifies if the schedule was canceled. Value options are 'true' or 'false'."
          example: false
        cancelledBy:
          type: string
          description: "Identifies the database id of the user who canceled the schedule."
        scheduledTaskExecutionId:
          type: string
          description: ""
        monthDay:
          type: string
          description: "The day of the month for which the schedule is set up for a run. This option appears if user selects the Period as Monthly under the ‘Frequency’ tab. 1 is the first day of the month, 2 the second day, etc."
        weekDays:
          type: string
          description: "The day(s) of the week for which the schedule has been set up to run. These are supposed to be the days checked under the ‘Weekly’ option."
        businessCalendarId:
          type: string
          description: "The id of the calendar that is being used to determine the business days if the ‘Business Days Only’ check-box has been checked. Values are ‘NYSE’ or ‘London Stock Exchange’."
        businessDay:
          type: string
          description: "Indicates if the schedule should be run on business days only as defined by the businessCalendar selected. Value options are ‘true’ or ‘false’."
        requestDescTypeId:
          type: string
          description: ""
          example: 7
        isPublic:
          type: string
          description: "This option is governed from the ‘Public’ checkbox that appears when a new schedule is set up. If selected, the schedule gets visible to everyone in the ‘Schedules’ screen. If not selected, only the user who created the schedule, can see the schedule in the list of schedules."
        externalSchedule:
          type: string
          description: "This is an option that appears on the schedule set up screen if a schedule is created in the internal ECR application. If selected, the schedule appears on the External ECR application. If not selected, the schedule only remains in the Internal ECR application."
        emailIdList:
          type: string
          description: "This option is dictated from the ‘Email Address’ input nox under the ‘Delivery Method’ tab. The delivery method has to be selected as ‘Email’ to see this option on the UI."
        emailSubject:
          type: string
          description: "Second option on the ‘Delivery Method’ UI if the delivery method has been chosen as ‘Email’."
        emailText:
          type: string
          description: "Third option on the ‘Delivery Method’ UI if the delivery method has been chosen as ‘Email’."
        emailJobRequestFlag:
          type: string
          description: "If an email delivery method has been set up for the schedule, this option will appear as ‘True’."