PRADIOTAMIGHTY DEVELOPERS

MIGHTY DEVELOPERS

List recipe versions

GET /v1/mic/recipes. MIC API request examples, required scopes and response schemas. Sandbox access requires an approved application.

Start here →

Request access

Service access is reviewed before credentials are issued. Public documentation and the read-only demo do not grant private sandbox or production access.

GET /v1/mic/recipes

Operation ID: listMicExecutableRecipes

Authenticate your application

After access approval, sandbox provisioning and license activation, create client credentials in your workspace. Keep MIGHTY_CLIENT_ID and MIGHTY_CLIENT_SECRET in your server environment. Exchange them for an access token with the required scope. This example uses a POSIX shell such as Bash.

curl --request POST "https://www.pradiota.com/sandbox/oauth/token" \
  --user "$MIGHTY_CLIENT_ID:$MIGHTY_CLIENT_SECRET" \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'scope=mic.recipes:read'

Set MIGHTY_ACCESS_TOKEN to the returned access_token. Send it as Authorization: Bearer and request a new token when it expires. MIC API access is not enabled yet; request sandbox access to prepare your integration.

Send a request

After sandbox access is approved, use an access token for your application. Set MIGHTY_ACCESS_TOKEN. After MIC access is approved, open the MIC console at /developers/console/mic, choose the application and credential, then Load current workspace. Use the returned micws_ ID as MIC_WORKSPACE_ID and replace the other MIC variables with your workspace’s resource IDs. The example sends Bearer authentication and required query parameters; copying it does not send a request.

Required scope: mic.recipes:read. Additional permissions: none.

curl --request GET "https://www.pradiota.com/sandbox/v1/mic/recipes" \
  --header "Authorization: Bearer ${MIGHTY_ACCESS_TOKEN}" \
  --header 'Accept: application/json' \
  --get \
  --data-urlencode "workspaceId=${MIC_WORKSPACE_ID}"
Query & header schemas
{
  "query": {
    "type": "object",
    "properties": {
      "workspaceId": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*(?![\\s\\S])",
        "x-forbidden-substrings": [
          ".."
        ]
      },
      "limit": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "cursor": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_-]{43}(?![\\s\\S])",
        "minLength": 43,
        "maxLength": 43
      },
      "sort": {
        "type": "string",
        "const": "versionId"
      }
    },
    "required": [
      "workspaceId"
    ],
    "additionalProperties": false
  },
  "headers": {}
}
Success response schema

HTTP 200

