openapi: 3.1.0 info: title: Freshservice API v2 version: "v2" description: | Best-effort OpenAPI 3.1 description of the Freshservice ITSM REST API v2. Generated from public documentation; not an official spec. contact: name: Freshservice Developer Portal url: https://api.freshservice.com/ servers: - url: https://{domain}.freshservice.com/api/v2 variables: domain: default: example description: Freshservice account subdomain security: - basicAuth: [] tags: - name: Tickets - name: Problems - name: Changes - name: Releases - name: Assets - name: Agents - name: Requesters - name: Groups paths: /tickets: get: tags: [Tickets] operationId: listTickets parameters: - $ref: "#/components/parameters/Page" - $ref: "#/components/parameters/PerPage" responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Tickets] operationId: createTicket requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /tickets/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Tickets] operationId: getTicket responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Tickets] operationId: updateTicket requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Tickets] operationId: deleteTicket responses: "204": { description: No Content } /problems: get: tags: [Problems] operationId: listProblems responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Problems] operationId: createProblem requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /problems/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Problems] operationId: getProblem responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Problems] operationId: updateProblem requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Problems] operationId: deleteProblem responses: "204": { description: No Content } /changes: get: tags: [Changes] operationId: listChanges responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Changes] operationId: createChange requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /changes/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Changes] operationId: getChange responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Changes] operationId: updateChange requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Changes] operationId: deleteChange responses: "204": { description: No Content } /releases: get: tags: [Releases] operationId: listReleases responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Releases] operationId: createRelease requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /releases/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Releases] operationId: getRelease responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Releases] operationId: updateRelease requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Releases] operationId: deleteRelease responses: "204": { description: No Content } /assets: get: tags: [Assets] operationId: listAssets responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Assets] operationId: createAsset requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /assets/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Assets] operationId: getAsset responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Assets] operationId: updateAsset requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Assets] operationId: deleteAsset responses: "204": { description: No Content } /agents: get: tags: [Agents] operationId: listAgents responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Agents] operationId: createAgent requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /agents/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Agents] operationId: getAgent responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Agents] operationId: updateAgent requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Agents] operationId: deleteAgent responses: "204": { description: No Content } /requesters: get: tags: [Requesters] operationId: listRequesters responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Requesters] operationId: createRequester requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /requesters/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Requesters] operationId: getRequester responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Requesters] operationId: updateRequester requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Requesters] operationId: deleteRequester responses: "204": { description: No Content } /agent_groups: get: tags: [Groups] operationId: listAgentGroups responses: "200": { $ref: "#/components/responses/Ok" } post: tags: [Groups] operationId: createAgentGroup requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "201": { $ref: "#/components/responses/Ok" } /agent_groups/{id}: parameters: [{ $ref: "#/components/parameters/Id" }] get: tags: [Groups] operationId: getAgentGroup responses: "200": { $ref: "#/components/responses/Ok" } put: tags: [Groups] operationId: updateAgentGroup requestBody: required: true content: application/json: schema: { $ref: "#/components/schemas/Object" } responses: "200": { $ref: "#/components/responses/Ok" } delete: tags: [Groups] operationId: deleteAgentGroup responses: "204": { description: No Content } components: parameters: Id: in: path name: id required: true schema: { type: integer, format: int64 } Page: in: query name: page schema: { type: integer, default: 1 } PerPage: in: query name: per_page schema: { type: integer, default: 30, maximum: 100 } securitySchemes: basicAuth: type: http scheme: basic description: | HTTP Basic with API key as username and "X" as password. schemas: Object: type: object additionalProperties: true responses: Ok: description: Successful response content: application/json: schema: { $ref: "#/components/schemas/Object" }