CONNSKILL Support API

The Support API from CONNSKILL — 6 operation(s) for support.

Business capability
Customer Inquiry Management BC-430.10

Operations 7

GET /v1/support/policy Read wallet support and discount terms #
POST /v1/support/challenge Create a one-time wallet support signature challenge #
GET /v1/support/tickets Read your private support tickets in chronological pages #
POST /v1/support/tickets Open or retrieve the unique case for your paid purchase #
GET /v1/support/tickets/{ticketId} Read one of your private support tickets #
POST /v1/support/tickets/{ticketId}/checkout Prepare a wallet-bound incident discount for an explicitly supported paid… #
POST /v1/support/tickets/{ticketId}/discount Claim the one-time incident discount if explicitly enabled #

Documentation

Specifications

Other Resources

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/connskill-com:connskill-com-support-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

connskill-com-support-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CONNSKILL Growth Services Support API
  version: 3.0.0
  description: 'Search research for AI agents: Local Market Check packages, domain ranking snapshots and keyword demand data.'
  termsOfService: https://agent.connskill.com/pricing
  contact:
    email: info@connskill.com
  x-logo:
    url: https://agent.connskill.com/icon.png
    altText: CONNSKILL
  logo: https://agent.connskill.com/icon.png
  icon: https://agent.connskill.com/icon.png
  x-guidance: Read the free discovery, input and quote routes first. Paid operations return an x402 challenge carrying the exact amount, asset, network and recipient. Prices can vary with selected tier, inputs or usage; use the actual challenge before approving payment. Support is free and uses a separate wallet ownership signature. Preserve the original request and payment proof for redelivery; never pay again for an unresolved purchase.
  x-trust:
    operator: CONNSKILL GmbH & Co. KG
    jurisdiction: Germany (EU)
    contact: info@connskill.com
    auth: No account or API key. Manual first purchases and private redelivery require a free Sign-In-With-X wallet proof from POST /v1/payments/challenge.
    payment: x402 v2, USDC on Base (eip155:8453), pay-per-call to 0x43B85AE58f0A2505c710Bc715d6f3EB16b1f63dE
    idempotency: A fresh wallet proof bound to the exact original request and payment references can retrieve its retained private result without another payment.
    redelivery: Private redelivery only reads a retained result. A missing result or uncertain purchase remains held for wallet support; it never starts another provider order.
    refund: On-chain settlement is technically final. This does not exclude statutory claims. Invalid input is rejected before settlement; failed delivery must be resolved through the delivery policy and support.
    unclearState: If a purchase times out and we cannot tell whether the provider charged us, you get HTTP 504 with stateUnclear — so you never blindly re-order.
    timeouts: No uptime SLA. Every outbound call has a timeout (provider 20s, DataForSEO 45s, purchase 60s); the gateway hard-caps at 90s and returns 504 rather than hanging.
    rateLimit: Paid service calls have no per-caller rate limit. Wallet challenges have bounded capacity and can return 429. Request size limits apply. We never log your IP; only technical metadata such as User-Agent and Referer.
    discovery: https://agent.connskill.com/openapi.json · https://agent.connskill.com/.well-known/x402 · https://agent.connskill.com/llms.txt · https://agent.connskill.com/pricing
