Artie PrivateLink Connections API

The PrivateLink Connections API from Artie — 2 operation(s) for privatelink connections.

Operations 4

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/artie:artie-privatelink-connections-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

artie-privatelink-connections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: External API endpoints for Artie
  title: Artie PrivateLink Connections API
  version: v1.0.139
servers:
- url: https://api.artie.com
security:
- ApiKey: []
tags:
- name: PrivateLink Connections
paths:
  /privatelink-connections:
    post:
      description: Creates a new PrivateLink connection for the authenticated company.
      operationId: private_link_connection_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPrivateLinkConnectionCreateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsPrivateLinkConnection'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Create a PrivateLink connection
      tags:
      - PrivateLink Connections
      x-artie-mcp:
        destructiveHint: false
        exposure: exposed
        idempotentHint: false
        inputSensitivity: none
        openWorldHint: true
        operationId: private_link_connection_create
        outputSensitivity: none
        readOnlyHint: false
        requiredScopes:
        - private_link_connections:write
        retrySemantics: unsafe
        title: Create a PrivateLink connection
        triggerDescription: 'Creates a PrivateLink connection: pass vpcServiceName and availabilityZoneIds for an AWS data plane, or privateLinkServiceAlias for an Azure one. Keep the returned UUID; there is no list tool.'
  /privatelink-connections/{uuid}:
    delete:
      description: Permanently deletes a PrivateLink connection by UUID. This action cannot be undone and will remove the connection from your account.
      operationId: private_link_connection_delete
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Delete a PrivateLink connection
      tags:
      - PrivateLink Connections
      x-artie-mcp:
        bodilessSuccess: true
        destructiveHint: true
        exposure: exposed
        idempotentHint: false
        inputSensitivity: none
        openWorldHint: true
        operationId: private_link_connection_delete
        outputSensitivity: none
        readOnlyHint: false
        requiredScopes:
        - private_link_connections:delete
        retrySemantics: safe-after-state-check
        title: Delete a PrivateLink connection
        triggerDescription: Permanently deletes a PrivateLink connection by UUID.
    get:
      description: 'Retrieves the details of a PrivateLink connection by UUID, including its status, cloud provider, region, Private Link target (vpcServiceName and availabilityZoneIds on AWS, privateLinkServiceAlias on Azure), and the Artie endpoint''s address (dnsEntry: a DNS name on AWS, a private IP on Azure).'
      operationId: private_link_connection_detail
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsPrivateLinkConnection'
          description: OK
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      summary: Get a PrivateLink connection
      tags:
      - PrivateLink Connections
      x-artie-mcp:
        destructiveHint: false
        exposure: exposed
        idempotentHint: true
        inputSensitivity: none
        openWorldHint: false
        operationId: private_link_connection_detail
        outputSensitivity: none
        readOnlyHint: true
        requiredScopes:
        - private_link_connections:read
        retrySemantics: safe
        title: Get a PrivateLink connection
        triggerDescription: Returns one PrivateLink connection by UUID.
    post:
      description: Updates an existing PrivateLink connection by UUID. The name can always be updated. The data plane and Private Link target (vpcServiceName and availabilityZoneIds on AWS, privateLinkServiceAlias on Azure; the region comes from the target) are only mutable while the connection is under review or errored and has no Artie endpoint. Once the Artie endpoint exists they are immutable.
      operationId: private_link_connection_update
      parameters:
      - in: path
        name: uuid
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RouterPrivateLinkConnectionUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsPrivateLinkConnection'
          description: OK
        '400':
          description: Bad Request
        '500':
          description: Internal Server Error
      summary: Update a PrivateLink connection
      tags:
      - PrivateLink Connections
      x-artie-mcp:
        destructiveHint: false
        exposure: exposed
        idempotentHint: false
        inputSensitivity: none
        openWorldHint: false
        operationId: private_link_connection_update
        outputSensitivity: none
        readOnlyHint: false
        requiredScopes:
        - private_link_connections:write
        retrySemantics: unsafe
        title: Update a PrivateLink connection
        triggerDescription: Updates a PrivateLink connection. The data plane and Private Link target (VPC service name and AZs on AWS, privateLinkServiceAlias on Azure) are only mutable while under review or errored.
components:
  schemas:
    RouterPrivateLinkConnectionUpdateRequest:
      properties:
        availabilityZoneIds:
          items:
            type: string
          type:
          - array
          - 'null'
        dataPlaneName:
          type:
          - 'null'
          - string
        name:
          type: string
        privateLinkServiceAlias:
          type: string
        vpcServiceName:
          type: string
      required:
      - name
      type: object
    PayloadsPrivateLinkConnection:
      properties:
        approvedAt:
          format: date-time
          type:
          - 'null'
          - string
        availabilityZoneIds:
          items:
            type: string
          type: array
        companyUUID:
          format: uuid
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        dataPlaneName:
          type:
          - 'null'
          - string
        dnsEntry:
          type: string
        environmentUUID:
          format: uuid
          type: string
        name:
          type: string
        privateLinkServiceAlias:
          type: string
        provider:
          $ref: '#/components/schemas/EnumsCloudProvider'
        provisioningError:
          type: string
        region:
          type: string
        status:
          type: string
        updatedAt:
          format: date-time
          type: string
        uuid:
          format: uuid
          type: string
        vpcEndpointId:
          type: string
        vpcServiceName:
          type: string
      required:
      - uuid
      - companyUUID
      - environmentUUID
      - createdAt
      - updatedAt
      - name
      - provider
      - vpcServiceName
      - privateLinkServiceAlias
      - status
      - region
      - dnsEntry
      - availabilityZoneIds
      type: object
    RouterPrivateLinkConnectionCreateRequest:
      properties:
        availabilityZoneIds:
          items:
            type: string
          type:
          - array
          - 'null'
        dataPlaneName:
          type:
          - 'null'
          - string
        environmentUUID:
          format: uuid
          type:
          - 'null'
          - string
        name:
          type: string
        privateLinkServiceAlias:
          type: string
        vpcServiceName:
          type: string
      type: object
    EnumsCloudProvider:
      enum:
      - aws
      - gcp
      - azure
      type: string
  securitySchemes:
    ApiKey:
      description: API key passed as a Bearer token in the Authorization header.
      scheme: bearer
      type: http
x-provenance:
  method: harvested
  publisher: Artie
  source: https://raw.githubusercontent.com/artie-labs/artie-api-spec/refs/heads/master/openapi.yaml
  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)