AnchoredIP API

AnchoredIP API as documented publicly: 16 operations. Contract generated from the documentation by API Evangelist (2026-11-01); not the provider's own document.

Operations 16

GET / GET / #
GET /api GET /api #
POST /api/auth/link Send a one‑time authentication link to an email address #
POST /api/auth/redeem Recover access #
POST /api/leases/ Order a lease (free, trial, or paid) #
GET /api/leases/{accessToken}/Returns Read a lease status, addresses, tunnels, and billing history #
GET /api/leases/{accessToken}/invoice Retrieve an invoice by number for a lease #
POST /api/leases/{accessToken}/pay/ Pay for a lease using specified method #
GET /api/leases/{accessToken}/rdns/ Get reverse DNS record for a lease address #
POST /api/leases/{accessToken}/rdns/ Set or remove reverse DNS record for a lease address #
POST /api/leases/{accessToken}/renew/ Renew a lease, optionally changing plan #
POST /api/leases/{accessToken}/tunnels/ Create a tunnel for a lease #
DELETE /api/leases/{accessToken}/tunnels/{tunnelId}/Frees Revoke a tunnel and free its slot #
POST /api/mcp POST /api/mcp #
GET /api/plans/ List available plans with payment methods #
GET /api/plans/response Get plan details with pricing and payment methods #

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/anchoredip-com:anchoredip-com-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

anchoredip-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: AnchoredIP API
  version: '2026-11-01'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-01: 16 operation(s) read from 10 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; AnchoredIP has published no machine-readable contract
    that the pipeline could find. Engine: oss.'
  x-evidence-tiers:
    code-example: 3
    documentation: 13
    pages-with-code: 9
    pages-read: 10
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-01'
  x-generator: generate-contract-from-docs.py
  x-engine: oss
  x-sources:
  - https://anchoredip.com/docs/api
  - https://anchoredip.com/docs/quickstart
  - https://anchoredip.com/docs/linux
  - https://anchoredip.com/docs/macos-windows
  - https://anchoredip.com/docs/docker
  - https://anchoredip.com/docs/kubernetes
  - https://anchoredip.com/docs/managed-platforms
  - https://anchoredip.com/docs/use-cases
  - https://anchoredip.com/docs/mcp
  - https://anchoredip.com/docs/troubleshooting