tags:
- name: Support
paths:
  /v1/support/policy:
    get:
      operationId: supportPolicy
      summary: Read wallet support and discount terms
      tags:
      - Support
      x-free: true
      x-mcp-exclude: true
      security: []
      responses:
        '200':
          description: Successful free support operation
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '401':
          description: Wallet proof missing, invalid, expired or reused
        '404':
          description: Ticket or purchase does not exist for this wallet
        '409':
          description: Discount unavailable, disabled or ineligible
        '429':
          description: Challenge rate limit
        '503':
          description: Support storage or signature verifier unavailable; no access was granted
  /v1/support/challenge:
    post:
      operationId: supportChallenge
      summary: Create a one-time wallet support signature challenge
      tags:
      - Support
      x-free: true
      x-mcp-exclude: true
      security: []
      responses:
        '200':
          description: Successful free support operation
          content:
            application/json:
              schema:
                type: object
                required:
                - address
                - message
                - extensions
        '400':
          description: Invalid request
        '401':
          description: Wallet proof missing, invalid, expired or reused
        '404':
          description: Ticket or purchase does not exist for this wallet
        '409':
          description: Discount unavailable, disabled or ineligible
        '429':
          description: Challenge rate limit
        '503':
          description: Support storage or signature verifier unavailable; no access was granted
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                address:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{40}$
                method:
                  type: string
                  enum:
                  - GET
                  - POST
                path:
                  type: string
                  description: Exact target support API path including the cursor query, if any. For GET, omit body.
                body:
                  type:
                  - object
                  - 'null'
                  description: Exact target JSON body. Bound by canonical SHA-256.
              additionalProperties: false
              required:
              - address
              - method
              - path
  /v1/support/tickets:
    get:
      operationId: supportTicketsList
      summary: Read your private support tickets in chronological pages
      tags:
      - Support
      x-free: true
      x-mcp-exclude: true
      security:
      - signInWithX: []
      responses:
        '200':
          description: Successful free support operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  tickets:
                    type: array
                    items:
                      type: object
                      required:
                      - ticketId
                      - purchaseId
                      - service
                      - status
                      - purchaseState
                      - nextAction
                      properties:
                        ticketId:
                          type: string
                          pattern: ^tkt_[a-f0-9]{32}$
                        purchaseId:
                          type: string
                          pattern: ^pur_[a-f0-9]{64}$
                        service:
                          type: string
                        category:
                          type: string
                          enum:
                          - delivery_missing
                          - result_problem
                          - payment_question
                          - other
                        status:
                          type: string
                          enum:
                          - open
                          - resolved
                        purchaseState:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                        nextAction:
                          type: string
                        discount:
                          type: object
                  hasMore:
                    type: boolean
                  nextCursor:
                    type:
                    - string
                    - 'null'
                additionalProperties: false
        '400':
          description: Invalid request
        '401':
          description: Wallet proof missing, invalid, expired or reused
        '404':
          description: Ticket or purchase does not exist for this wallet
        '409':
          description: Discount unavailable, disabled or ineligible
        '429':
          description: Challenge rate limit
        '503':
          description: Support storage or signature verifier unavailable; no access was granted
      parameters:
      - name: cursor
        in: query
        required: false
        schema:
          type: string
          maxLength: 512
        description: Use nextCursor from the previous page, bound into the signed challenge URI.
    post:
      operationId: supportTicketCreate
      summary: Open or retrieve the unique case for your paid purchase
      tags:
      - Support
      x-free: true
      x-mcp-exclude: true
      security:
      - signInWithX: []
      responses:
        '200':
          description: Successful free support operation
          content:
            application/json:
              schema:
                type: object
                required:
                - ticketId
                - purchaseId
                - service
                - status
                - purchaseState
                - nextAction
                properties:
                  ticketId:
                    type: string
                    pattern: ^tkt_[a-f0-9]{32}$
                  purchaseId:
                    type: string
                    pattern: ^pur_[a-f0-9]{64}$
                  service:
                    type: string
                  category:
                    type: string
                    enum:
                    - delivery_missing
                    - result_problem
                    - payment_question
                    - other
                  status:
                    type: string
                    enum:
                    - open
                    - resolved
                  purchaseState:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  nextAction:
                    type: string
                  discount:
                    type: object
        '400':
          description: Invalid request
        '401':
          description: Wallet proof missing, invalid, expired or reused
        '404':
          description: Ticket or purchase does not exist for this wallet
        '409':
          description: Discount unavailable, disabled or ineligible
        '429':
          description: Challenge rate limit
        '503':
          description: Support storage or signature verifier unavailable; no access was granted
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                purchaseId:
                  type: string
                  pattern: ^pur_[a-f0-9]{64}$
                category:
                  type: string
                  enum:
                  - delivery_missing
                  - result_problem
                  - payment_question
                  - other
              additionalProperties: false
              required:
              - purchaseId
  /v1/support/tickets/{ticketId}:
    get:
      operationId: supportTicketGet
      summary: Read one of your private support tickets
      tags:
      - Support
      x-free: true
      x-mcp-exclude: true
      security:
      - signInWithX: []
      responses:
        '200':
          description: Successful free support operation
          content:
            application/json:
              schema:
                type: object
                required:
                - ticketId
                - purchaseId
                - service
                - status
                - purchaseState
                - nextAction
                properties:
                  ticketId:
                    type: string
                    pattern: ^tkt_[a-f0-9]{32}$
                  purchaseId:
                    type: string
                    pattern: ^pur_[a-f0-9]{64}$
                  service:
                    type: string
                  category:
                    type: string
                    enum:
                    - delivery_missing
                    - result_problem
                    - payment_question
                    - other
                  status:
                    type: string
                    enum:
                    - open
                    - resolved
                  purchaseState:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  nextAction:
                    type: string
                  discount:
                    type: object
        '400':
          description: Invalid request
        '401':
          description: Wallet proof missing, invalid, expired or reused
        '404':
          description: Ticket or purchase does not exist for this wallet
        '409':
          description: Discount unavailable, disabled or ineligible
        '429':
          description: Challenge rate limit
        '503':
          description: Support storage or signature verifier unavailable; no access was granted
      parameters:
      - name: ticketId
        in: path
        required: true
        schema:
          type: string
          pattern: ^tkt_[a-f0-9]{32}$
  /v1/support/tickets/{ticketId}/checkout:
    post:
      operationId: supportDiscountCheckout
      summary: Prepare a wallet-bound incident discount for an explicitly supported paid…
      tags:
      - Support
      x-free: true
      x-mcp-exclude: true
      security:
      - signInWithX: []
      responses:
        '200':
          description: Successful free support operation
          content:
            application/json:
              schema:
                type: object
                required:
                - discount
                - paymentRequired
        '400':
          description: Invalid request
        '401':
          description: Wallet proof missing, invalid, expired or reused
        '404':
          description: Ticket or purchase does not exist for this wallet
        '409':
          description: Discount unavailable, disabled or ineligible
        '429':
          description: Challenge rate limit
        '503':
          description: Support storage or signature verifier unavailable; no access was granted
      parameters:
      - name: ticketId
        in: path
        required: true
        schema:
          type: string
          pattern: ^tkt_[a-f0-9]{32}$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                service:
                  type: string
                  enum:
                  - eu-embed-v1
                paymentNonce:
                  type: string
                  pattern: ^0x[0-9a-fA-F]{64}$
                request:
                  type: object
                  description: Exact JSON body for the future paid request. Never include a price or promotion.
              additionalProperties: false
              required:
              - service
              - paymentNonce
              - request
      description: Free quote, no money moves. Send the same body to the returned payment resource with X-Support-Checkout to receive its reduced HTTP 402. The later signed authorization must use the exact wallet, nonce and amount. No manual transfers or stacking.
  /v1/support/tickets/{ticketId}/discount:
    post:
      operationId: supportDiscountClaim
      summary: Claim the one-time incident discount if explicitly enabled
      tags:
      - Support
      x-free: true
      x-mcp-exclude: true
      security:
      - signInWithX: []
      responses:
        '200':
          description: Successful free support operation
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid request
        '401':
          description: Wallet proof missing, invalid, expired or reused
        '404':
          description: Ticket or purchase does not exist for this wallet
        '409':
          description: Discount unavailable, disabled or ineligible
        '429':
          description: Challenge rate limit
        '503':
          description: Support storage or signature verifier unavailable; no access was granted
      parameters:
      - name: ticketId
        in: path
        required: true
        schema:
          type: string
          pattern: ^tkt_[a-f0-9]{32}$
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
      description: Issuing an entitlement does not redeem it, transfer money, close the delivery claim or promise a refund. Discounts remain disabled until an explicit operator policy and checkout integration are active.
