Connections Scripts API

The Scripts API from Connections — 2 operation(s) for scripts.

GitHub OpenAPI

Operations 4

GET /v1/scripts Script Vault: list this company's stored operator scripts (metadata + size +… #
GET /v1/scripts/{tool_name} Script Vault: fetch ONE stored script's code + metadata (the pull half of… #
PUT /v1/scripts/{tool_name} Script Vault: upsert a script in place - {description, code, name?… #
DELETE /v1/scripts/{tool_name} Script Vault: delete a stored script (always allowed for your own company's… #

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/connections-icu:connections-icu-scripts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

connections-icu-scripts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Connections Icu Scripts API
  version: 1.0.0
  description: 'Operations tagged Scripts across 2 of this provider''s published API definitions: connections-icu-studio-openapi-original.json, connections-icu-studio-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://studio.connectionsapi.com
tags:
- name: Scripts
paths:
  /v1/scripts:
    get:
      summary: 'Script Vault: list this company''s stored operator scripts (metadata + size +…'
      security:
      - aegisBearer: []
      - apiKey: []
      tags:
      - Scripts
      operationId: getV1Scripts
      x-operation-id-source: derived
    servers:
    - url: https://studio.connectionsapi.com
  /v1/scripts/{tool_name}:
    get:
      summary: 'Script Vault: fetch ONE stored script''s code + metadata (the pull half of…'
      security:
      - aegisBearer: []
      - apiKey: []
      parameters:
      - name: tool_name
        in: path
        required: true
        schema:
          type: string
      tags:
      - Scripts
      operationId: getV1ScriptsByToolName
      x-operation-id-source: derived
    put:
      summary: 'Script Vault: upsert a script in place - {description, code, name?…'
      security:
      - aegisBearer: []
      - apiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: 'Script Vault upsert (code + description required). A body carrying ONLY destructive and/or shared_across_projects is a settings update of the stored script: its code, description and every other field are kept. The tool_name comes from the PATH, never the body.'
              properties:
                description:
                  type: string
                  description: Written for SEARCH - what it finds or answers, and when to reach for it. This text IS the index.
                code:
                  type: string
                  description: The script source, for a self-contained instrument.
                code_path:
                  type: string
                  description: Path to a self-contained file to store instead of inline code.
                delegate_path:
                  type: string
                  description: A workspace-anchored launcher for a TRACKED repo script - preferred over a copy that drifts.
                name:
                  type: string
                  description: Human-readable name; defaults to the tool_name.
                language:
                  type: string
                  description: javascript/node by default; 'bun' for Bun APIs or TypeScript imports.
                  enum:
                  - javascript
                  - node
                  - bun
                parameters:
                  type: object
                  description: Declared arguments, surfaced to callers.
                tags:
                  type: array
                  items:
                    type: string
                  description: Search tags.
                destructive:
                  type: boolean
                  description: Mark it if a run mutates anything.
                  x-setting:
                    id: studio.script_destructive
                    label: Script is destructive
                    synonyms:
                    - destructive script
                    - script mutates
                    - mark script destructive
                    scope: script
                    group: Script Vault
                    scopeParam: tool_name
                shared_across_projects:
                  type: boolean
                  description: 'true makes the script visible from every project you own; false keeps it in this one. Alias: shared.'
                  x-setting:
                    id: studio.script_shared_across_projects
                    label: Share script across projects
                    synonyms:
                    - share script
                    - script in every project
                    - cross project script
                    scope: script
                    group: Script Vault
                    scopeParam: tool_name
      parameters:
      - name: tool_name
        in: path
        required: true
        schema:
          type: string
      tags:
      - Scripts
      operationId: putV1ScriptsByToolName
      x-operation-id-source: derived
    delete:
      summary: 'Script Vault: delete a stored script (always allowed for your own company''s…'
      security:
      - aegisBearer: []
      - apiKey: []
      parameters:
      - name: tool_name
        in: path
        required: true
        schema:
          type: string
      tags:
      - Scripts
      operationId: deleteV1ScriptsByToolName
      x-operation-id-source: derived
    servers:
    - url: https://studio.connectionsapi.com
components:
  securitySchemes:
    aegisBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: The AEGIS SSO access token (Cognito JWT from the shared sign-in) presented as a Bearer on every /v1 call.
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: cnx_live_* | cnx_pub_*
      description: 'A key minted in the console, sent as a bearer token. `cnx_live_` carries cross-plane data scopes AND (when granted) Studio management scopes (apps:*, keys:*, projects:*, webhooks:*) that authorize the console-management operations below. `cnx_pub_` is the publishable, browser-safe tier (Stripe''s pk_ model): mint-time capped to :read scopes, requires a non-empty allowed-origins allowlist, refused on any non-GET/HEAD route, and rate-limited - safe to embed in client-side code.'
    oauthUserToken:
      type: http
      scheme: bearer
      description: EITHER (a) a Sign-in-with-Connections USER access token issued by accounts.connectionsapi.com to a registered OAuth app - the app acts on behalf of its signed-in user, rows are keyed by the token's own sub + client_id; OR (b) an app-bound publishable key (cnx_pub_, minted with an appId) presented on X-Connections-Api-Key ALONGSIDE the signed-in user's own plain AEGIS bearer on Authorization - the server derives (app_id, sub) from the two verified credentials. The publishable key alone authorizes nothing; both credentials are required. This second form is for a developer who wants the locker without standing up a full OAuth client - mint one publishable key bound to a registered app instead.
x-refined-from:
- connections-icu-studio-openapi-original.json
- connections-icu-studio-openapi.yml