Hlix Client Billing Profile API

The client-billing-profile API from Hlix — 2 operation(s) for client-billing-profile.

GitHub OpenAPI

Operations 4

DELETE /v1/api/client-billing/profile Remove the workspace's billing identity #
GET /v1/api/client-billing/profile Get the workspace's billing identity #
PUT /v1/api/client-billing/profile Replace the workspace's billing identity #

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/hlix-ai:hlix-ai-client-billing-profile-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

hlix-ai-client-billing-profile-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Explore the Hlix API for projects, agent teams, and delivery workflows. Authenticate with `x-api-key` and select a Workspace with `X-Organization-Id`. Session-only operations require a signed-in user session. Authentication setup.
  title: reference Client Billing Profile API
  version: 1.0.0
servers:
- url: https://server.hlix.ai
  description: API server
security:
- apiKey: []
- sessionCookie: []
tags:
- name: client-billing-profile
paths:
  /v1/api/client-billing/profile:
    delete:
      operationId: deleteAgencyBillingProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgencyBillingProfileCleared'
          description: Removed. New invoices are issued unbranded; ones already issued keep the identity frozen onto them.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The request named no active organization.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No valid session or API key.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The caller is a `member`. Changing the legal entity every customer is billed by is restricted to owners and admins.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No billing profile is set.
      summary: Remove the workspace's billing identity
      tags:
      - client-billing-profile
    get:
      operationId: getAgencyBillingProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgencyBillingProfileState'
          description: The profile, or `null` if none was ever saved. `branded` says whether the workspace's plan puts it on invoices — an unbranded workspace still issues complete, correct documents.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The request named no active organization.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No valid session or API key.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The caller is a `client` collaborator. The agency's billing identity is agency-only, reads included.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist.
      summary: Get the workspace's billing identity
      tags:
      - client-billing-profile
    put:
      operationId: upsertAgencyBillingProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertBillingProfile'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgencyBillingProfileState'
          description: 'The saved billing profile. This PUT replaces the profile: omitted optional fields are cleared, including a previously stored logo.'
        '400':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ValidationError'
                - $ref: '#/components/schemas/ApiError'
          description: The JSON body failed schema validation (`ValidationError`), the request named no active organization, or the logo is not the image format it claims to be — the bytes are decoded, not trusted, and this route reads the file header (`ApiError`).
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No valid session or API key.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The caller is a `member`. Changing the legal entity every customer is billed by is restricted to owners and admins.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist.
      summary: Replace the workspace's billing identity
      tags:
      - client-billing-profile
  /v1/api/client-billing/profile/logo:
    get:
      operationId: getAgencyBillingProfileLogo
      parameters:
      - $ref: '#/components/parameters/OrganizationId'
      responses:
        '200':
          content:
            image/png:
              schema:
                format: binary
                type: string
          description: 'The stored image. The `Content-Type` is the format recorded in the database, not one the uploader asserted, and `X-Content-Type-Options: nosniff` accompanies it.'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The request named no active organization.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No valid session or API key.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: The caller is a `client` collaborator. The agency's billing identity is agency-only, reads included.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: No logo is set for this workspace.
      summary: Download the workspace's logo
      tags:
      - client-billing-profile
components:
  schemas:
    ApiError:
      additionalProperties: {}
      properties:
        error:
          type: string
      required:
      - error
      type: object
    AgencyBillingProfileCleared:
      properties:
        ok:
          const: true
          type: boolean
      required:
      - ok
      type: object
    UpsertBillingProfile:
      additionalProperties: false
      properties:
        address:
          maxLength: 1000
          minLength: 1
          type: string
        brandColor:
          anyOf:
          - pattern: ^#[0-9a-fA-F]{6}$
            type: string
          - type: 'null'
        contactEmail:
          anyOf:
          - format: email
            maxLength: 320
            pattern: ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
            type: string
          - type: 'null'
        defaultPaymentTerms:
          anyOf:
          - maxLength: 200
            minLength: 1
            type: string
          - type: 'null'
        invoiceFooter:
          anyOf:
          - maxLength: 2000
            minLength: 1
            type: string
          - type: 'null'
        legalName:
          maxLength: 200
          minLength: 1
          type: string
        logo:
          anyOf:
          - additionalProperties: false
            properties:
              data:
                maxLength: 699052
                minLength: 1
                pattern: ^[A-Za-z0-9+/]+={0,2}$
                type: string
              mediaType:
                enum:
                - image/png
                - image/jpeg
                type: string
            required:
            - mediaType
            - data
            type: object
          - type: 'null'
        taxId:
          anyOf:
          - maxLength: 100
            minLength: 1
            type: string
          - type: 'null'
      required:
      - legalName
      - address
      type: object
    AgencyBillingProfileState:
      properties:
        branded:
          type: boolean
        profile:
          anyOf:
          - properties:
              address:
                type: string
              brandColor:
                type:
                - string
                - 'null'
              contactEmail:
                type:
                - string
                - 'null'
              createdAt:
                type: string
              defaultPaymentTerms:
                type:
                - string
                - 'null'
              invoiceFooter:
                type:
                - string
                - 'null'
              legalName:
                type: string
              logoMediaType:
                type:
                - string
                - 'null'
              organizationId:
                type: string
              taxId:
                type:
                - string
                - 'null'
              updatedAt:
                type: string
              updatedBy:
                type: string
            required:
            - organizationId
            - legalName
            - address
            - taxId
            - contactEmail
            - logoMediaType
            - brandColor
            - defaultPaymentTerms
            - invoiceFooter
            - updatedBy
            - updatedAt
            - createdAt
            type: object
          - type: 'null'
      required:
      - profile
      - branded
      type: object
    ValidationError:
      properties:
        error:
          properties:
            message:
              type: string
            name:
              type: string
          required:
          - name
          - message
          type: object
        success:
          const: false
          type: boolean
      required:
      - success
      - error
      type: object
  parameters:
    OrganizationId:
      description: The workspace (organization) to act in. Omitted, the session's active organization is used.
      in: header
      name: X-Organization-Id
      required: false
      schema:
        type: string
      example: YOUR_WORKSPACE_ID
  securitySchemes:
    apiKey:
      description: An API key issued through `/v1/api/auth/api-key/*`. Browser clients can use their session cookie instead.
      in: header
      name: x-api-key
      type: apiKey
    sessionCookie:
      description: The complete session Cookie header issued by sign-in at the selected API host. Cookie names vary by hosting region and environment; preserve the issued name and value. Browsers send these HTTP-only cookies automatically. Session-only operations require this user session and do not accept an API key.
      in: header
      name: Cookie
      type: apiKey