openapi: 3.2.0 info: version: 1.0.0 title: Create Your Own Integration Custom Integration Endpoints API description: This API enables you to create and manage custom endpoints for inbound integrations. termsOfService: https://www.moogsoft.com/legal-information/express-terms-conditions/ contact: name: API Support url: https://docs.moogsoft.com/en/moogsoft-apis.html email: support@moogsoft.com license: url: https://www.moogsoft.com/legal-information name: Apex AIOps Incident Management Proprietary servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud security: - ApiKeyAuth: [] tags: - name: custom-integration-endpoints description: Operations for custom integration endpoints paths: /v1/integrations/byoapi: get: tags: - custom-integration-endpoints summary: Get all configured custom endpoints description: Gets all configured custom endpoints operationId: getAllEndpoints parameters: - name: integration in: query schema: $ref: '#/components/schemas/IntegrationType' responses: '200': description: Successfully retrieved all custom endpoints content: application/json: schema: $ref: '#/components/schemas/MoogResponseListOfEndpoint' '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: - integrations:view post: tags: - custom-integration-endpoints summary: Create new custom endpoint description: Create a new custom endpoint operationId: createCustomEndpoint requestBody: description: The config for the new endpoint required: true content: application/json: schema: $ref: '#/components/schemas/CreateEndpoint' responses: '200': description: Successfully created a new endpoint content: application/json: schema: $ref: '#/components/schemas/MoogResponseEndpoint' '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: - integrations:edit /v1/integrations/byoapi/{endpointId}: put: tags: - custom-integration-endpoints summary: Update a custom endpoint description: Updates a configured custom endpoint operationId: updateCustomEndpoint parameters: - name: endpointId in: path description: The unique id of the endpoint required: true schema: type: string requestBody: description: the endpoint config to update required: true content: application/json: schema: $ref: '#/components/schemas/BaseEndpointDto' responses: '200': description: Updated endpoint successfully content: application/json: schema: $ref: '#/components/schemas/MoogResponseEndpoint' '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: - integrations:edit get: tags: - custom-integration-endpoints summary: Get a custom endpoint description: Gets a custom endpoint by id operationId: getCustomEndpoint parameters: - name: endpointId in: path description: The unique id of the endpoint required: true schema: type: string responses: '200': description: Retrieved endpoint successfully content: application/json: schema: $ref: '#/components/schemas/MoogResponseEndpoint' '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: - integrations:view delete: tags: - custom-integration-endpoints summary: Delete a custom endpoint description: Deletes a custom endpoint by id operationId: deleteCustomEndpoint parameters: - name: endpointId in: path description: The unique id of the endpoint required: true schema: type: string responses: '200': description: Deleted endpoint successfully '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: - integrations:edit /v1/integrations/custom/{integrationId}: post: tags: - custom-integration-endpoints summary: Post payload to a custom endpoint description: Post a payload to a user defined endpoint operationId: postPayloadOnIntegrationId parameters: - name: x-forward-for in: header schema: {} - name: integrationId in: path description: The id of the integration required: true schema: type: string requestBody: description: User json/xml required: true content: application/json, application/xml: schema: type: object responses: '200': description: Successfully processed Json content: application/json: schema: {} '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: [] /v1/integrations/custom/{uuid}/{endpointName}: post: tags: - custom-integration-endpoints summary: Post urlencoded form-data payload to a custom endpoint description: Post a urlencoded form-data payload to a user defined endpoint operationId: postFormPayload parameters: - name: x-forward-for in: header schema: {} - name: endpointName in: path description: The name of the endpoint required: true schema: type: string - name: uuid in: path description: The unique id generated for your Moogsoft instance required: true schema: type: string requestBody: description: User url-encoded form data, containing form parameter "paylod" required: true content: application/json: schema: type: object application/x-www-form-urlencoded: schema: type: object properties: payload: type: string required: - payload responses: '200': description: Successfully processed url-encoded form content: application/json: schema: {} '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: [] components: schemas: Instant: type: number title: Instant format: int64 examples: - '2022-03-10T16:15:50Z' Mapping: type: object title: Mapping MoogResponseEndpoint: type: object title: Moog Response Endpoint description: Create Your Own Integration API Endpoint response body properties: status: type: string description: Success status indicator (always "success") examples: - success data: $ref: '#/components/schemas/Endpoint' required: - status - data Endpoint: type: object title: Endpoint description: A configured endpoint properties: endpointName: type: string pattern: ^[^\s]+$ minLength: 1 maxLength: 127 authRequired: type: boolean description: type: string maxLength: 500 id: type: string status: $ref: '#/components/schemas/EndpointStatus' endpointUrl: type: string draftConfigV2: $ref: '#/components/schemas/EndpointConfigDto' liveConfigV2: $ref: '#/components/schemas/EndpointConfigDto' type: $ref: '#/components/schemas/Type' integration: $ref: '#/components/schemas/IntegrationType' createdBy: type: string lastUpdatedBy: type: string created: $ref: '#/components/schemas/Instant' lastUpdated: $ref: '#/components/schemas/Instant' required: - endpointName - authRequired BaseEndpointDto: type: object title: Base Endpoint Dto properties: endpointName: type: string pattern: ^[^\s]+$ minLength: 1 maxLength: 127 authRequired: type: boolean description: type: string maxLength: 500 required: - endpointName - authRequired IntegrationType: type: string enum: - SPLUNK - ANSIBLE_TOWER - PROMETHEUS - APPDYNAMICS - PINGDOM - DYNATRACE - NEWRELIC - ZABBIX - AZURE - NAGIOS - SCOM title: Integration Type MoogResponseListOfEndpoint: type: object title: Moog Response List Of Endpoint description: Create Your Own Integration API Endpoint response body properties: status: type: string description: Success status indicator (always "success") examples: - success data: type: array items: $ref: '#/components/schemas/Endpoint' required: - status - data MoogErrorResponse: type: object description: Create Your Own Integration API error response body properties: status: type: string description: Error status indicator (always "error") examples: - error message: type: string additional: type: array items: type: string required: - status - message Type: type: string enum: - EVENT - METRIC title: Type MoogFailureResponse: type: object description: Create Your Own Integration API failure response body properties: status: type: string description: Failure status indicator (always "failure") examples: - failure message: type: string additional: type: array items: type: string required: - status - message CreateEndpoint: type: object title: Create Endpoint description: Information required to create an endpoint properties: endpointName: type: string pattern: ^[^\s]+$ minLength: 1 maxLength: 127 description: type: string maxLength: 500 type: $ref: '#/components/schemas/Type' integration: $ref: '#/components/schemas/IntegrationType' required: - endpointName - type EndpointConfigDto: type: object title: Endpoint Config Dto description: Create your own endpoint configuration. properties: batchKey: type: string description: Optional batch key mappings: type: array description: List of the mappings. minItems: 1 items: $ref: '#/components/schemas/Mapping' required: - mappings EndpointStatus: type: string enum: - PROVISIONED - ACTIVE - INACTIVE - ERROR title: Endpoint Status securitySchemes: ApiKeyAuth: type: apiKey description: API Key for accessing Create Your Own Integration API name: apiKey in: header externalDocs: url: https://docs.moogsoft.com/en/moogsoft-apis.html description: Find out more about Apex AIOps Incident Management