servers:
- url: https://api.anchoredip.com/api
paths:
  /:
    get:
      operationId: get
      tags:
      - Api
      summary: GET /
      x-source: https://anchoredip.com/docs/quickstart
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -s --interface 194.0.108.99 https://api.ipify.org It should print your leased address. The address is named on purpose:
          source routing carries only traffic that already has it, which is exactly why bringing the tunnel up did not disturb the SSH session
          you typed the command into. A plain curl on that same machine still prints the machine''s own address — that is the tunnel working as
          designed,'
  /api:
    get:
      operationId: get_api
      tags:
      - Api
      summary: GET /api
      x-source: https://anchoredip.com/docs/use-cases
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: python
        snippet: requests.get("https://partner.example.com/api")
  /api/auth/link:
    post:
      operationId: post_api_auth_link
      tags:
      - Api
      summary: Send a one‑time authentication link to an email address
      x-source: https://anchoredip.com/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiAuthLinkRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/auth/redeem:
    post:
      operationId: post_api_auth_redeem
      tags:
      - Api
      summary: Recover access
      x-source: https://anchoredip.com/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiAuthRedeemRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/leases/:
    post:
      operationId: post_api_leases
      tags:
      - Api
      summary: Order a lease (free, trial, or paid)
      x-source: https://anchoredip.com/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiLeasesRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiLeasesResponse'
      x-evidence:
        kind: documentation
  /api/leases/{accessToken}/Returns:
    get:
      operationId: get_api_leases_accessToken_Returns
      tags:
      - Api
      summary: Read a lease status, addresses, tunnels, and billing history
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiLeasesAccesstokenReturnsResponse'
      x-evidence:
        kind: documentation
  /api/leases/{accessToken}/invoice:
    get:
      operationId: get_api_leases_accessToken_invoice
      tags:
      - Api
      summary: Retrieve an invoice by number for a lease
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      - name: number
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/leases/{accessToken}/pay/:
    post:
      operationId: post_api_leases_accessToken_pay
      tags:
      - Api
      summary: Pay for a lease using specified method
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiLeasesAccesstokenPayRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/leases/{accessToken}/rdns/:
    get:
      operationId: get_api_leases_accessToken_rdns
      tags:
      - Api
      summary: Get reverse DNS record for a lease address
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_leases_accessToken_rdns
      tags:
      - Api
      summary: Set or remove reverse DNS record for a lease address
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiLeasesAccesstokenRdnsRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/leases/{accessToken}/renew/:
    post:
      operationId: post_api_leases_accessToken_renew
      tags:
      - Api
      summary: Renew a lease, optionally changing plan
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiLeasesAccesstokenRenewRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/leases/{accessToken}/tunnels/:
    post:
      operationId: post_api_leases_accessToken_tunnels
      tags:
      - Api
      summary: Create a tunnel for a lease
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiLeasesAccesstokenTunnelsRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiLeasesAccesstokenTunnelsResponse'
      x-evidence:
        kind: documentation
  /api/leases/{accessToken}/tunnels/{tunnelId}/Frees:
    delete:
      operationId: delete_api_leases_accessToken_tunnels_tunnelId_Frees
      tags:
      - Api
      summary: Revoke a tunnel and free its slot
      x-source: https://anchoredip.com/docs/api
      parameters:
      - name: accessToken
        in: path
        required: true
        schema:
          type: string
      - name: tunnelId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/mcp:
    post:
      operationId: post_api_mcp
      tags:
      - Api
      summary: POST /api/mcp
      x-source: https://anchoredip.com/docs/mcp
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiMcpRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -s https://api.anchoredip.com/api/mcp/  -H ''Content-Type: application/json''  -d ''{"jsonrpc":"2.0","id":1,"method":"tools/list"}''
          the same on 2026-07-28 — what is spoken here curl -s https://api.anchoredip.com/api/mcp/  -H ''Content-Type: application/json''  -H
          ''MCP-Protocol-Version: 2026-07-28''  -H ''Mcp-Method: server/discover''  -d ''{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"'
  /api/plans/:
    get:
      operationId: get_api_plans
      tags:
      - Api
      summary: List available plans with payment methods
      x-source: https://anchoredip.com/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiPlansResponse'
      x-evidence:
        kind: documentation
  /api/plans/response:
    get:
      operationId: get_api_plans_response
      tags:
      - Api
      summary: Get plan details with pricing and payment methods
      x-source: https://anchoredip.com/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiPlansResponseResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    PostApiAuthLinkRequest:
      type: object
      properties:
        email:
          type: string
      required:
      - email
    PostApiAuthRedeemRequest:
      type: object
      properties:
        key:
          type: string
      required:
      - key
    PostApiLeasesRequest:
      type: object
      properties:
        plan:
          type: string
        organization_name:
          type: string
        country:
          type: string
        billing_email:
          type: string
      required:
      - plan
      - organization_name
      - country
      - billing_email
    PostApiLeasesResponse:
      type: object
      properties:
        access_token:
          type: string
        status:
          type: string
        amount_usd:
          type: string
          description: Present for paid plans
        payment_reference:
          type: string
          description: Present for paid plans
        payment_methods:
          type: array
          description: Present for paid plans
    GetApiLeasesAccesstokenReturnsResponse:
      type: object
      properties:
        status:
          type: string
        addresses:
          type: array
        tunnels:
          type: array
        owed:
          type: string
        billing_history:
          type: array
    PostApiLeasesAccesstokenPayRequest:
      type: object
      properties:
        method:
          type: string
          description: '"card" or "bank_transfer"'
      required:
      - method
    PostApiLeasesAccesstokenRdnsRequest:
      type: object
      properties:
        address:
          type: string
        hostname:
          type: string
          description: Empty string removes the record
      required:
      - address
      - hostname
    PostApiLeasesAccesstokenRenewRequest:
      type: object
      properties:
        plan:
          type: string
          description: New plan slug; omit to keep current plan
    PostApiLeasesAccesstokenTunnelsRequest:
      type: object
      properties:
        transport:
          type: string
          description: '"wireguard" or "amneziawg"'
        routing_mode:
          type: string
          description: '"source" | "full" | "destinations"'
        destinations:
          type: array
          description: Required when routing_mode is "destinations"
        label:
          type: string
      required:
      - transport
      - routing_mode
      - label
    PostApiLeasesAccesstokenTunnelsResponse:
      type: object
      properties:
        tunnel:
          type: object
          description: Contains tunnel details
        ready_in_seconds:
          type: integer
        config:
          type: string
        filename:
          type: string
        warning:
          type: string
    PostApiMcpRequest:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        method:
          type: string
    GetApiPlansResponse:
      type: object
      properties:
        slug:
          type: string
        name:
          type: string
        monthly_price_usd:
          type: string
        term_price_usd:
          type: string
        term_days:
          type: integer
        trial_days:
          type: integer
        included_ipv4:
          type: integer
        included_ipv6:
          type: integer
        included_tunnels:
          type: integer
        requires_verification:
          type: boolean
        payment_methods:
          type: array
          description: Array of objects with value, name, detail
    GetApiPlansResponseResponse:
      type: object
      properties:
        slug:
          type: string
        name:
          type: string
        monthly_price_usd:
          type: string
        term_price_usd:
          type: string
        term_days:
          type: integer
        trial_days:
          type: integer
        included_ipv4:
          type: integer
        included_ipv6:
          type: integer
        included_tunnels:
          type: integer
        requires_verification:
          type: boolean
        payment_methods:
          type: array
          description: Array of objects with value, name, detail
tags:
- name: Api