Gremlin integration-invocations API

Used for interacting with the Private Network Integration

Operations 4

GET /integration-invocations Returns recent private network invocations #
POST /integration-invocations Creates a webhook invocation based on the endpoint configuration #
POST /integration-invocations/{invocationId}/run-test-endpoint Test an endpoint configuration. #
POST /integration-invocations/{invocationId}/run-test-evaluation Test an evaluation configuration. #

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/gremlin-integration-invocations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

gremlin-integration-invocations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gremlin agents Integration Invocations API
  description: The API for interacting with the Gremlin Failure-as-a-Service platform
  termsOfService: https://www.gremlin.com/terms_of_service_2017_03_24
  contact:
    name: Gremlin Support
    email: support@gremlin.com
  license:
    name: Gremlin License
    url: https://www.gremlin.com/license_2017_03_24
  version: '1.0'
servers:
- url: https://api.gremlin.com/v1
  description: Gremlin API v1
tags:
- name: integration-invocations
  description: Used for interacting with the Private Network Integration
paths:
  /integration-invocations:
    get:
      tags:
      - integration-invocations
      summary: Returns recent private network invocations
      description: 'This operation will return a list of matching invocations

        Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)'
      operationId: list_1
      parameters:
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivateNetworkInvocationModelResponse'
        '403':
          description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - MINIMUM_TEAM_PRIVILEGES
    post:
      tags:
      - integration-invocations
      summary: Creates a webhook invocation based on the endpoint configuration
      description: Requires the privilege [`MINIMUM_TEAM_PRIVILEGES`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: createInvocation
      parameters:
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      requestBody:
        description: JSON request to create a private network integration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePrivateNetworkInvocationRequest'
        required: true
      responses:
        '400':
          description: Bad Request
        '403':
          description: 'User requires privilege for target team: MINIMUM_TEAM_PRIVILEGES'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - MINIMUM_TEAM_PRIVILEGES
  /integration-invocations/{invocationId}/run-test-endpoint:
    post:
      tags:
      - integration-invocations
      summary: Test an endpoint configuration.
      description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: testEndpointConfiguration
      parameters:
      - name: invocationId
        in: path
        required: true
        schema:
          type: string
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '204':
          description: No Content
        '400':
          description: Bad Request
        '404':
          description: Not found
        '500':
          description: Internal error
        '403':
          description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - INTEGRATIONS_WRITE
  /integration-invocations/{invocationId}/run-test-evaluation:
    post:
      tags:
      - integration-invocations
      summary: Test an evaluation configuration.
      description: Requires the privilege [`INTEGRATIONS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: testEvaluationConfiguration
      parameters:
      - name: invocationId
        in: path
        required: true
        schema:
          type: string
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      requestBody:
        description: Request containing the evaluation configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestPrivateNetworkEvaluationConfigurationRequest'
        required: true
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '404':
          description: Not found
        '204':
          description: No Content
        '500':
          description: Internal error
        '403':
          description: 'User requires privilege for target team: INTEGRATIONS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - INTEGRATIONS_WRITE
components:
  schemas:
    TeamExternalIntegrationReference:
      title: StatusCheckRequest.TeamExternalIntegrationReference
      required:
      - name
      type: object
      properties:
        type:
          type: string
          description: The type of the external integration for the health check to be created/updated
          enum:
          - JIRA
          - DATADOG
          - DATADOG_EU
          - DATADOG_US3
          - DATADOG_US5
          - DATADOG_US1_FED
          - PAGERDUTY
          - NEWRELIC
          - GRAFANA
          - DYNATRACE
          - APPDYNAMICS
          - PROMETHEUS
          - CUSTOM
          - K6
          - LOAD_GENERATOR_CUSTOM
          - AWS
          - AZURE
        observabilityToolType:
          type: string
          description: The observability tool type of the external integration for the health check to be created/updated
          enum:
          - DATADOG
          - PAGERDUTY
          - NEWRELIC
          - GRAFANA
          - DYNATRACE
          - APPDYNAMICS
          - PROMETHEUS
          - CUSTOM
          - AWS
          - AZURE
        domain:
          type: string
          description: The domain of the observability tool type of the external integration for the health check to be created/updated
        name:
          type: string
          description: The name of the external integration for the health check to be created/updated
      description: Represents the configuration for referencing an external integration
    ResponseBodyEvaluation:
      required:
      - op
      - predicates
      type: object
      properties:
        op:
          type: string
          description: The operation to logically combine predicates into a success or failure
          enum:
          - AND
          - OR
        predicates:
          type: array
          description: The list of predicates to evaluate against the status check response body
          items:
            $ref: '#/components/schemas/PredicateObject'
      description: The configuration for evaluating the success of a response body
    PrivateNetworkResponsePropertiesModel:
      type: object
      properties:
        invocationTime:
          type: string
          format: date-time
        httpStatusCode:
          type: integer
          format: int32
        requestLatencyMs:
          type: integer
          format: int32
        responseBody:
          type: string
        contentType:
          type: string
        responseHeaders:
          type: object
          additionalProperties:
            type: string
    PredicateObject:
      required:
      - jpQuery
      - rValue
      - type
      type: object
      properties:
        comparator:
          $ref: '#/components/schemas/HasCompareFunctionObject'
        type:
          type: string
          description: The type of primitive this predicate operates on
          enum:
          - String
          - Number
          - Boolean
        jpQuery:
          type: string
          description: The json path query to run to read from the response body
        rValue:
          type: object
          description: The right hand value of the predicate
      description: The list of predicates to evaluate against the status check response body
      discriminator:
        propertyName: type
    HasCompareFunctionObject:
      type: object
    PrivateNetworkInvocationModel:
      type: object
      properties:
        companyId:
          type: string
        invocationId:
          type: string
        status:
          type: string
          enum:
          - SUCCESS
          - ERROR
          - TIMEOUT
          - AGENT_TIMEOUT
          - UNKNOWN
          - PENDING
          - RUNNING
        webhookId:
          type: string
        requestProperties:
          $ref: '#/components/schemas/PrivateNetworkRequestPropertiesModel'
        responses:
          type: array
          items:
            $ref: '#/components/schemas/PrivateNetworkResponsePropertiesModel'
        noOfRetries:
          type: integer
          format: int32
        timeout:
          type: integer
          format: int32
        retryWaitTime:
          type: integer
          format: int32
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        executedByClientID:
          type: string
        errorMessage:
          type: string
        teamId:
          type: string
        tags:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    EndpointConfiguration:
      required:
      - url
      type: object
      properties:
        url:
          type: string
          description: The URL of the status check
          format: url
        method:
          type: string
          description: The method type of the status check
          enum:
          - GET
          - POST
          - PUT
          - PATCH
        headers:
          type: object
          additionalProperties:
            type: string
            description: Optional request headers to be used when the status check is invoked
          description: Optional request headers to be used when the status check is invoked
        payload:
          type: string
          description: Payload for POST type of request
        headersArn:
          type: string
          description: Optional request headers pulled from a remote AWS resource holding JSON-encoded key-values that make up the headers
    PrivateNetworkInvocationModelResponse:
      type: object
      properties:
        invocations:
          type: array
          items:
            $ref: '#/components/schemas/PrivateNetworkInvocationModel'
    CreatePrivateNetworkInvocationRequest:
      required:
      - endpointConfiguration
      type: object
      properties:
        endpointConfiguration:
          $ref: '#/components/schemas/EndpointConfiguration'
        teamExternalIntegration:
          $ref: '#/components/schemas/TeamExternalIntegrationReference'
        webhookId:
          type: string
        multiSelectTags:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    EvaluationConfiguration:
      required:
      - okStatusCodes
      type: object
      properties:
        okLatencyMaxMs:
          type: integer
          description: The maximum latency in milliseconds for a successful status check
          format: int32
        okStatusCodes:
          type: array
          description: The list of successful response status codes for a successful status check
          items:
            type: string
            description: The list of successful response status codes for a successful status check
        responseBodyEvaluation:
          $ref: '#/components/schemas/ResponseBodyEvaluation'
      description: The configuration for evaluating the success/failure of a status check
    TestPrivateNetworkEvaluationConfigurationRequest:
      required:
      - evaluationConfiguration
      type: object
      properties:
        evaluationConfiguration:
          $ref: '#/components/schemas/EvaluationConfiguration'
    PrivateNetworkRequestPropertiesModel:
      type: object
      properties:
        uri:
          type: string
          format: url
        headers:
          type: object
          additionalProperties:
            type: string
        method:
          type: string
          enum:
          - GET
          - POST
          - PUT
        payload:
          type: string
        headersArn:
          type: string