Factset · Capability

FactSet IRN Contacts API — Contacts

FactSet IRN Contacts API — Contacts. 12 operations. Lead operation: Factset Get Details on a Specific Contact Relationship. Self-contained Naftiko capability covering one Factset business surface.

Run with Naftiko FactsetContacts

What You Can Do

GET
Getcontactrelationship — Factset Get Details on a Specific Contact Relationship
/v1/v1/contact-relationships/{contactrelationshipid}
PATCH
Patchcontactrelationship — Factset Update a Contact Relationship
/v1/v1/contact-relationships/{contactrelationshipid}
DELETE
Deletecontactrelationship — Factset Delete a Contact Relationship
/v1/v1/contact-relationships/{contactrelationshipid}
GET
Getcontacts — Factset Get List of All Contacts in Your Group Along With Some of Their Standard Field Data
/v1/v1/contacts
POST
Createcontact — Factset Create a Contact
/v1/v1/contacts
GET
Getcontact — Factset Get All Custom Field and Standard Field Details on a Specific Contact
/v1/v1/contacts/{contactid}
PATCH
Patchcontact — Factset Edit a Contacts Standard Field and Custom Field Data
/v1/v1/contacts/{contactid}
DELETE
Deletecontact — Factset Delete a Contact
/v1/v1/contacts/{contactid}
GET
Getcontactnotes — Factset Get the About Field Content for a Specific Contact
/v1/v1/contacts/{contactid}/about
GET
Getcontactevents — Factset Get a Contacts Audit History
/v1/v1/contacts/{contactid}/events
GET
Getcontactrecords — Factset Get All Notes and Meetings Where a Specific Contact Was Tagged
/v1/v1/contacts/{contactid}/records
GET
Getcontactrelationships — Factset Returns a List of a Contacts Relationships
/v1/v1/contacts/{contactid}/relationships

MCP Tools

factset-get-details-specific-contact

Factset Get Details on a Specific Contact Relationship

read-only idempotent
factset-update-contact-relationship

Factset Update a Contact Relationship

idempotent
factset-delete-contact-relationship

Factset Delete a Contact Relationship

idempotent
factset-get-list-all-contacts

Factset Get List of All Contacts in Your Group Along With Some of Their Standard Field Data

read-only idempotent
factset-create-contact

Factset Create a Contact

factset-get-all-custom-field

Factset Get All Custom Field and Standard Field Details on a Specific Contact

read-only idempotent
factset-edit-contacts-standard-field

Factset Edit a Contacts Standard Field and Custom Field Data

idempotent
factset-delete-contact

Factset Delete a Contact

idempotent
factset-get-about-field-content

Factset Get the About Field Content for a Specific Contact

read-only idempotent
factset-get-contacts-audit-history

Factset Get a Contacts Audit History

read-only idempotent
factset-get-all-notes-and

Factset Get All Notes and Meetings Where a Specific Contact Was Tagged

read-only idempotent
factset-returns-list-contacts-relationships

Factset Returns a List of a Contacts Relationships

read-only idempotent

Capability Spec

