CHNLSYNC Customer Helpdesk API
The customer-helpdesk API from CHNLSYNC — 5 operation(s) for customer-helpdesk.
The customer-helpdesk API from CHNLSYNC — 5 operation(s) for customer-helpdesk.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/chnlsync-com:chnlsync-com-customer-helpdesk-api"
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.
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: 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