Microcks website screenshot

Microcks

Microcks is an open source, cloud-native tool for API mocking and testing. It provides a platform for importing API contracts (OpenAPI, AsyncAPI, Postman Collections), generating mock responses, and running test suites. It shortens the feedback loop for API development teams.

1 APIs 0 Features
API TestingCloud NativeDevOpsMockingOpen Source

APIs

Microcks API

The Microcks platform API provides endpoints for managing services, test suites, and mock configurations programmatically. It supports integration into CI/CD pipelines for autom...

Collections

Pricing Plans

Microcks Plans Pricing

3 plans

PLANS

Rate Limits

Microcks Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

🔗
LinkedIn
LinkedIn
🌐
Portal
Portal
🔗
Documentation
Documentation
👥
GitHubOrganization
GitHubOrganization
🔗
Community
Community
📰
Blog
Blog
🔗
MCPServer
MCPServer

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Microcks API v1.14
  version: 1.14.0
request:
  auth:
    type: oauth2
    flow: client_credentials
    accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: mock
    type: folder
  items:
  - info:
      name: Get Services and APIs
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/services
      params:
      - name: page
        value: ''
        type: query
        description: Page of Services to retrieve (starts at and defaults to 0)
      - name: size
        value: ''
        type: query
        description: Size of a page. Maximum number of Services to include in a response (defaults to 20)
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get Services and APIs
  - info:
      name: Get the Services counter
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/services/count
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get the Services counter
  - info:
      name: Get Service
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/services/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of Service to managed
      - name: messages
        value: ''
        type: query
        description: Whether to include details on services messages into result. Default is false
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get Service
  - info:
      name: Delete Service
      type: http
    http:
      method: DELETE
      url: http://microcks.example.com/api/services/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of Service to managed
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete a Service
  - info:
      name: Override Service Operation
      type: http
    http:
      method: PUT
      url: http://microcks.example.com/api/services/:id/operation
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of Service to managed
      - name: operationName
        value: ''
        type: query
        description: Name of operation to update
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Override Service Operation
  - info:
      name: Update Service Metadata
      type: http
    http:
      method: PUT
      url: http://microcks.example.com/api/services/:id/metadata
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of Service to managed
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Update Service Metadata
  - info:
      name: Search for Services and APIs
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/services/search
      params:
      - name: queryMap
        value: ''
        type: query
        description: Map of criterion. Key can be simply 'name' with value as the searched string. You can also search by
          label using keys like 'labels.x' where 'x' is the label and value the label value
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Search for Services and APIs
  - info:
      name: Import a snapshot
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/import
      body:
        type: multipart-form
        data: []
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Import a repository snapshot previsouly exported into Microcks
  - info:
      name: Export a snapshot
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/export
      params:
      - name: serviceIds
        value: ''
        type: query
        description: List of service identifiers to export
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Export a repostiory snapshot with requested services
  - info:
      name: Get the already used labels for Services
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/services/labels
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get the already used labels for Services
- info:
    name: test
    type: folder
  items:
  - info:
      name: Create a new Test
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/tests
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Create a new Test
  - info:
      name: Get TestResults by Service
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/tests/service/:serviceId
      params:
      - name: serviceId
        value: ''
        type: path
        description: Unique identifier of Service to manage TestResults for
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get TestResults by Service
  - info:
      name: Get the TestResults for Service counter
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/tests/service/:serviceId/count
      params:
      - name: serviceId
        value: ''
        type: path
        description: Unique identifier of Service to manage TestResults for
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get the TestResults for Service counter
  - info:
      name: Get TestResult
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/tests/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of TestResult to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get TestResult
  - info:
      name: Get messages for TestCase
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/tests/:id/messages/:testCaseId
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of TestResult to manage
      - name: testCaseId
        value: ''
        type: path
        description: Unique identifier of TetsCaseResult to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get messages for TestCase
  - info:
      name: Report and create a new TestCaseResult
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/tests/:id/testCaseResult
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of TestResult to manage
      body:
        type: json
        data: '{}'
    docs: Report a TestCaseResult (typically used by a Test runner)
  - info:
      name: Get events for TestCase
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/tests/:id/events/:testCaseId
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of TestResult to manage
      - name: testCaseId
        value: ''
        type: path
        description: Unique identifier of TetsCaseResult to manage
    docs: Get events for TestCase
