openapi: 3.0.1
info:
  title: Lists
  description: >-
    Retrieve a predefined list of values from a source of fields in SEI's KYC
    system. A master List of Lists can be viewed, along with the actual values
    associated to each List. These lists can collectively be used with existing
    products in the Investor Lifecycle.
  version: 1.0.0
servers:
  - url: https://build.api.seic.com/v1
    description: Integration Server with masked data.
  - url: https://test.api.seic.com/v1
    description: Test Server with unmasked data.
  - url: https://api.seic.com/v1
    description: Production Server with unmasked data.
paths:
  /lists/metadata:
    get:
      tags:
        - Lists Metadata
      summary: >-
        Returns the collection of all reference data as it pertains to
        Investors, Contac
      operationId: getListMetadata
      parameters:
        - $ref: '#/components/parameters/externalId_query'
        - name: name
          in: query
          description: The look up name.
          required: false
          style: form
          explode: true
          schema:
            type: boolean
        - $ref: '#/components/parameters/lastModifiedSince_query'
        - $ref: '#/components/parameters/createdSince_query'
      responses:
        '200':
          description: OK- The request has succeeded and the response has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMetadata'
              examples:
                Example:
                  value:
                    externalId: ABCDE
                    name: ApprovalQueueCategoryType
                    displayName: Approval Queue Category Type
                    createDate: 2018-05-25T15:13:25:287
                    changeDate: 2018-05-25T15:13:25:287
                    links:
                      rel: List
                      href: https://api.seic.com/v1/lists?externalId=ABCDE
                    child:
                      externalId: ABCDESUB
                      name: ApprovalQueueSubCategoryType
                      displayName: Approval Queue Sub Category Type
                      createDate: 2018-05-25T15:13:25:287
                      changeDate: 2018-05-25T15:13:25:287
                      links:
                        rel: List
                        href: https://api.seic.com/v1/lists?externalId=ABCDESUB
                    paging:
                      totalCount: 165
                      limit: 0
                      self: https://api.seic.com/v1/lists/metadata?limit
        '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
      description: >-
        This endpoint retrieves relevant list or metadata information for SEI’s
        KYC system.
      security:
        - oauth2: []
          bearerAuth: []
          ApiKeyAuth: []
  /lists:
    get:
      tags:
        - List Values
      summary: Returns the acceptable values for a specific List
      operationId: getListValues
      parameters:
        - $ref: '#/components/parameters/externalId_query'
        - $ref: '#/components/parameters/lastModifiedSince_query'
        - $ref: '#/components/parameters/createdSince_query'
      responses:
        '200':
          description: OK- The request has succeeded and the response has been returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListValues'
              examples:
                Example:
                  value:
                    data:
                      externalId: ABCDE
                      name: ApprovalQueueCategoryType
                      id: 1
                      displayName: Approval Queue Category Type
                      valueId: Firm
                      changeDate: 2018-08-23T18:23:39.790+0000
                      createDate: 2015-08-21T20:01:22.037+0000
                      valueExternalId: M1
                      sortOrder: 2
                      child:
                        externalId: ABCDESUB
                        name: ApprovalQueueSubCategoryType
                        id: 1
                        displayName: Approval Queue Sub Category Type
                        valueId: Firm Information
                        changeDate: 2018-08-23T18:23:39.790+0000
                        createDate: 2015-08-21T20:01:22.160+0000
                        valueExternalId: M1
                        parentId: 1
                        sortOrder: 13
                    paging:
                      totalCount: 8
                      limit: 0
                      self: https://api.seic.com/v1/lists?externalId=ABCDE&limit=1
        '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
      description: >-
        This endpoint retrieves relevant list or metadata information for SEI’s
        KYC system.
      security:
        - oauth2: []
          bearerAuth: []
          ApiKeyAuth: []
