{
  "service": "roboflow",
  "displayName": "Roboflow",
  "categories": [
    "AI",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "ROBOFLOW_API_KEY",
      "description": "Roboflow API key sent as the api_key query parameter. Get it from Roboflow Settings under API Keys.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://roboflow.com/",
  "actions": [
    {
      "id": "roboflow.describe_workflow_interface",
      "service": "roboflow",
      "name": "describe_workflow_interface",
      "description": "Describe workflow inputs, outputs, typing hints, and kind schemas for a specification or saved Roboflow workflow.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "specification": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Roboflow workflow specification object defining version, inputs, steps, and outputs."
          },
          "workspace": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow workspace slug."
          },
          "workflowId": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow workflow identifier."
          },
          "workflowVersionId": {
            "type": "string",
            "minLength": 1,
            "description": "Specific saved workflow version identifier to use instead of the latest version."
          },
          "useCache": {
            "type": "boolean",
            "description": "Whether Roboflow should use cached saved workflow definitions when describing a saved workflow."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for describing a Roboflow workflow interface.",
        "oneOf": [
          {
            "required": [
              "specification"
            ]
          },
          {
            "required": [
              "workspace",
              "workflowId"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "inputs": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          },
          "outputs": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          },
          "typingHints": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          },
          "kindsSchemas": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow workflow interface description."
      }
    },
    {
      "id": "roboflow.detect_objects",
      "service": "roboflow",
      "name": "detect_objects",
      "description": "Run Roboflow hosted object detection for one project version using a public image URL or Base64 image content.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow project slug."
          },
          "version": {
            "type": "integer",
            "minimum": 1,
            "description": "The Roboflow project version number."
          },
          "imageUrl": {
            "type": "string",
            "description": "A public image URL to send to Roboflow for inference.",
            "format": "uri"
          },
          "imageBase64": {
            "type": "string",
            "minLength": 1,
            "description": "Base64-encoded image bytes to send to Roboflow for inference."
          },
          "confidence": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Minimum confidence threshold percentage for returned predictions."
          },
          "overlap": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Maximum bounding box overlap percentage for non-max suppression."
          }
        },
        "additionalProperties": false,
        "required": [
          "project",
          "version"
        ],
        "description": "Input parameters for running Roboflow hosted object detection.",
        "oneOf": [
          {
            "required": [
              "imageUrl"
            ]
          },
          {
            "required": [
              "imageBase64"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "predictions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "className": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The predicted class label."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "classId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The predicted class identifier when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "confidence": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The prediction confidence score."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "x": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The prediction center X coordinate in pixels."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "y": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The prediction center Y coordinate in pixels."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "width": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The prediction bounding box width in pixels."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "height": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The prediction bounding box height in pixels."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "detectionId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Roboflow detection identifier when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Roboflow payload for fields not normalized yet."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Roboflow object detection prediction."
            },
            "description": "Object detection predictions returned by Roboflow."
          },
          "image": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "width": {
                    "anyOf": [
                      {
                        "type": "number",
                        "description": "The image width in pixels when returned."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "height": {
                    "anyOf": [
                      {
                        "type": "number",
                        "description": "The image height in pixels when returned."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "description": "The image dimensions returned by Roboflow when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "timeSeconds": {
            "anyOf": [
              {
                "type": "number",
                "description": "The inference duration in seconds when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow object detection result returned by the connector."
      }
    },
    {
      "id": "roboflow.get_execution_engine_versions",
      "service": "roboflow",
      "name": "get_execution_engine_versions",
      "description": "List available Roboflow workflow execution engine versions.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for listing execution engine versions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "versions": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One execution engine version."
            },
            "description": "Execution engine versions returned by Roboflow."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow execution engine versions result."
      }
    },
    {
      "id": "roboflow.get_project_versions",
      "service": "roboflow",
      "name": "get_project_versions",
      "description": "Get one Roboflow project and list its available versions.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspace": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow workspace slug."
          },
          "project": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow project slug."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for reading one Roboflow project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Roboflow project identifier when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Roboflow project display name when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Roboflow project type when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Roboflow payload for fields not normalized yet."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Roboflow project summary."
          },
          "versions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Roboflow version identifier when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Roboflow version display name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "model": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The model type or model family when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "trained": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether Roboflow reports the version as trained."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Roboflow payload for fields not normalized yet."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Roboflow version summary."
            },
            "description": "Versions returned for the requested project."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow project details and version summaries."
      }
    },
    {
      "id": "roboflow.get_server_info",
      "service": "roboflow",
      "name": "get_server_info",
      "description": "Read Roboflow inference server name, version, and UUID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for reading Roboflow inference server info."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "description": "The Roboflow inference server name."
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "anyOf": [
              {
                "type": "string",
                "description": "The Roboflow inference server version."
              },
              {
                "type": "null"
              }
            ]
          },
          "uuid": {
            "anyOf": [
              {
                "type": "string",
                "description": "The Roboflow inference server UUID."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow inference server info."
      }
    },
    {
      "id": "roboflow.get_server_metrics",
      "service": "roboflow",
      "name": "get_server_metrics",
      "description": "Read Prometheus metrics exposed by the Roboflow inference server.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for reading Roboflow inference server metrics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "metricsText": {
            "type": "string",
            "description": "Prometheus metrics text returned by the inference server."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow inference server metrics text."
      }
    },
    {
      "id": "roboflow.get_version",
      "service": "roboflow",
      "name": "get_version",
      "description": "Read one Roboflow project version and return training/export metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspace": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow workspace slug."
          },
          "project": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow project slug."
          },
          "version": {
            "type": "integer",
            "minimum": 1,
            "description": "The Roboflow project version number."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for reading one Roboflow project version."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "version": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Roboflow version identifier when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Roboflow version display name when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "model": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The model type or model family when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "trained": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Roboflow reports the version as trained."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "exports": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One Roboflow export format."
                },
                "description": "Dataset export formats Roboflow reports for this version."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Roboflow payload for fields not normalized yet."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Roboflow version detail."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow version details returned by the connector."
      }
    },
    {
      "id": "roboflow.get_workflow_schema",
      "service": "roboflow",
      "name": "get_workflow_schema",
      "description": "Fetch the Roboflow workflow block JSON schema.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for fetching the Roboflow workflow schema."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "schema": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow workflow block schema result."
      }
    },
    {
      "id": "roboflow.list_projects",
      "service": "roboflow",
      "name": "list_projects",
      "description": "List Roboflow projects visible to the API key workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input parameters for listing Roboflow projects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "workspace": {
            "anyOf": [
              {
                "type": "string",
                "description": "The Roboflow workspace slug when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Roboflow project identifier when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Roboflow project display name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Roboflow project type when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Roboflow payload for fields not normalized yet."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Roboflow project summary."
            },
            "description": "Projects visible to the API key."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow workspace projects returned by the connector."
      }
    },
    {
      "id": "roboflow.run_saved_workflow",
      "service": "roboflow",
      "name": "run_saved_workflow",
      "description": "Run a workflow saved in Roboflow using workspace and workflow identifiers with runtime inputs.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspace": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow workspace slug."
          },
          "workflowId": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow workflow identifier."
          },
          "inputs": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Runtime values keyed by Roboflow workflow input name."
          },
          "workflowVersionId": {
            "type": "string",
            "minLength": 1,
            "description": "Specific saved workflow version identifier to use instead of the latest version."
          },
          "useCache": {
            "type": "boolean",
            "description": "Whether Roboflow should use cached saved workflow definitions."
          },
          "excludedFields": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One workflow output field name to exclude."
            },
            "description": "Output field names to exclude from the workflow response."
          },
          "enableProfiling": {
            "type": "boolean",
            "description": "Whether to request workflow profiler trace data."
          }
        },
        "additionalProperties": false,
        "required": [
          "workspace",
          "workflowId",
          "inputs"
        ],
        "description": "Input parameters for running a saved Roboflow workflow."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "outputs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Roboflow payload for fields not normalized yet."
            },
            "description": "Serialized outputs returned by the workflow."
          },
          "profilerTrace": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Roboflow payload for fields not normalized yet."
                },
                "description": "Profiler trace events returned when profiling is enabled."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow workflow execution result."
      }
    },
    {
      "id": "roboflow.run_workflow",
      "service": "roboflow",
      "name": "run_workflow",
      "description": "Run a Roboflow workflow specification with runtime inputs and return serialized workflow outputs.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "specification": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Roboflow workflow specification object defining version, inputs, steps, and outputs."
          },
          "inputs": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Runtime values keyed by Roboflow workflow input name."
          },
          "workflowId": {
            "type": "string",
            "minLength": 1,
            "description": "The Roboflow workflow identifier."
          },
          "excludedFields": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One workflow output field name to exclude."
            },
            "description": "Output field names to exclude from the workflow response."
          },
          "enableProfiling": {
            "type": "boolean",
            "description": "Whether to request workflow profiler trace data."
          },
          "isPreview": {
            "type": "boolean",
            "description": "Whether to run the workflow in Roboflow preview mode."
          }
        },
        "additionalProperties": false,
        "required": [
          "specification",
          "inputs"
        ],
        "description": "Input parameters for running a Roboflow workflow specification."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "outputs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Roboflow payload for fields not normalized yet."
            },
            "description": "Serialized outputs returned by the workflow."
          },
          "profilerTrace": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw Roboflow payload for fields not normalized yet."
                },
                "description": "Profiler trace events returned when profiling is enabled."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow workflow execution result."
      }
    },
    {
      "id": "roboflow.validate_workflow",
      "service": "roboflow",
      "name": "validate_workflow",
      "description": "Validate a Roboflow workflow specification before running it.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "specification": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Roboflow workflow specification object defining version, inputs, steps, and outputs."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for validating a Roboflow workflow specification."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string",
                "description": "Roboflow workflow validation status."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Roboflow payload for fields not normalized yet."
          }
        },
        "additionalProperties": false,
        "description": "Roboflow workflow validation result."
      }
    }
  ]
}
