CHNLSYNC Customer Helpdesk API

The customer-helpdesk API from CHNLSYNC — 5 operation(s) for customer-helpdesk.

GitHub OpenAPI

Operations 6

GET /api/v1/customer/tickets Get Tickets #
POST /api/v1/customer/tickets Post Ticket #
GET /api/v1/customer/tickets/{ticket_id} Get Ticket #
POST /api/v1/customer/tickets/{ticket_id}/comments Post Ticket Comment #
POST /api/v1/customer/tickets/{ticket_id}/close Close Ticket #
GET /api/v1/customer/installs Get Installs #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/chnlsync-com:chnlsync-com-customer-helpdesk-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

chnlsync-com-customer-helpdesk-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chnlsync Com Customer Helpdesk API
  version: 0.1.0
  x-refined-note:
  - x-source differs across the merged source definitions and was not carried
  description: 'Operations tagged customer-helpdesk across 2 of this provider''s published API definitions: chnlsync-com-openapi.json, chnlsync-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.chnlsync.dev
  description: CHNLSYNC API host advertised in https://chnlsync.com/llms.txt (servers[] absent in the served spec; added here)
tags:
- name: customer-helpdesk
paths:
  /api/v1/customer/tickets:
    get:
      tags:
      - customer-helpdesk
      summary: Get Tickets
      description: The caller's tickets and the request types they can open.
      operationId: get_tickets_api_v1_customer_tickets_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: X-Sync2-Member
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member
      - name: X-Sync2-Member-Email
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member-Email
      - name: X-Sync2-Company
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Company
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketListRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - customer-helpdesk
      summary: Post Ticket
      description: Open a ticket; CHNLSYNC is paged and the follow-up clock starts.
      operationId: post_ticket_api_v1_customer_tickets_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: X-Sync2-Member
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member
      - name: X-Sync2-Member-Email
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member-Email
      - name: X-Sync2-Company
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customer/tickets/{ticket_id}:
    get:
      tags:
      - customer-helpdesk
      summary: Get Ticket
      description: One ticket with its visible timeline.
      operationId: get_ticket_api_v1_customer_tickets__ticket_id__get
      security:
      - APIKeyHeader: []
      parameters:
      - name: ticket_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Ticket Id
      - name: X-Sync2-Member
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member
      - name: X-Sync2-Member-Email
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member-Email
      - name: X-Sync2-Company
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Company
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customer/tickets/{ticket_id}/comments:
    post:
      tags:
      - customer-helpdesk
      summary: Post Ticket Comment
      description: Reply on a ticket.
      operationId: post_ticket_comment_api_v1_customer_tickets__ticket_id__comments_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: ticket_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Ticket Id
      - name: X-Sync2-Member
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member
      - name: X-Sync2-Member-Email
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member-Email
      - name: X-Sync2-Company
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketComment'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customer/tickets/{ticket_id}/close:
    post:
      tags:
      - customer-helpdesk
      summary: Close Ticket
      description: Close a ticket the buyer no longer needs.
      operationId: close_ticket_api_v1_customer_tickets__ticket_id__close_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: ticket_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Ticket Id
      - name: X-Sync2-Member
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member
      - name: X-Sync2-Member-Email
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member-Email
      - name: X-Sync2-Company
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Company
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/customer/installs:
    get:
      tags:
      - customer-helpdesk
      summary: Get Installs
      description: The caller's tracked installs with every dated step.
      operationId: get_installs_api_v1_customer_installs_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: X-Sync2-Member
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member
      - name: X-Sync2-Member-Email
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Member-Email
      - name: X-Sync2-Company
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Sync2-Company
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstallListRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    InstallRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        service_type:
          type: string
          enum:
          - connectivity
          - ucaas
          - ccaas
          - cpaas
          - cx_ai
          - sase
          - security
          - cloud
          - colocation
          - mobility
          - pots
          - other
          title: Service Type
        service_label:
          type: string
          title: Service Label
        provider:
          type: string
          title: Provider
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        status:
          type: string
          enum:
          - planned
          - ordered
          - scheduled
          - installed
          - complete
          - cancelled
          title: Status
        status_label:
          type: string
          title: Status Label
        site_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Site Id
        site_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Site Name
        service_line_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Service Line Id
        case_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Case Id
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        completed_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Completed At
        milestones:
          items:
            $ref: '#/components/schemas/MilestoneRead'
          type: array
          title: Milestones
        next_milestone:
          anyOf:
          - $ref: '#/components/schemas/MilestoneRead'
          - type: 'null'
        late_count:
          type: integer
          title: Late Count
        max_slip_days:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Slip Days
      type: object
      required:
      - id
      - service_type
      - service_label
      - provider
      - description
      - status
      - status_label
      - site_id
      - site_name
      - service_line_id
      - case_id
      - created_at
      - updated_at
      - completed_at
      - milestones
      - next_milestone
      - late_count
      - max_slip_days
      title: InstallRead
      description: One order being installed, as the buyer sees it.
    TicketSummaryRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        kind:
          type: string
          enum:
          - outage
          - billing
          - move
          - add
          - change
          - disconnect
          - port
          - other
          title: Kind
        kind_label:
          type: string
          title: Kind Label
        status:
          type: string
          enum:
          - open
          - with_provider
          - waiting_on_customer
          - resolved
          - closed
          - cancelled
          title: Status
        status_label:
          type: string
          title: Status Label
        priority:
          type: string
          enum:
          - normal
          - high
          - urgent
          title: Priority
        subject:
          type: string
          title: Subject
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
        service_line_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Service Line Id
        site_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Site Id
        site_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Site Name
        waiting_on:
          anyOf:
          - type: string
            enum:
            - chnlsync
            - provider
            - you
          - type: 'null'
          title: Waiting On
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - id
      - kind
      - kind_label
      - status
      - status_label
      - priority
      - subject
      - provider
      - service_line_id
      - site_id
      - site_name
      - waiting_on
      - created_at
      - updated_at
      title: TicketSummaryRead
      description: A ticket row in the buyer's list.
    TicketListRead:
      properties:
        open_count:
          type: integer
          title: Open Count
        tickets:
          items:
            $ref: '#/components/schemas/TicketSummaryRead'
          type: array
          title: Tickets
        kinds:
          items:
            $ref: '#/components/schemas/TicketKindRead'
          type: array
          title: Kinds
      type: object
      required:
      - open_count
      - tickets
      - kinds
      title: TicketListRead
      description: The buyer's tickets plus the request types they can open.
    TicketCreate:
      properties:
        kind:
          type: string
          enum:
          - outage
          - billing
          - move
          - add
          - change
          - disconnect
          - port
          - other
          title: Kind
        service_line_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Service Line Id
        site_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Site Id
        subject:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          title: Subject
        description:
          type: string
          maxLength: 4000
          minLength: 1
          title: Description
        details:
          additionalProperties:
            type: string
          type: object
          title: Details
        priority:
          anyOf:
          - type: string
            enum:
            - normal
            - high
            - urgent
          - type: 'null'
          title: Priority
      additionalProperties: false
      type: object
      required:
      - kind
      - description
      title: TicketCreate
      description: Open a ticket on a service (or a site, or nothing specific).
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    TicketEventRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        kind:
          type: string
          title: Kind
        actor:
          type: string
          enum:
          - customer
          - operator
          - system
          title: Actor
        author:
          type: string
          title: Author
          description: '"You", the member''s name, "CHNLSYNC" or "Sync".'
        body:
          anyOf:
          - type: string
          - type: 'null'
          title: Body
        from_status:
          anyOf:
          - type: string
            enum:
            - open
            - with_provider
            - waiting_on_customer
            - resolved
            - closed
            - cancelled
          - type: 'null'
          title: From Status
        to_status:
          anyOf:
          - type: string
            enum:
            - open
            - with_provider
            - waiting_on_customer
            - resolved
            - closed
            - cancelled
          - type: 'null'
          title: To Status
        visible_to_customer:
          type: boolean
          title: Visible To Customer
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - kind
      - actor
      - author
      - body
      - from_status
      - to_status
      - visible_to_customer
      - created_at
      title: TicketEventRead
      description: One timeline entry the reader is allowed to see.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TicketRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        kind:
          type: string
          enum:
          - outage
          - billing
          - move
          - add
          - change
          - disconnect
          - port
          - other
          title: Kind
        kind_label:
          type: string
          title: Kind Label
        status:
          type: string
          enum:
          - open
          - with_provider
          - waiting_on_customer
          - resolved
          - closed
          - cancelled
          title: Status
        status_label:
          type: string
          title: Status Label
        priority:
          type: string
          enum:
          - normal
          - high
          - urgent
          title: Priority
        subject:
          type: string
          title: Subject
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
        service_line_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Service Line Id
        site_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Site Id
        site_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Site Name
        waiting_on:
          anyOf:
          - type: string
            enum:
            - chnlsync
            - provider
            - you
          - type: 'null'
          title: Waiting On
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        description:
          type: string
          title: Description
        details:
          additionalProperties:
            type: string
          type: object
          title: Details
        provider_ticket_ref:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider Ticket Ref
        events:
          items:
            $ref: '#/components/schemas/TicketEventRead'
          type: array
          title: Events
      type: object
      required:
      - id
      - kind
      - kind_label
      - status
      - status_label
      - priority
      - subject
      - provider
      - service_line_id
      - site_id
      - site_name
      - waiting_on
      - created_at
      - updated_at
      - description
      - details
      - provider_ticket_ref
      - events
      title: TicketRead
      description: A ticket with its details and visible timeline.
    ChecklistFieldRead:
      properties:
        key:
          type: string
          title: Key
        label:
          type: string
          title: Label
        required:
          type: boolean
          title: Required
        hint:
          type: string
          title: Hint
      type: object
      required:
      - key
      - label
      - required
      - hint
      title: ChecklistFieldRead
      description: A checklist field as the buyer app renders it.
    MilestoneRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        kind:
          type: string
          enum:
          - order_confirmed
          - site_survey
          - equipment_shipped
          - install
          - cutover
          - number_port_loa
          - number_port_foc
          - number_port_complete
          - first_invoice
          - other
          title: Kind
        label:
          type: string
          title: Label
        sort_order:
          type: integer
          title: Sort Order
        promised_on:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Promised On
        original_promised_on:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Original Promised On
        actual_on:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Actual On
        note:
          anyOf:
          - type: string
          - type: 'null'
          title: Note
        state:
          type: string
          enum:
          - done
          - late
          - upcoming
          - unscheduled
          title: State
        slip_days:
          anyOf:
          - type: integer
          - type: 'null'
          title: Slip Days
          description: Days later than the first promise (negative = early); None if never promised.
        days_until:
          anyOf:
          - type: integer
          - type: 'null'
          title: Days Until
          description: Days until the promised date, if not done.
      type: object
      required:
      - id
      - kind
      - label
      - sort_order
      - promised_on
      - original_promised_on
      - actual_on
      - note
      - state
      - slip_days
      - days_until
      title: MilestoneRead
      description: One dated step with its state and slip.
    TicketComment:
      properties:
        body:
          type: string
          maxLength: 4000
          minLength: 1
          title: Body
      additionalProperties: false
      type: object
      required:
      - body
      title: TicketComment
      description: Add a comment to a ticket.
    TicketKindRead:
      properties:
        kind:
          type: string
          enum:
          - outage
          - billing
          - move
          - add
          - change
          - disconnect
          - port
          - other
          title: Kind
        label:
          type: string
          title: Label
        default_priority:
          type: string
          enum:
          - normal
          - high
          - urgent
          title: Default Priority
        checklist:
          items:
            $ref: '#/components/schemas/ChecklistFieldRead'
          type: array
          title: Checklist
      type: object
      required:
      - kind
      - label
      - default_priority
      - checklist
      title: TicketKindRead
      description: A request type with its label, default priority and checklist.
    InstallListRead:
      properties:
        active_count:
          type: integer
          title: Active Count
        installs:
          items:
            $ref: '#/components/schemas/InstallRead'
          type: array
          title: Installs
      type: object
      required:
      - active_count
      - installs
      title: InstallListRead
      description: The buyer's installs, active first.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-Agent-API-Key
x-refined-from:
- chnlsync-com-openapi.json
- chnlsync-com-openapi.yml