- info:
    name: job
    type: folder
  items:
  - info:
      name: Get ImportJobs
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/jobs
      params:
      - name: page
        value: ''
        type: query
        description: Page of ImportJobs to retrieve (starts at and defaults to 0)
      - name: size
        value: ''
        type: query
        description: Size of a page. Maximum number of ImportJobs to include in a response (defaults to 20)
      - name: name
        value: ''
        type: query
        description: Name like criterion for query
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Retrieve a list of ImportJobs
  - info:
      name: Create ImportJob
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/jobs
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Create a new ImportJob
  - info:
      name: Get ImportJob
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/jobs/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of ImportJob to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Retrieve an ImportJob using its identifier
  - info:
      name: Update ImportJob
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/jobs/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of ImportJob to manage
      body:
        type: json
        data: '{}'
    docs: Update an ImportJob
  - info:
      name: Delete ImportJob
      type: http
    http:
      method: DELETE
      url: http://microcks.example.com/api/jobs/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of ImportJob to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete an ImportJob
  - info:
      name: Get the ImportJobs counter
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/jobs/count
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get the ImportJobs counter
  - info:
      name: Start an ImportJob
      type: http
    http:
      method: PUT
      url: http://microcks.example.com/api/jobs/:id/start
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of ImportJob to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Starting an ImportJob forces it to immediatly import mock definitions
  - info:
      name: Stop an ImportJob
      type: http
    http:
      method: PUT
      url: http://microcks.example.com/api/jobs/:id/stop
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of ImportJob to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Stopping an ImportJob desactivate it, so that it won't execute at next schedule
  - info:
      name: Activate an ImportJob
      type: http
    http:
      method: PUT
      url: http://microcks.example.com/api/jobs/:id/activate
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of ImportJob to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Make an ImportJob active, so that it is executed
  - info:
      name: Download an artifact
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/artifact/download
      body:
        type: form-urlencoded
        data: []
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Ask Microcks to download an artifact and import it
  - info:
      name: Upload an artifact
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/artifact/upload
      params:
      - name: mainArtifact
        value: ''
        type: query
        description: Flag telling if this should be considered as primary or secondary artifact. Default to 'true'
      body:
        type: multipart-form
        data: []
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Uploads an artifact to be imported by Microcks.
- info:
    name: config
    type: folder
  items:
  - info:
      name: Get Secrets
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/secrets
      params:
      - name: page
        value: ''
        type: query
        description: Page of Secrets to retrieve (starts at and defaults to 0)
      - name: size
        value: ''
        type: query
        description: Size of a page. Maximum number of Secrets to include in a response (defaults to 20)
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get Secrets
  - info:
      name: Create a new Secret
      type: http
    http:
      method: POST
      url: http://microcks.example.com/api/secrets
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Create a new Secret
  - info:
      name: Get Secret
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/secrets/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of Secret to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Retrieve a Secret
  - info:
      name: Update Secret
      type: http
    http:
      method: PUT
      url: http://microcks.example.com/api/secrets/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of Secret to manage
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Update a Secret
  - info:
      name: Delete Secret
      type: http
    http:
      method: DELETE
      url: http://microcks.example.com/api/secrets/:id
      params:
      - name: id
        value: ''
        type: path
        description: Unique identifier of Secret to manage
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Delete a Secret
  - info:
      name: Get the Secrets counter
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/secrets/count
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get the Secrets counter
  - info:
      name: Get authentification configuration
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/keycloak/config
    docs: Get authentification configuration
  - info:
      name: Get features configuration
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/features/config
    docs: Get features configuration
  - info:
      name: Search for Secrets
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/secrets/search
      params:
      - name: name
        value: ''
        type: query
        description: Search using this name-like criterion
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Search for Secrets
- info:
    name: Default
    type: folder
  items:
  - info:
      name: Get Resource
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/resources/:name
      params:
      - name: name
        value: ''
        type: path
        description: Unique name/business identifier of the Service or API resource
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get Resource
  - info:
      name: Get Resources by Service
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/resources/service/:serviceId
      params:
      - name: serviceId
        value: ''
        type: path
        description: Unique identifier of the Service or API the resources are attached to
      auth:
        type: oauth2
        flow: client_credentials
        accessTokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get Resources by Service
- info:
    name: metrics
    type: folder
  items:
  - info:
      name: Get aggregated invocation statistics for a day
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/metrics/invocations/global
      params:
      - name: day
        value: ''
        type: query
        description: The day to get statistics for (formatted with yyyyMMdd pattern). Default to today if not provided.
    docs: Get aggregated invocation statistics for a day
  - info:
      name: Get aggregation of conformance metrics
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/metrics/conformance/aggregate
    docs: Get aggregation of conformance metrics
  - info:
      name: Get conformance metrics for a Service
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/metrics/conformance/service/:serviceId
      params:
      - name: serviceId
        value: ''
        type: path
        description: Unique Services identifier this metrics are related to
    docs: Get conformance metrics for a Service
  - info:
      name: Get top invocation statistics for a day
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/metrics/invocations/top
      params:
      - name: day
        value: ''
        type: query
        description: The day to get statistics for (formatted with yyyyMMdd pattern). Default to today if not provided.
      - name: limit
        value: ''
        type: query
        description: The number of top invoked mocks to return
    docs: Get top invocation statistics for a day
  - info:
      name: Get invocation statistics for Service
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/metrics/invocations/:serviceName/:serviceVersion
      params:
      - name: serviceName
        value: ''
        type: path
        description: Name of service to get statistics for
      - name: serviceVersion
        value: ''
        type: path
        description: Version of service to get statistics for
      - name: day
        value: ''
        type: query
        description: The day to get statistics for (formatted with yyyyMMdd pattern). Default to today if not provided.
    docs: Get invocation statistics for Service
  - info:
      name: Get aggregated invocations statistics for latest days
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/metrics/invocations/global/latest
      params:
      - name: limit
        value: ''
        type: query
        description: Number of days to get back in time. Default is 20.
    docs: Get aggregated invocations statistics for latest days
  - info:
      name: Get latest tests results
      type: http
    http:
      method: GET
      url: http://microcks.example.com/api/metrics/tests/latest
      params:
      - name: limit
        value: ''
        type: query
        description: Number of days to consider for test results to return. Default is 7 (one week)
    docs: Get latest tests results
bundled: true