IntegrationOS Billing API

The Billing API from IntegrationOS — 1 operation(s) for billing.

Operations 2

GET /v1/billings/ai-agent-seats/trial Get the agent-seat free trial #
POST /v1/billings/ai-agent-seats/trial Start the agent-seat free trial #

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/integration-os-billing-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

integration-os-billing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The One API. Universal API integration platform for AI agents and applications.
  license:
    name: ''
  title: One Billing API
  version: 5.35.0
tags:
- name: Billing
paths:
  /v1/billings/ai-agent-seats/trial:
    get:
      description: 'Reports where you stand with the one free agent-seat trial: the number of free days on offer while you are still eligible, or when a trial you are already on ends. Both fields are null once you have bought or trialed seats before. POST this same path to start the trial; buying seats never starts one.'
      operationId: get_ai_agent_seat_trial
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AiAgentSeatTrialOffer'
          description: The trial on offer, or the one already running
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Quota exceeded — upgrade plan
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Insufficient permissions
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      security:
      - Session: []
      summary: Get the agent-seat free trial
      tags:
      - Billing
    post:
      description: 'Opens a Stripe checkout for the one free agent-seat trial: a single seat, free for the period the seat price carries, charged from then on. Deliberately separate from buying seats, which always charges from day one - only the caller knows which they meant. Answers 409 when the account has already bought or trialed a seat, since the trial is once only.'
      operationId: start_ai_agent_seat_trial
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartAiAgentSeatTrialParams'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutSessionResponse'
          description: Checkout session for the trial seat
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Quota exceeded — upgrade plan
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Insufficient permissions
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      security:
      - Session: []
      summary: Start the agent-seat free trial
      tags:
      - Billing
components:
  schemas:
    StartAiAgentSeatTrialParams:
      description: 'A trial is always a single seat, so this carries only where Stripe should

        send the caller back.'
      properties:
        cancelUrl:
          type: string
        successUrl:
          type: string
      required:
      - successUrl
      - cancelUrl
      type: object
    AiAgentSeatTrialOffer:
      description: 'Where the caller stands with the free seat trial: `trialPeriodDays` when

        one is on offer, `expiresAt` when one is running, neither once they have

        transacted. An account with no billing record yet gets neither, which is

        an ordinary pre-onboarding state rather than an error.'
      properties:
        expiresAt:
          description: When a trial already running ends.
          format: date-time
          type:
          - string
          - 'null'
        trialPeriodDays:
          description: Free days a checkout would attach, when the caller is still eligible.
          format: int32
          minimum: 0
          type:
          - integer
          - 'null'
      type: object
    CheckoutSessionResponse:
      properties:
        checkoutUrl:
          type: string
      required:
      - checkoutUrl
      type: object
    ErrorResponse:
      properties:
        correlationId:
          example: 550e8400-e29b-41d4-a716-446655440000
          type: string
        key:
          example: http_error
          type: string
        message:
          example: Authentication required
          type: string
        status:
          example: 401
          format: int32
          minimum: 0
          type: integer
        type:
          example: http_error
          type: string
      required:
      - correlationId
      - key
      - message
      - type
      - status
      type: object
  securitySchemes:
    Bearer:
      scheme: bearer
      type: http
    OAuth2:
      flows:
        authorizationCode:
          authorizationUrl: https://api.withone.ai/oauth/authorize
          scopes:
            org:ai_skills:read: Read organization AI skills
            org:ai_skills:write: Create, update, and delete organization AI skills
            org:authkit:read: Read organization AuthKit resources
            org:authkit:write: Create, update, and delete organization AuthKit resources
            org:connections:read: Read organization connections
            org:connections:write: Create, update, and delete organization connections
            org:projects:read: Read organization projects
            org:projects:write: Create, update, and delete organization projects
            org:secrets:read: Read organization secrets
            org:secrets:write: Create, update, and delete organization secrets
            org:workflows:executions:read: Read organization workflow executions
            org:workflows:executions:write: Create, update, and delete organization workflow executions
            org:workflows:read: Read organization workflows
            org:workflows:write: Create, update, and delete organization workflows
            project:ai_skills:read: Read project AI skills
            project:ai_skills:write: Create, update, and delete project AI skills
            project:authkit:read: Read project AuthKit resources
            project:authkit:write: Create, update, and delete project AuthKit resources
            project:connections:read: Read project connections
            project:connections:write: Create, update, and delete project connections
            project:secrets:read: Read project secrets
            project:secrets:write: Create, update, and delete project secrets
            project:workflows:executions:read: Read project workflow executions
            project:workflows:executions:write: Create, update, and delete project workflow executions
            project:workflows:read: Read project workflows
            project:workflows:write: Create, update, and delete project workflows
            user:ai_skills:read: Read your personal AI skills
            user:ai_skills:write: Create, update, and delete your personal AI skills
            user:authkit:read: Read your personal AuthKit resources
            user:authkit:write: Create, update, and delete your personal AuthKit resources
            user:connections:read: Read your personal connections
            user:connections:write: Create, update, and delete your personal connections
            user:secrets:read: Read your personal secrets
            user:secrets:write: Create, update, and delete your personal secrets
            user:workflows:executions:read: Read your personal workflow executions
            user:workflows:executions:write: Create, update, and delete your personal workflow executions
            user:workflows:read: Read your personal workflows
            user:workflows:write: Create, update, and delete your personal workflows
          tokenUrl: https://api.withone.ai/oauth/token
      type: oauth2
    Session:
      in: cookie
      name: withone
      type: apiKey
    X-One-Connection-Key:
      in: header
      name: X-One-Connection-Key
      type: apiKey
    X-One-Secret:
      in: header
      name: X-One-Secret
      type: apiKey
    X-Pica-Connection-Key:
      in: header
      name: X-One-Connection-Key
      type: apiKey
    X-Pica-Secret:
      in: header
      name: X-One-Secret
      type: apiKey