---
title: "Contacts"
url: "https://apipartners.mosaicinsurance.com/apis/trident-ap-is-beta/versions/018fd555-bac2-494f-872b-ac47b74f1e75/operations/listContacts"
---

> Full API specification: https://apipartners.mosaicinsurance.com/apis/trident-ap-is-beta/versions/018fd555-bac2-494f-872b-ac47b74f1e75.md

# Contacts

`GET` `/lookup/contacts`

Operation ID: `listContacts`

Returns XFI contacts filtered by the specified role code. Supports optional free-text filter on contact name/code and page-based pagination via the `page`/`pageSize` query parameters (internally translated to XFI's `_start`/`_num`). **Response shape:** the response returns `total` (XFI's reported match count) and `item` (the array of matched contacts for this request). `item` entries are passed through from XFI's `summary` object verbatim (not a fixed schema) so any new attribute XFI adds in future is available automatically without an API change; the properties listed below are the common ones. **Common role codes:** | Code | Role | |------|------| | `USR` | Internal User (Underwriters) | | `ACC` | Account / Insured | | `PRD` | Producer / Broker | | `AGR` | Agreement Partner | | `OBG` | Obligor | | `REIND` | Reinsured | | `SCM` | Syndicate Capital Management | | `INS` | Insurer | | `COV` | Coverholder | | `DIV` | Division | | `SYN` | Syndicate | | `MBK` | Master Broker | All supported codes: `INS`, `ATT`, `ACC`, `PRD`, `TAX`, `OTH`, `CLM`, `REIN`, `BCT`, `USR`, `EW`, `IA`, `EA`, `CA`, `AGR`, `PI`, `BINS`, `DIV`, `SYN`, `TCC`, `SRV`, `COV`, `LF`, `AUD`, `EXUSR`, `FRC`, `BA`, `SA`, `SOS`, `OFFTEAM`, `OBG`, `LG`, `RGA`, `INV`, `FIN`, `TAD`, `ENV`, `ITA`, `INA`, `BEN`, `ADO`, `ACF`, `UWC`, `BUY`, `SEL`, `TGT`, `PTF`, `REIND`, `SCM`, `PEB`, `MBK`

## Query parameters

- `roleCode` (string, required) - XFI role code to filter contacts by. See description for full list.
- `contactReference` (string, optional) - Optional partial match on contact name or code (e.g. "Enbridge Inc.", "MSR").
- `page` (integer, optional) - Page number, 1-based. Defaults to 1.
- `pageSize` (integer, optional) - Number of results per page. Defaults to 25. Maximum 100.

## Header parameters

- `X-Origination-Source` (string, required) - Identifies the calling system or channel that originated this request. Used for traceability and auditing across the platform.
- `X-Audit-UserId` (string, required) - Identifier of the end user on whose behalf this request is made, recorded for audit trail purposes.

## Responses

- `200` - Contacts retrieved successfully. Only 'Active' and 'Not Approved' broker information is pulled from XFI in the Lookup contact by roles endpoint response.
- `400` - Bad request - missing or invalid roleCode
- `500` - Upstream XFI service error

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Trident APIs
  version: uat
servers:
  - url: https://apinonprod.mosaicinsurance.com
    description: Generated server url
