Catchpoint Systems Contacts API

The Contacts API from Catchpoint Systems — 3 operation(s) for contacts.

OpenAPI Specification

catchpoint-systems-contacts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Catchpoint REST API v2.0 Account Contacts API
  version: '2.0'
servers:
- url: /api
tags:
- name: Contacts
paths:
  /v2/contacts/{contactIds}:
    get:
      tags:
      - Contacts
      summary: Return contact details by the IDs passed.
      parameters:
      - name: contactIds
        in: path
        description: Comma-separated list of contact IDs
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse]'
      security:
      - bearer: []
      order: 1
  /v2/contacts:
    get:
      tags:
      - Contacts
      summary: Returns Contact details by parameters passed.
      description: If no parameters are passed all “Active” contacts are returned.
      parameters:
      - name: statusId
        in: query
        description: Contact Status Type. “0” for Active; “1” for Inactive.
        schema:
          type: integer
          format: int32
      - name: divisionId
        in: query
        description: Division ID
        schema:
          type: integer
          format: int32
      - name: pageNumber
        in: query
        description: Page number to return records from when the number of records exceeds pageSize
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Number of results per page. Maximum value is 100.
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse]'
      security:
      - bearer: []
      order: 2
    delete:
      tags:
      - Contacts
      summary: Deletes existing contacts by parameters passed.
      description: To delete contacts based on the specified list of IDs, the IDs need to be separated by commas. This endpoint allows partial deletion; if you provide a list of five IDs and only three of them are valid, then it will delete those three contacts. The response will indicate the three that were deleted, and the two invalid IDs will be listed as errors.
      parameters:
      - name: contactIds
        in: query
        description: Comma-separated list of Contact IDs
        schema:
          type: string
      - name: email
        in: query
        description: Email of contact
        schema:
          type: string
      - name: divisionId
        in: query
        description: Division ID. If the contact to delete is within a division, provide the Division ID
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDeleteResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDeleteResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDeleteResponse]'
      security:
      - bearer: []
      order: 5
    post:
      tags:
      - Contacts
      summary: Create a new contact based on the PostData.
      description: To get payload for creating a new contact and to get the created contact details refer InternalLink[Contact Details by ID Endpoint,operations-tag-Contact,operations-Contact-get_v2_contacts__contactIds_]. Pass “0” for contact ID to create a new contact.
      parameters:
      - name: objectDetails
        in: query
        description: Set to true to return the created object in the response body, otherwise the response body will only return created object ID.
        schema:
          type: boolean
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactAPIModel'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactAPIModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactAPIModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactAPIModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse]'
      security:
      - bearer: []
      order: 3
  /v2/contacts/{contactId}:
    patch:
      tags:
      - Contacts
      summary: Update an existing contact based on the request body.
      description: "**Request:**\r\n            \r\nOnly the property to be updated can be passed in the request body instead of the whole object. The update request body requires a total of three keys to be filled with appropriate value as listed below:\r\n* **value** – The value property provides the new value.\r\n            \r\n* **path** – The path property indicates the element to update. The entire path with slashes needs to be provided here. Example: /status/id\r\n            \r\n* **op** – The op property indicates the type of operation; we support the following three operations.\r\n            \r\n    * **add** - Add a property or array element. For existing property: set value.\r\n            \r\n    * **Remove** - Remove a property or array element.\r\n            \r\n    * **replace** - Same as remove followed by add at same location.\r\n            \r\n* **from** - [Not Used]\r\n            \r\n    * **Explanation** - The \"from\" parameter represents the starting or current value of the resource that the operation intends to modify. The from parameter is included in the example value schema but is not utilized in this endpoint's functionality. It is reserved for potential future use or could be used in specific scenarios not covered by the current implementation."
      parameters:
      - name: contactId
        in: path
        description: Contact ID
        required: true
        schema:
          type: integer
          format: int32
      - name: objectDetails
        in: query
        description: Set to true to return the updated object in the response body, otherwise the response body will only return the updated object ID.
        schema:
          type: boolean
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Microsoft.AspNetCore.JsonPatch.Operations.Operation'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse]'
            text/plain:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse]'
            text/json:
              schema:
                $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse]'
      security:
      - bearer: []
      order: 4