components:
  securitySchemes:
    signInWithX:
      type: apiKey
      in: header
      name: Sign-In-With-X
      description: Base64 JSON containing the exact challenge fields, checksummed address, chainId eip155:8453, type eip191 and EIP-191 signature. Free authentication, not payment. One use, five minutes, bound to method, path and JSON body.
x-discovery:
  ownershipProofs:
  - '0x4b92ee6ef3357beddfb6b0d39fbe8be660a934bde8a226539a16a0ea414768394cdc20d14f025c6bf5a630e99eafe177a742d81b4c16d2933cd1c2f85e708cbb1b'
  support:
    title: Wallet support
    url: /v1/support/policy
    authentication: sign-in-with-x
    network: eip155:8453
    paid: false
    description: Free, private support for settled purchases. A short-lived wallet signature proves ownership; never pay again merely to open a case.
    endpoints:
    - url: /v1/support/policy
      method: GET
    - url: /v1/support/challenge
      method: POST
    - url: /v1/support/tickets
      method: GET
    - url: /v1/support/tickets
      method: POST
    - url: /v1/support/tickets/{ticketId}
      method: GET
    - url: /v1/support/tickets/{ticketId}/checkout
      method: POST
    - url: /v1/support/tickets/{ticketId}/discount
      method: POST
  serviceSearch:
    endpoint: /v1/service-search
    method: GET
    requiresPayment: false
    querySentToSources: false
    exhaustiveMarket: false
    sources:
    - connskill-directory
    - cdp-bazaar
    description: Free local search of bounded cached catalogues. Source coverage, age and failures are explicit; unknown units are not price-ranked.
x-support:
  title: Wallet support
  url: /v1/support/policy
  authentication: sign-in-with-x
  network: eip155:8453
  paid: false
  description: Free, private support for settled purchases. A short-lived wallet signature proves ownership; never pay again merely to open a case.
  endpoints:
  - url: /v1/support/policy
    method: GET
  - url: /v1/support/challenge
    method: POST
  - url: /v1/support/tickets
    method: GET
  - url: /v1/support/tickets
    method: POST
  - url: /v1/support/tickets/{ticketId}
    method: GET
  - url: /v1/support/tickets/{ticketId}/checkout
    method: POST
  - url: /v1/support/tickets/{ticketId}/discount
    method: POST