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
Microcks API v1.14
OPENPricing Plans
Rate Limits
FinOps
Microcks Finops
FINOPSResources
🔗
LinkedIn
LinkedIn
🌐
Portal
Portal
🔗
Documentation
Documentation
👥
GitHubOrganization
GitHubOrganization
🔗
Community
Community
📰
Blog
Blog
🔗
MCPServer
MCPServer
Sources
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