irn-contacts-contacts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FactSet IRN Contacts API — Contacts
  description: 'FactSet IRN Contacts API — Contacts. 12 operations. Lead operation: Factset Get Details on a Specific Contact
    Relationship. Self-contained Naftiko capability covering one Factset business surface.'
  tags:
  - Factset
  - Contacts
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FACTSET_API_KEY: FACTSET_API_KEY
capability:
  consumes:
  - type: http
    namespace: irn-contacts-contacts
    baseUri: https://api.factset.com/research/irn
    description: FactSet IRN Contacts API — Contacts business capability. Self-contained, no shared references.
    resources:
    - name: v1-contact-relationships-contactRelationshipId
      path: /v1/contact-relationships/{contactRelationshipId}
      operations:
      - name: getcontactrelationship
        method: GET
        description: Factset Get Details on a Specific Contact Relationship
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactRelationshipId
          in: path
          type: string
          description: contactRelationshipId to get associated record
          required: true
      - name: patchcontactrelationship
        method: PATCH
        description: Factset Update a Contact Relationship
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactRelationshipId
          in: path
          type: string
          description: contactRelationshipId to update associated record
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletecontactrelationship
        method: DELETE
        description: Factset Delete a Contact Relationship
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactRelationshipId
          in: path
          type: string
          description: contactRelationshipId to delete associated record
          required: true
    - name: v1-contacts
      path: /v1/contacts
      operations:
      - name: getcontacts
        method: GET
        description: Factset Get List of All Contacts in Your Group Along With Some of Their Standard Field Data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fullName
          in: query
          type: string
          description: Filter results on fullName
        - name: emailAddress
          in: query
          type: string
          description: Filter results on emailAddress
        - name: identifier
          in: query
          type: string
          description: Filter results on identifier
        - name: employerName
          in: query
          type: string
          description: Filter results on employerName
        - name: customFieldValues
          in: query
          type: boolean
          description: Includes custom field values in response if true
        - name: search
          in: query
          type: string
          description: Filter results on the combination of fullName, emailAddress, identifier and employerName
        - name: sort
          in: query
          type: string
        - name: includeLastMeetingDate
          in: query
          type: boolean
          description: If true, returns when they were last tagged as an attendee in an IRN meeting
        - name: limit
          in: query
          type: integer
          description: Restrict number of records returned
      - name: createcontact
        method: POST
        description: Factset Create a Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-contacts-contactId
      path: /v1/contacts/{contactId}
      operations:
      - name: getcontact
        method: GET
        description: Factset Get All Custom Field and Standard Field Details on a Specific Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          description: contactId to get associated record
          required: true
      - name: patchcontact
        method: PATCH
        description: Factset Edit a Contacts Standard Field and Custom Field Data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          description: contactId to update associated record
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletecontact
        method: DELETE
        description: Factset Delete a Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          description: contactId to delete associated record
          required: true
    - name: v1-contacts-contactId-about
      path: /v1/contacts/{contactId}/about
      operations:
      - name: getcontactnotes
        method: GET
        description: Factset Get the About Field Content for a Specific Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          description: contactId of associated record
          required: true
    - name: v1-contacts-contactId-events
      path: /v1/contacts/{contactId}/events
      operations:
      - name: getcontactevents
        method: GET
        description: Factset Get a Contacts Audit History
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          description: contactId to get associated records
          required: true
    - name: v1-contacts-contactId-records
      path: /v1/contacts/{contactId}/records
      operations:
      - name: getcontactrecords
        method: GET
        description: Factset Get All Notes and Meetings Where a Specific Contact Was Tagged
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          description: contactId to get associated records
          required: true
    - name: v1-contacts-contactId-relationships
      path: /v1/contacts/{contactId}/relationships
      operations:
      - name: getcontactrelationships
        method: GET
        description: Factset Returns a List of a Contacts Relationships
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          description: contactId to get associated records
          required: true
    authentication:
      type: basic
      username: '{{env.FACTSET_USER}}'
      password: '{{env.FACTSET_PASS}}'
  exposes:
  - type: rest
    namespace: irn-contacts-contacts-rest
    port: 8080
    description: REST adapter for FactSet IRN Contacts API — Contacts. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v1/contact-relationships/{contactrelationshipid}
      name: v1-contact-relationships-contactrelationshipid
      description: REST surface for v1-contact-relationships-contactRelationshipId.
      operations:
      - method: GET
        name: getcontactrelationship
        description: Factset Get Details on a Specific Contact Relationship
        call: irn-contacts-contacts.getcontactrelationship
        with:
          contactRelationshipId: rest.contactRelationshipId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchcontactrelationship
        description: Factset Update a Contact Relationship
        call: irn-contacts-contacts.patchcontactrelationship
        with:
          contactRelationshipId: rest.contactRelationshipId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecontactrelationship
        description: Factset Delete a Contact Relationship
        call: irn-contacts-contacts.deletecontactrelationship
        with:
          contactRelationshipId: rest.contactRelationshipId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/contacts
      name: v1-contacts
      description: REST surface for v1-contacts.
      operations:
      - method: GET
        name: getcontacts
        description: Factset Get List of All Contacts in Your Group Along With Some of Their Standard Field Data
        call: irn-contacts-contacts.getcontacts
        with:
          fullName: rest.fullName
          emailAddress: rest.emailAddress
          identifier: rest.identifier
          employerName: rest.employerName
          customFieldValues: rest.customFieldValues
          search: rest.search
          sort: rest.sort
          includeLastMeetingDate: rest.includeLastMeetingDate
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcontact
        description: Factset Create a Contact
        call: irn-contacts-contacts.createcontact
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/contacts/{contactid}
      name: v1-contacts-contactid
      description: REST surface for v1-contacts-contactId.
      operations:
      - method: GET
        name: getcontact
        description: Factset Get All Custom Field and Standard Field Details on a Specific Contact
        call: irn-contacts-contacts.getcontact
        with:
          contactId: rest.contactId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchcontact
        description: Factset Edit a Contacts Standard Field and Custom Field Data
        call: irn-contacts-contacts.patchcontact
        with:
          contactId: rest.contactId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecontact
        description: Factset Delete a Contact
        call: irn-contacts-contacts.deletecontact
        with:
          contactId: rest.contactId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/contacts/{contactid}/about
      name: v1-contacts-contactid-about
      description: REST surface for v1-contacts-contactId-about.
      operations:
      - method: GET
        name: getcontactnotes
        description: Factset Get the About Field Content for a Specific Contact
        call: irn-contacts-contacts.getcontactnotes
        with:
          contactId: rest.contactId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/contacts/{contactid}/events
      name: v1-contacts-contactid-events
      description: REST surface for v1-contacts-contactId-events.
      operations:
      - method: GET
        name: getcontactevents
        description: Factset Get a Contacts Audit History
        call: irn-contacts-contacts.getcontactevents
        with:
          contactId: rest.contactId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/contacts/{contactid}/records
      name: v1-contacts-contactid-records
      description: REST surface for v1-contacts-contactId-records.
      operations:
      - method: GET
        name: getcontactrecords
        description: Factset Get All Notes and Meetings Where a Specific Contact Was Tagged
        call: irn-contacts-contacts.getcontactrecords
        with:
          contactId: rest.contactId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/contacts/{contactid}/relationships
      name: v1-contacts-contactid-relationships
      description: REST surface for v1-contacts-contactId-relationships.
      operations:
      - method: GET
        name: getcontactrelationships
        description: Factset Returns a List of a Contacts Relationships
        call: irn-contacts-contacts.getcontactrelationships
        with:
          contactId: rest.contactId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: irn-contacts-contacts-mcp
    port: 9090
    transport: http
    description: MCP adapter for FactSet IRN Contacts API — Contacts. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: factset-get-details-specific-contact
      description: Factset Get Details on a Specific Contact Relationship
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.getcontactrelationship
      with:
        contactRelationshipId: tools.contactRelationshipId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-update-contact-relationship
      description: Factset Update a Contact Relationship
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.patchcontactrelationship
      with:
        contactRelationshipId: tools.contactRelationshipId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-delete-contact-relationship
      description: Factset Delete a Contact Relationship
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: irn-contacts-contacts.deletecontactrelationship
      with:
        contactRelationshipId: tools.contactRelationshipId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-list-all-contacts
      description: Factset Get List of All Contacts in Your Group Along With Some of Their Standard Field Data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.getcontacts
      with:
        fullName: tools.fullName
        emailAddress: tools.emailAddress
        identifier: tools.identifier
        employerName: tools.employerName
        customFieldValues: tools.customFieldValues
        search: tools.search
        sort: tools.sort
        includeLastMeetingDate: tools.includeLastMeetingDate
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-create-contact
      description: Factset Create a Contact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: irn-contacts-contacts.createcontact
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-all-custom-field
      description: Factset Get All Custom Field and Standard Field Details on a Specific Contact
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.getcontact
      with:
        contactId: tools.contactId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-edit-contacts-standard-field
      description: Factset Edit a Contacts Standard Field and Custom Field Data
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.patchcontact
      with:
        contactId: tools.contactId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-delete-contact
      description: Factset Delete a Contact
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: irn-contacts-contacts.deletecontact
      with:
        contactId: tools.contactId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-about-field-content
      description: Factset Get the About Field Content for a Specific Contact
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.getcontactnotes
      with:
        contactId: tools.contactId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-contacts-audit-history
      description: Factset Get a Contacts Audit History
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.getcontactevents
      with:
        contactId: tools.contactId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-get-all-notes-and
      description: Factset Get All Notes and Meetings Where a Specific Contact Was Tagged
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.getcontactrecords
      with:
        contactId: tools.contactId
      outputParameters:
      - type: object
        mapping: $.
    - name: factset-returns-list-contacts-relationships
      description: Factset Returns a List of a Contacts Relationships
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: irn-contacts-contacts.getcontactrelationships
      with:
        contactId: tools.contactId
      outputParameters:
      - type: object
        mapping: $.