PRADIOTAMIGHTY DEVELOPERS

MIGHTY DEVELOPERS

Get a recipe version

GET /v1/mic/recipe-versions/{versionId}. 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/recipe-versions/{versionId}

Operation ID: getMicExecutableRecipe

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/recipe-versions/${MIC_RECIPE_VERSION_ID}" \
  --header "Authorization: Bearer ${MIGHTY_ACCESS_TOKEN}" \
  --header 'Accept: application/json'
Query & header schemas
{
  "query": {
    "type": "object",
    "properties": {},
    "additionalProperties": false
  },
  "headers": {}
}
Success response schema

HTTP 200

{
  "$ref": "#/$defs/PublicRecipeOfferEnvelope",
  "$defs": {
    "PublicRecipeOfferEnvelope": {
      "type": "object",
      "properties": {
        "data": {
          "$ref": "#/$defs/PublicRecipeOffer"
        },
        "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",
        "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