{
  "$ref": "#/$defs/PublicRecipeOfferPage",
  "$defs": {
    "PublicRecipeOfferPage": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicRecipeOffer"
          },
          "minItems": 0,
          "maxItems": 100
        },
        "page": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            },
            "nextCursor": {
              "oneOf": [
                {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9_-]{43}(?![\\s\\S])",
                  "minLength": 43,
                  "maxLength": 43
                },
                {
                  "type": "null"
                }
              ]
            },
            "hasMore": {
              "type": "boolean"
            }
          },
          "required": [
            "limit",
            "nextCursor",
            "hasMore"
          ],
          "additionalProperties": false
        },
        "meta": {
          "type": "object",
          "properties": {
            "requestId": {
              "type": "string",
              "pattern": "^micreq_[a-f0-9]{32}(?![\\s\\S])",
              "minLength": 39,
              "maxLength": 39
            }
          },
          "required": [
            "requestId"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "data",
        "page",
        "meta"
      ],
      "additionalProperties": false
    },
    "PublicRecipeOffer": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^micoffer_[a-f0-9]{32}(?![\\s\\S])",
          "minLength": 41,
          "maxLength": 41
        },
        "workspaceId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*(?![\\s\\S])",
          "x-forbidden-substrings": [
            ".."
          ]
        },
        "environment": {
          "type": "string",
          "const": "SANDBOX"
        },
        "resourceVersion": {
          "type": "string",
          "pattern": "^[1-9][0-9]{0,18}(?![\\s\\S])",
          "maxLength": 19
        },
        "recipe": {
          "$ref": "#/$defs/PublicRecipeDefinition"
        },
        "availability": {
          "type": "string",
          "const": "REVIEWED_REFERENCE"
        },
        "executionAvailable": {
          "type": "boolean",
          "const": false
        },
        "approvedAt": {
          "type": "string",
          "format": "date-time",
          "maxLength": 40
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time",
          "maxLength": 40
        }
      },
      "required": [
        "id",
        "workspaceId",
        "environment",
        "resourceVersion",
        "recipe",
        "availability",
        "executionAvailable",
        "approvedAt",
        "expiresAt"
      ],
      "additionalProperties": false
    },
    "PublicRecipeDefinition": {
      "type": "object",
      "properties": {
        "recipeId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 42,
          "pattern": "^micrecipe_[a-f0-9]{32}(?![\\s\\S])"
        },
        "versionId": {
          "type": "string",
          "pattern": "^micrecipev_[a-f0-9]{32}(?![\\s\\S])",
          "minLength": 43,
          "maxLength": 43
        },
        "versionHash": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}(?![\\s\\S])",
          "minLength": 64,
          "maxLength": 64
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "inputs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicRecipeInputRequirement"
          },
          "minItems": 1,
          "maxItems": 100
        },
        "parameters": {
          "$ref": "#/$defs/PublicRecipeParameters"
        },
        "requiredPermissions": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+(?![\\s\\S])"
          },
          "minItems": 0,
          "maxItems": 200,
          "uniqueItems": true
        },
        "stopAfterStage": {
          "type": "string",
          "enum": [
            "SIFT",
            "REFINE",
            "BLEND",
            "CHURN",
            "TASTE",
            "FREEZE"
          ]
        }
      },
      "required": [
        "recipeId",
        "versionId",
        "versionHash",
        "name",
        "inputs",
        "parameters",
        "requiredPermissions",
        "stopAfterStage"
      ],
      "additionalProperties": false
    },
    "PublicRecipeInputRequirement": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*(?![\\s\\S])",
          "x-forbidden-substrings": [
            ".."
          ]
        },
        "schemaVersionId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*(?![\\s\\S])",
          "x-forbidden-substrings": [
            ".."
          ]
        },
        "valueState": {
          "type": "string",
          "enum": [
            "RAW",
            "EXTRACTED",
            "NORMALIZED",
            "MATCHED",
            "DERIVED"
          ]
        },
        "schema": {
          "$ref": "#/$defs/PublicRecipeParameters"
        }
      },
      "required": [
        "name",
        "schemaVersionId",
        "valueState",
        "schema"
      ],
      "additionalProperties": false
    },
    "PublicRecipeParameters": {
      "type": "object",
      "properties": {
        "versionId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*(?![\\s\\S])",
          "x-forbidden-substrings": [
            ".."
          ]
        },
        "contentHash": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}(?![\\s\\S])",
          "minLength": 64,
          "maxLength": 64
        },
        "definition": {
          "$ref": "#/$defs/PublicRecipeSchemaJson"
        },
        "references": {
          "type": "object",
          "maxProperties": 200,
          "propertyNames": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*(?![\\s\\S])",
            "x-forbidden-substrings": [
              ".."
            ]
          },
          "additionalProperties": {
            "$ref": "#/$defs/PublicRecipeSchemaJson"
          }
        }
      },
      "required": [
        "versionId",
        "contentHash",
        "definition",
        "references"
      ],
      "additionalProperties": false
    },
    "PublicRecipeSchemaJson": {
      "type": "object",
      "additionalProperties": true,
      "x-approved-projection-bytes": "Complete parameter/input schemas and published owned reference closures; at most 65536 UTF-8 bytes including the full offer definition. No remote fetching."
    }
  }
}

Use cURL or install the MIC SDK and follow the language examples.

Browse MIC methods