naftiko: 1.0.0-alpha2 info: label: ServiceNow Trouble Ticket Open API — Trouble Ticket description: 'ServiceNow Trouble Ticket Open API — Trouble Ticket. 4 operations. Lead operation: Servicenow Retrieve All Trouble Tickets. Self-contained Naftiko capability covering one Servicenow business surface.' tags: - Servicenow - Trouble Ticket created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SERVICENOW_API_KEY: SERVICENOW_API_KEY capability: consumes: - type: http namespace: trouble-ticket-trouble-ticket baseUri: https://{instance}.servicenow.com/api/sn_ind_tsm_sdwan/ticket description: ServiceNow Trouble Ticket Open API — Trouble Ticket business capability. Self-contained, no shared references. resources: - name: troubleTicket path: /troubleTicket operations: - name: gettroubletickets method: GET description: Servicenow Retrieve All Trouble Tickets outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string description: List of fields to return in the response. Invalid fields are ignored. - name: id in: query type: string description: Filter trouble tickets by sys_id - name: limit in: query type: integer description: Maximum number of records to return - name: offset in: query type: integer description: Starting index at which to begin retrieving records - name: severity in: query type: string description: Filter trouble tickets by severity - name: status in: query type: string description: Filter trouble tickets by status - name: ticketType in: query type: string description: Filter trouble tickets by ticket type - name: createtroubleticket method: POST description: Servicenow Create a Trouble Ticket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: troubleTicket-id path: /troubleTicket/{id} operations: - name: gettroubleticketbyid method: GET description: Servicenow Retrieve a Specific Trouble Ticket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Sys_id of the case or incident record to retrieve required: true - name: fields in: query type: string description: List of fields to return in the response. Invalid fields are ignored. - name: updatetroubleticket method: PATCH description: Servicenow Update a Trouble Ticket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Sys_id of the case or incident record to update required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: basic username: '{{env.SERVICENOW_USER}}' password: '{{env.SERVICENOW_PASS}}' exposes: - type: rest namespace: trouble-ticket-trouble-ticket-rest port: 8080 description: REST adapter for ServiceNow Trouble Ticket Open API — Trouble Ticket. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/troubleticket name: troubleticket description: REST surface for troubleTicket. operations: - method: GET name: gettroubletickets description: Servicenow Retrieve All Trouble Tickets call: trouble-ticket-trouble-ticket.gettroubletickets with: fields: rest.fields id: rest.id limit: rest.limit offset: rest.offset severity: rest.severity status: rest.status ticketType: rest.ticketType outputParameters: - type: object mapping: $. - method: POST name: createtroubleticket description: Servicenow Create a Trouble Ticket call: trouble-ticket-trouble-ticket.createtroubleticket with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/troubleticket/{id} name: troubleticket-id description: REST surface for troubleTicket-id. operations: - method: GET name: gettroubleticketbyid description: Servicenow Retrieve a Specific Trouble Ticket call: trouble-ticket-trouble-ticket.gettroubleticketbyid with: id: rest.id fields: rest.fields outputParameters: - type: object mapping: $. - method: PATCH name: updatetroubleticket description: Servicenow Update a Trouble Ticket call: trouble-ticket-trouble-ticket.updatetroubleticket with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: trouble-ticket-trouble-ticket-mcp port: 9090 transport: http description: MCP adapter for ServiceNow Trouble Ticket Open API — Trouble Ticket. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: servicenow-retrieve-all-trouble-tickets description: Servicenow Retrieve All Trouble Tickets hints: readOnly: true destructive: false idempotent: true call: trouble-ticket-trouble-ticket.gettroubletickets with: fields: tools.fields id: tools.id limit: tools.limit offset: tools.offset severity: tools.severity status: tools.status ticketType: tools.ticketType outputParameters: - type: object mapping: $. - name: servicenow-create-trouble-ticket description: Servicenow Create a Trouble Ticket hints: readOnly: false destructive: false idempotent: false call: trouble-ticket-trouble-ticket.createtroubleticket with: body: tools.body outputParameters: - type: object mapping: $. - name: servicenow-retrieve-specific-trouble-ticket description: Servicenow Retrieve a Specific Trouble Ticket hints: readOnly: true destructive: false idempotent: true call: trouble-ticket-trouble-ticket.gettroubleticketbyid with: id: tools.id fields: tools.fields outputParameters: - type: object mapping: $. - name: servicenow-update-trouble-ticket description: Servicenow Update a Trouble Ticket hints: readOnly: false destructive: false idempotent: true call: trouble-ticket-trouble-ticket.updatetroubleticket with: id: tools.id body: tools.body outputParameters: - type: object mapping: $.