paths:
  /lookup/contacts:
    get:
      security:
        - api_key: []
      tags:
        - LookUps
      summary: Contacts
      description: >-
        Returns XFI contacts filtered by the specified role code. Supports
        optional free-text filter on contact name/code and page-based pagination
        via the `page`/`pageSize` query parameters (internally translated to
        XFI's `_start`/`_num`).


        **Response shape:** the response returns `total` (XFI's reported match
        count) and `item` (the array of matched contacts for this request).
        `item` entries are passed through from XFI's `summary` object verbatim
        (not a fixed schema) so any new attribute XFI adds in future is
        available automatically without an API change; the properties listed
        below are the common ones.


        **Common role codes:**


        | Code | Role |

        |------|------|

        | `USR` | Internal User (Underwriters) |

        | `ACC` | Account / Insured |

        | `PRD` | Producer / Broker |

        | `AGR` | Agreement Partner |

        | `OBG` | Obligor |

        | `REIND` | Reinsured |

        | `SCM` | Syndicate Capital Management |

        | `INS` | Insurer |

        | `COV` | Coverholder |

        | `DIV` | Division |

        | `SYN` | Syndicate |

        | `MBK` | Master Broker |


        All supported codes: `INS`, `ATT`, `ACC`, `PRD`, `TAX`, `OTH`, `CLM`,
        `REIN`, `BCT`, `USR`, `EW`, `IA`, `EA`, `CA`, `AGR`, `PI`, `BINS`,
        `DIV`, `SYN`, `TCC`, `SRV`, `COV`, `LF`, `AUD`, `EXUSR`, `FRC`, `BA`,
        `SA`, `SOS`, `OFFTEAM`, `OBG`, `LG`, `RGA`, `INV`, `FIN`, `TAD`, `ENV`,
        `ITA`, `INA`, `BEN`, `ADO`, `ACF`, `UWC`, `BUY`, `SEL`, `TGT`, `PTF`,
        `REIND`, `SCM`, `PEB`, `MBK`
      operationId: listContacts
      parameters:
        - $ref: "#/components/parameters/XOriginationSource"
        - $ref: "#/components/parameters/XAuditUserId"
        - name: roleCode
          in: query
          required: true
          description: XFI role code to filter contacts by. See description for full list.
          schema:
            type: string
            enum:
              - INS
              - ATT
              - ACC
              - PRD
              - TAX
              - OTH
              - CLM
              - REIN
              - BCT
              - USR
              - EW
              - IA
              - EA
              - CA
              - AGR
              - PI
              - BINS
              - DIV
              - SYN
              - TCC
              - SRV
              - COV
              - LF
              - AUD
              - EXUSR
              - FRC
              - BA
              - SA
              - SOS
              - OFFTEAM
              - OBG
              - LG
              - RGA
              - INV
              - FIN
              - TAD
              - ENV
              - ITA
              - INA
              - BEN
              - ADO
              - ACF
              - UWC
              - BUY
              - SEL
              - TGT
              - PTF
              - REIND
              - SCM
              - PEB
              - MBK
          example: USR
        - name: contactReference
          in: query
          required: false
          description: Optional partial match on contact name or code (e.g. "Enbridge
            Inc.", "MSR").
          schema:
            type: string
          example: Enbridge Inc.
        - name: page
          in: query
          required: false
          description: Page number, 1-based. Defaults to 1.
          schema:
            type: integer
            default: 1
            minimum: 1
          example: 1
        - name: pageSize
          in: query
          required: false
          description: Number of results per page. Defaults to 25. Maximum 100.
          schema:
            type: integer
            default: 25
            minimum: 1
            maximum: 100
          example: 25
      responses:
        "200":
          description: Contacts retrieved successfully. Only 'Active' and 'Not Approved'
            broker information is pulled from XFI in the Lookup contact by roles
            endpoint response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContactFuzzySearchResponse"
              examples:
                Underwriters:
                  description: All underwriters (USR role) — raw passthrough of XFI's fuzzy-search
                    contact fields
                  value:
                    total: 45
                    item:
                      - lvapicontactsfuzzysearchkey: 200005653
                        allrolecodes: USR
                        code: BHA
                        contactkey: 2000056
                        contactreference: Arasaiah, Bhaskara
                        email: uat-mailbox@mosaicinsurance.com
                        forename: Bhaskara
                        ltypeofuserkey: 1
                        mainrole: 53
                        primaryrole: -1
                        role: Internal User
                        rolecode: USR
                        roleid: 53
                        searchkey: 8
                        sEARCHPATTERN: ia
                        sforename: Bhaskara
                        ssurname: Arasaiah
                        surname: Arasaiah
                        usercode: UW
                        usertype: Underwriter
                      - lvapicontactsfuzzysearchkey: 200007853
                        allrolecodes: USR
                        code: SOY
                        contactkey: 2000078
                        contactreference: Young, Sophia
                        email: uat-mailbox@mosaicinsurance.com
                        forename: Sophia
                        ltypeofuserkey: 1
                        mainrole: 53
                        primaryrole: -1
                        role: Internal User
                        rolecode: USR
                        roleid: 53
                        searchkey: 8
                        sEARCHPATTERN: ia
                        sforename: Sophia
                        ssurname: Young
                        surname: Young
                        usercode: UW
                        usertype: Underwriter
        "400":
          description: Bad request - missing or invalid roleCode
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "500":
          description: Upstream XFI service error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
security:
  - api_key: []
components:
  parameters:
    XOriginationSource:
      name: X-Origination-Source
      in: header
      required: true
      description: Identifies the calling system or channel that originated this
        request. Used for traceability and auditing across the platform.
      schema:
        type: string
      example: S01x
    XAuditUserId:
      name: X-Audit-UserId
      in: header
      required: true
      description: Identifier of the end user on whose behalf this request is made,
        recorded for audit trail purposes.
      schema:
        type: string
      example: jsmith
  schemas:
    ContactFuzzySearchResponse:
      type: object
      description: Response returned by the /lookup/contacts endpoint. Wraps XFI's
        `_count`/`_links.item[].summary` payload as `total`/`item`.
      required:
        - total
        - item
      properties:
        total:
          type: integer
          format: int32
          description: Total number of matching contacts reported by XFI (`_count`).
        item:
          type: array
          items:
            $ref: "#/components/schemas/ContactFuzzySearchItem"
          description: Flattened contact entries (`_links.item[].summary`), verbatim. Each
            entry is a free-form map (`Map<String, Object>`) — properties below
            are the common ones; XFI may include additional attributes.
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: "#/components/schemas/ErrorDetail"
    ContactFuzzySearchItem:
      type: object
      description: A single contact entry returned by the /lookup/contacts endpoint,
        passed through from XFI's `summary` object verbatim. Backing Java type
        is `Map<String, Object>` — keys are not fixed/known in advance (XFI may
        return any of `contactKey`, `contactReference`, `code`, `roleCode`,
        `mainrole`, `email`, `mailingAddress1`, `mailingAddress2`,
        `mailingAddressCity`, `country`, or others), so no fixed property list
        is declared here.
      additionalProperties: true
    ErrorDetail:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
  securitySchemes:
    api_key:
      type: apiKey
      name: x-api-key
      in: header
```