components:
  schemas:
    ListMetadata:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CodeListClassType'
        paging:
          $ref: '#/components/schemas/ListMetadata_paging'
    ListValues:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ListItem'
        paging:
          $ref: '#/components/schemas/ListMetadata_paging'
    ListItem:
      type: object
      properties:
        externalId:
          type: string
          description: >-
            Unique business identifier that represents a contact, investor,
            product, transaction or alternate entity recognized by SEI and a
            third party system or application.  Many times the externalId is
            used to synchronize SEI sourced data with another data source for
            the same record.
        name:
          type: string
          description: >-
            The first, last, and middle name of the user as available in the SEI
            application.
        id:
          type: string
          description: >-
            The unique identifier for an entity such as a calendar, event,
            document, account, position or tax lot.
        displayName:
          type: string
        valueId:
          type: string
        changeDate:
          type: string
          description: >-
            Latest date the entity relevant to the API was modified. Datetime is
            Eastern Standard Time (EST). Date Format is UTC
            YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        createDate:
          type: string
          description: >-
            Initial create timestamp for the record. Datetime is Eastern
            Standard Time (EST). Date Format is UTC YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        valueExternalId:
          type: string
        valueDisplayName:
          type: string
        parentId:
          type: string
          description: >-
            Insight unique product system identifier of the parent product, when
            one exists. Typically a series rolls up to a class and a class rolls
            up to fund.
        permissionCode:
          type: string
        sortorder:
          type: number
          description: Default sortOrder is ascending and '-' can be passed for descending.
        child:
          type: array
          items:
            $ref: '#/components/schemas/ListItemChild'
    CodeListClassType:
      type: object
      properties:
        externalId:
          type: string
          description: >-
            Unique business identifier that represents a contact, investor,
            product, transaction or alternate entity recognized by SEI and a
            third party system or application.  Many times the externalId is
            used to synchronize SEI sourced data with another data source for
            the same record.
        name:
          type: string
          description: >-
            The first, last, and middle name of the user as available in the SEI
            application.
        displayName:
          type: string
        createDate:
          type: string
          description: >-
            Initial create timestamp for the record. Datetime is Eastern
            Standard Time (EST). Date Format is UTC YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        changeDate:
          type: string
          description: >-
            Latest date the entity relevant to the API was modified. Datetime is
            Eastern Standard Time (EST). Date Format is UTC
            YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
        child:
          type: array
          items:
            $ref: '#/components/schemas/CodeListClassTypeChild'
    Link:
      type: object
      properties:
        rel:
          type: string
          description: The name of a link returned by the href URL. This is immutable.
        href:
          type: string
          description: >-
            Fully configured URL to obtain more information regarding an entity.
            Allows for easier navigation across products. These links should not
            be cached.
    CodeListClassTypeChild:
      type: object
      properties:
        externalId:
          type: string
          description: >-
            Unique business identifier that represents a contact, investor,
            product, transaction or alternate entity recognized by SEI and a
            third party system or application.  Many times the externalId is
            used to synchronize SEI sourced data with another data source for
            the same record.
        name:
          type: string
          description: >-
            The first, last, and middle name of the user as available in the SEI
            application.
        displayName:
          type: string
        createDate:
          type: string
          description: >-
            Initial create timestamp for the record. Datetime is Eastern
            Standard Time (EST). Date Format is UTC YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        changeDate:
          type: string
          description: >-
            Latest date the entity relevant to the API was modified. Datetime is
            Eastern Standard Time (EST). Date Format is UTC
            YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
    ListItemChild:
      type: object
      properties:
        externalId:
          type: string
          description: >-
            Unique business identifier that represents a contact, investor,
            product, transaction or alternate entity recognized by SEI and a
            third party system or application.  Many times the externalId is
            used to synchronize SEI sourced data with another data source for
            the same record.
        name:
          type: string
          description: >-
            The first, last, and middle name of the user as available in the SEI
            application.
        id:
          type: string
          description: >-
            The unique identifier for an entity such as a calendar, event,
            document, account, position or tax lot.
        displayName:
          type: string
        valueId:
          type: string
        changeDate:
          type: string
          description: >-
            Latest date the entity relevant to the API was modified. Datetime is
            Eastern Standard Time (EST). Date Format is UTC
            YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        createDate:
          type: string
          description: >-
            Initial create timestamp for the record. Datetime is Eastern
            Standard Time (EST). Date Format is UTC YYYY-MM-DDThh:mm:ss:mmm
          format: date-time
        valueExternalId:
          type: string
        valueDisplayName:
          type: string
        parentId:
          type: string
          description: >-
            Insight unique product system identifier of the parent product, when
            one exists. Typically a series rolls up to a class and a class rolls
            up to fund.
        permissionCode:
          type: string
        sortorder:
          type: number
          description: Default sortOrder is ascending and '-' can be passed for descending.
    ListMetadata_paging:
      type: object
      properties:
        totalCount:
          type: integer
        limit:
          type: integer
        first:
          type: string
        last:
          type: string
        previous:
          type: string
        next:
          type: string
        self:
          type: string
      example: null
  parameters:
    Authorization_header:
      name: Authorization
      in: header
      description: >-
        Access token value obtained from the Token endpoint. This is passed as
        "Bearer access_token"
      required: true
      style: simple
      explode: false
      schema:
        type: string
    AppKey_header:
      name: AppKey
      in: header
      description: >-
        This is the Consumer Key provided during the App Registration. It is
        used to identify the user's application.
      required: true
      style: simple
      explode: false
      schema:
        type: string
    externalId_query:
      name: externalId
      in: query
      description: >-
        Client specific or external identifier representing various entities
        recognized by SEI and third-party systems/applications.
      required: false
      style: form
      explode: true
      schema:
        type: string
    lastModifiedSince_query:
      name: lastModifiedSince
      in: query
      description: Valid values are thisQuarter, thisYear, thisMonth, thisWeek, yesterday
      required: false
      style: form
      explode: true
      schema:
        type: string
        enum:
          - thisQuarter
          - thisYear
          - thisMonth
          - thisWeek
          - yesterday
    createdSince_query:
      name: createdSince
      in: query
      description: Valid values are thisQuarter, thisYear, thisMonth, thisWeek, yesterday
      required: false
      style: form
      explode: true
      schema:
        type: string
        enum:
          - thisQuarter
          - thisYear
          - thisMonth
          - thisWeek
          - yesterday
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        To access any API, first obtain an OAuth Token. Refer to the Access
        Token documentation for more information. The token has a 60 minutes
        active TTL and 30 minutes inactive TTL. An application making SEI API
        Requests from a Client/Server or Server/Server type of infrastructure
        will leverage the grant_type client_credentials while minting an OAuth
        from the Token API.
      flows:
        clientCredentials:
          tokenUrl: /v2/oauthtoken
          scopes: {}
    bearerAuth:
      type: http
      description: >-
        After successfully obtaining an OAuth token, pass the access_token value
        to the desired API endpoint by including the header parameter
        'Authorization' with the value 'Bearer access_token'.
      scheme: bearer
    ApiKeyAuth:
      type: apiKey
      description: >-
        Pass the header parameter 'AppKey' to the API endpoint to authenticate
        your application. This value can be found within the 'My Apps' page.
        This value uniquely identifies the registered application.
      name: AppKey
      in: header