components:
  schemas:
    Catchpoint.Symphony.Enums.DomainStatus:
      enum:
      - id: 0
        name: Active
      - id: 1
        name: Inactive
      - id: 2
        name: Archived
      - id: 3
        name: Suspended
      - id: 4
        name: SuspendedByAdmin
      - id: 5
        name: Open
      - id: 6
        name: Resolved
      - id: 7
        name: Deleted
      - id: 8
        name: OverSubscribed
      - id: 9
        name: Published
      - id: 10
        name: Draft
      - id: 11
        name: NeedsApproval
      type: integer
      format: int32
    Catchpoint.Symphony.Enums.RUM.RumAccessType:
      enum:
      - id: 0
        name: All
      - id: 1
        name: Site
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse:
      type: object
      properties:
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactAPIModel'
          nullable: true
        hasMore:
          type: boolean
          nullable: true
        next:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactAPIModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.DomainStatus'
        authentication:
          type: string
          nullable: true
        division:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int64]'
        systemAccess:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int32]'
        primaryDashboard:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDashboardAPIModel'
        testAccessRestriction:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactTestAccessRestrictionAPIModel'
        rumAccessRestriction:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactRumAccessRestrictionAPIModel'
        timeZone:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.SupportedTimeZone'
        isNewUIEnabled:
          type: boolean
        waterfallOpensInNewTab:
          type: boolean
        notificationType:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactNotificationTypeAPIModel'
        companyName:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        address:
          type: string
          nullable: true
        address2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        country:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int32]'
        state:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int32]'
        zipCode:
          type: string
          nullable: true
        telephone:
          type: string
          nullable: true
        cellPhone:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        notes:
          type: string
          nullable: true
        contactGroups:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGroupAPIModel'
          nullable: true
        lastLogin:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactTestAccessRestrictionAPIModel:
      type: object
      properties:
        testAccessRestrictType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.User.TestAccessRestrictionType'
        testAccessRestrictionList:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int64]'
          nullable: true
        viewAllTests:
          type: boolean
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.Enums.SupportedTimeZone:
      enum:
      - id: 0
        name: Eastern Standard Time
      - id: 1
        name: Central Standard Time
      - id: 2
        name: Mountain Standard Time
      - id: 3
        name: Pacific Standard Time
      - id: 4
        name: UTC
      - id: 5
        name: Central Europe Standard Time
      - id: 6
        name: Israel Standard Time
      - id: 7
        name: Japan Standard Time
      - id: 8
        name: E. Europe Standard Time
      - id: 9
        name: Singapore Standard Time
      - id: 10
        name: AUS Eastern Standard Time
      - id: 11
        name: SE Asia Standard Time
      - id: 12
        name: Hawaiian Standard Time
      - id: 13
        name: Alaskan Standard Time
      - id: 14
        name: Pacific Standard Time (Mexico)
      - id: 15
        name: US Mountain Standard Time
      - id: 16
        name: Mountain Standard Time (Mexico)
      - id: 17
        name: Central Brazilian Standard Time
      - id: 18
        name: E. South America Standard Time
      - id: 19
        name: GMT Standard Time
      - id: 20
        name: Turkey Standard Time
      - id: 21
        name: China Standard Time
      - id: 22
        name: Taipei Standard Time
      - id: 23
        name: Korea Standard Time
      - id: 24
        name: New Zealand Standard Time
      - id: 25
        name: Russian Standard Time
      - id: 26
        name: Central Asia Standard Time
      - id: 27
        name: Pakistan Standard Time
      - id: 28
        name: India Standard Time
      - id: 29
        name: Gulf Standard Time
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Api.Limit:
      type: object
      properties:
        minute:
          type: integer
          format: int32
        hour:
          type: integer
          format: int32
        day:
          type: integer
          format: int32
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactRumAccessRestrictionAPIModel:
      type: object
      properties:
        rumAccessRestrictType:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.RUM.RumAccessType'
        rumAccessRestrictionList:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int32]'
          nullable: true
        viewAllSites:
          type: boolean
          nullable: true
      additionalProperties: false
    Microsoft.AspNetCore.JsonPatch.Operations.Operation:
      type: object
      properties:
        value:
          nullable: true
        path:
          type: string
          nullable: true
        op:
          type: string
          nullable: true
        from:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Api.DivisionUsageStatistics:
      type: object
      properties:
        divisionId:
          type: integer
          format: int32
        consumerStatistics:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ConsumerStatistics'
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int64]:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Api.ApiUsageStatistics:
      type: object
      properties:
        clientId:
          type: integer
          format: int64
        lastRequestTimestamp:
          type: string
          format: date-time
        limits:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit'
        runs:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit'
        exceededMessage:
          type: string
          nullable: true
          readOnly: true
        divisionUsageStatistics:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.DivisionUsageStatistics'
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.Enums.ContactPrimaryDashboardType:
      enum:
      - id: 0
        name: Dashboard
      - id: 1
        name: Smartboard
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGroupAPIModel:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        division:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int32]'
      additionalProperties: false
    Catchpoint.Symphony.ViewModels.MessageModel:
      type: object
      properties:
        id:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    ? Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDeleteResponse]
    : type: object
      properties:
        data:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDeleteResponse'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.InfoMessage'
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.MessageModel'
          nullable: true
        completed:
          type: boolean
          readOnly: true
        traceId:
          type: string
          nullable: true
        usageLimits:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ApiUsageStatistics'
      additionalProperties: false
    Catchpoint.Symphony.Enums.User.TestAccessRestrictionType:
      enum:
      - id: 0
        name: All
      - id: 1
        name: Test
      - id: 2
        name: Product
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Common.Utility.IdNameModel`1[System.Int32]:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
      additionalProperties: false
    ? Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse]
    : type: object
      properties:
        data:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactGetResponse'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.InfoMessage'
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.MessageModel'
          nullable: true
        completed:
          type: boolean
          readOnly: true
        traceId:
          type: string
          nullable: true
        usageLimits:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ApiUsageStatistics'
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Models.InfoMessage:
      type: object
      properties:
        information:
          type: string
          nullable: true
        ignoredPath:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath'
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDeleteResponse:
      type: object
      properties:
        archivedIds:
          type: string
          nullable: true
        hasMore:
          type: boolean
          nullable: true
        next:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Models.PatchIgnoredPath:
      type: object
      properties:
        ops:
          type: string
          nullable: true
        path:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse:
      type: object
      properties:
        contact:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactAPIModel'
        id:
          type: integer
          format: int32
          nullable: true
        hasMore:
          type: boolean
          nullable: true
        next:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactNotificationTypeAPIModel:
      type: object
      properties:
        notificationList:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.Enums.Alerts.ContactNotificationType'
          nullable: true
        smsEmail:
          type: string
          nullable: true
        voiceCallNumber:
          type: string
          nullable: true
      additionalProperties: false
    ? Catchpoint.Symphony.REST.Common.Response.APIResponse`1[Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse]
    : type: object
      properties:
        data:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactPostResponse'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.REST.Common.Models.InfoMessage'
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Catchpoint.Symphony.ViewModels.MessageModel'
          nullable: true
        completed:
          type: boolean
          readOnly: true
        traceId:
          type: string
          nullable: true
        usageLimits:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.ApiUsageStatistics'
      additionalProperties: false
    Catchpoint.Symphony.Enums.Alerts.ContactNotificationType:
      enum:
      - id: 0
        name: None
      - id: 1
        name: Email
      - id: 4
        name: EmailSms
      - id: 16
        name: Sms
      - id: 32
        name: Apns
      - id: 64
        name: Gcm
      - id: 128
        name: VoiceCall
      type: integer
      format: int32
    Catchpoint.Symphony.REST.Api.ConsumerStatistics:
      type: object
      properties:
        consumerId:
          type: integer
          format: int32
        requestCount:
          $ref: '#/components/schemas/Catchpoint.Symphony.REST.Api.Limit'
        maxPerDay:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    Catchpoint.Symphony.REST.Common.Response.v2_0.Contact.ContactDashboardAPIModel:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Catchpoint.Symphony.Enums.ContactPrimaryDashboardType'
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        doNotDisplayOtherDashboards:
          type: boolean
      additionalProperties: false
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT