Galileo Technologies Stage API

The stage API from Galileo Technologies — 2 operation(s) for stage.

Operations 5

POST /projects/{project_id}/stages Create Stage #
GET /projects/{project_id}/stages Get Stage #
GET /projects/{project_id}/stages/paginated List Stages Paginated #
POST /projects/{project_id}/stages/{stage_id} Update Stage #
PUT /projects/{project_id}/stages/{stage_id} Pause Stage #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/galileo-technologies:galileo-technologies-stage-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

galileo-technologies-stage-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Galileo API Server Stage API
  version: 0.0.0+orbit
servers:
- url: https://api.galileo.ai
  description: Galileo API Server - galileo-v2
tags:
- name: Stage
paths:
  /projects/{project_id}/stages:
    post:
      tags:
      - Stage
      summary: Create Stage
      description: 'Create a stage for a project, optionally seeding a first version.


        Args:

        stage_request: The stage to create, including its type and (for central stages) rulesets.

        ctx: Async request context.

        project: The project to create the stage in, resolved from the URL.


        Returns:

        The created stage, with its current version set if it''s a central stage.


        Raises:

        HTTPException: 422 if the project isn''t a protect or gen_ai project.'
      operationId: create_stage_projects__project_id__stages_post
      security:
      - APIKeyHeader: []
      - ClassicAPIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StageWithRulesets'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StageDB'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Stage
      summary: Get Stage
      description: 'Get a stage by ID or by (project ID and name).


        Args:

        project_id: Project the stage belongs to, resolved from the URL.

        stage_name: Stage name to look up (used with project_id when stage_id is omitted).

        stage_id: Stage ID to look up directly.

        ctx: Async request context.


        Returns:

        The matching stage.


        Raises:

        HTTPException: 422 if neither stage_id nor stage_name is provided.

        GalileoServerException: 404 if the stage exists but belongs to a different project.'
      operationId: get_stage_projects__project_id__stages_get
      security:
      - APIKeyHeader: []
      - ClassicAPIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Project Id
      - name: stage_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Stage Name
      - name: stage_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Stage Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StageDB'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/stages/paginated:
    get:
      tags:
      - Stage
      summary: List Stages Paginated
      description: 'List the stages of a project.


        `get_stage` resolves one stage the caller can already name. This lists them, so a

        caller can report on a project''s stages without knowing any name. That matters

        because a Protect invoke call with an unknown stage name creates that stage, so a

        project can hold stages nobody configured.


        Args:

        project_id: Project to list stages for, resolved from the URL.

        request: Pagination, taken from the query string.

        ctx: Async request context.


        Returns:

        One page of the project''s stages, oldest first.'
      operationId: list_stages_paginated_projects__project_id__stages_paginated_get
      security:
      - APIKeyHeader: []
      - ClassicAPIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Project Id
      - name: starting_token
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000000
          minimum: 0
          default: 0
          title: Starting Token
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          default: 100
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListStageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /projects/{project_id}/stages/{stage_id}:
    post:
      tags:
      - Stage
      summary: Update Stage
      description: 'Create a new centralized-ruleset version for a central stage and set it as current.


        Args:

        project_id: Project the stage belongs to, resolved from the URL.

        stage_id: Stage to update.

        stage_version_rulesets: The new rulesets for the version.

        ctx: Async request context.


        Returns:

        The updated stage, defaulted to the new version.


        Raises:

        GalileoServerException: 404 if the stage belongs to a different project.

        HTTPException: 422 if the stage isn''t a central stage.'
      operationId: update_stage_projects__project_id__stages__stage_id__post
      security:
      - APIKeyHeader: []
      - ClassicAPIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Project Id
      - name: stage_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Stage Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RulesetsMixin'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StageDB'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Stage
      summary: Pause Stage
      description: 'Pause or unpause a stage.


        Args:

        project_id: Project the stage belongs to, resolved from the URL.

        stage_id: Stage to update.

        pause: New paused state.

        ctx: Async request context.


        Returns:

        The updated stage.


        Raises:

        GalileoServerException: 404 if the stage belongs to a different project.'
      operationId: pause_stage_projects__project_id__stages__stage_id__put
      security:
      - APIKeyHeader: []
      - ClassicAPIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Project Id
      - name: stage_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Stage Id
      - name: pause
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Pause
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StageDB'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    StageDB:
      properties:
        name:
          type: string
          title: Name
          description: Name of the stage. Must be unique within the project.
        project_id:
          type: string
          format: uuid4
          title: Project Id
          description: ID of the project to which this stage belongs.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Optional human-readable description of the goals of this guardrail.
        type:
          $ref: '#/components/schemas/StageType'
          description: Type of the stage.
          default: local
        paused:
          type: boolean
          title: Paused
          description: Whether the action is enabled. If False, the action will not be applied.
          default: false
        created_by:
          type: string
          format: uuid4
          title: Created By
        id:
          type: string
          format: uuid4
          title: Id
        version:
          anyOf:
          - type: integer
          - type: 'null'
          title: Version
      type: object
      required:
      - name
      - project_id
      - created_by
      - id
      title: StageDB
    Rule:
      properties:
        metric:
          type: string
          title: Metric
          description: Name of the metric.
        operator:
          $ref: '#/components/schemas/RuleOperator'
          description: Operator to use for comparison.
        target_value:
          anyOf:
          - type: string
          - type: number
          - type: integer
          - items: {}
            type: array
          - type: 'null'
          title: Target Value
          description: Value to compare with for this metric (right hand side).
      type: object
      required:
      - metric
      - operator
      - target_value
      title: Rule
    RulesetsMixin:
      properties:
        prioritized_rulesets:
          items:
            $ref: '#/components/schemas/Ruleset'
          type: array
          title: Prioritized Rulesets
          description: Rulesets to be applied to the payload.
      type: object
      title: RulesetsMixin
    SubscriptionConfig:
      properties:
        statuses:
          items:
            $ref: '#/components/schemas/ExecutionStatus'
          type: array
          title: Statuses
          description: List of statuses that will cause a notification to be sent to the configured URL.
          default:
          - triggered
        url:
          type: string
          minLength: 1
          format: uri
          title: Url
          description: URL to send the event to. This can be a webhook URL, a message queue URL, an event bus or a custom endpoint that can receive an HTTP POST request.
      type: object
      required:
      - url
      title: SubscriptionConfig
    RuleOperator:
      type: string
      enum:
      - gt
      - lt
      - gte
      - lte
      - eq
      - neq
      - contains
      - all
      - any
      - empty
      - not_empty
      title: RuleOperator
    StageWithRulesets:
      properties:
        prioritized_rulesets:
          items:
            $ref: '#/components/schemas/Ruleset'
          type: array
          title: Prioritized Rulesets
          description: Rulesets to be applied to the payload.
        name:
          type: string
          title: Name
          description: Name of the stage. Must be unique within the project.
        project_id:
          type: string
          format: uuid4
          title: Project Id
          description: ID of the project to which this stage belongs.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Optional human-readable description of the goals of this guardrail.
        type:
          $ref: '#/components/schemas/StageType'
          description: Type of the stage.
          default: local
        paused:
          type: boolean
          title: Paused
          description: Whether the action is enabled. If False, the action will not be applied.
          default: false
      type: object
      required:
      - name
      - project_id
      title: StageWithRulesets
    Ruleset:
      properties:
        rules:
          items:
            $ref: '#/components/schemas/Rule'
          type: array
          minItems: 1
          title: Rules
          description: List of rules to evaluate. Atleast 1 rule is required.
        action:
          oneOf:
          - $ref: '#/components/schemas/OverrideAction'
          - $ref: '#/components/schemas/PassthroughAction'
          title: Action
          description: Action to take if all the rules are met.
          discriminator:
            propertyName: type
            mapping:
              OVERRIDE: '#/components/schemas/OverrideAction'
              PASSTHROUGH: '#/components/schemas/PassthroughAction'
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Description of the ruleset.
      type: object
      title: Ruleset
    PassthroughAction:
      properties:
        type:
          type: string
          const: PASSTHROUGH
          title: Type
          default: PASSTHROUGH
        subscriptions:
          items:
            $ref: '#/components/schemas/SubscriptionConfig'
          type: array
          title: Subscriptions
          description: List of subscriptions to send a notification to when this action is applied and the ruleset status matches any of the configured statuses.
      type: object
      title: PassthroughAction
    StageType:
      type: string
      enum:
      - local
      - central
      title: StageType
    ListStageResponse:
      properties:
        starting_token:
          type: integer
          title: Starting Token
          default: 0
        limit:
          type: integer
          title: Limit
          default: 100
        paginated:
          type: boolean
          title: Paginated
          default: false
        next_starting_token:
          anyOf:
          - type: integer
          - type: 'null'
          title: Next Starting Token
        stages:
          items:
            $ref: '#/components/schemas/StageDB'
          type: array
          title: Stages
      type: object
      required:
      - stages
      title: ListStageResponse
    OverrideAction:
      properties:
        type:
          type: string
          const: OVERRIDE
          title: Type
          default: OVERRIDE
        subscriptions:
          items:
            $ref: '#/components/schemas/SubscriptionConfig'
          type: array
          title: Subscriptions
          description: List of subscriptions to send a notification to when this action is applied and the ruleset status matches any of the configured statuses.
        choices:
          items:
            type: string
          type: array
          minItems: 1
          title: Choices
          description: List of choices to override the response with. If there are multiple choices, one will be chosen at random when applying this action.
      type: object
      required:
      - choices
      title: OverrideAction
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ExecutionStatus:
      type: string
      enum:
      - triggered
      - failed
      - error
      - timeout
      - paused
      - not_triggered
      - skipped
      title: ExecutionStatus
      description: Status of the execution.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: Splunk-AO-API-Key
    ClassicAPIKeyHeader:
      type: apiKey
      in: header
      name: Galileo-API-Key
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: https://api.galileo.ai/login
    HTTPBasic:
      type: http
      scheme: basic
x-provenance:
  method: harvested
  publisher: Galileo Technologies
  source: https://api.galileo.ai/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)