Hubflo Organizations API

The organizations API from Hubflo — 3 operation(s) for organizations.

Operations 6

POST /api/v2/organizations/cover Uploads the organization cover #
DELETE /api/v2/organizations/cover Deletes the organization cover #
GET /api/v2/organizations Retrieves the organizations #
PATCH /api/v2/organizations Updates the current organization #

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/hubflo-organizations-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

hubflo-organizations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hubflo Organizations API
  version: v2
  description: The Hubflo API allows you to write and read data from the Hubflo application.
servers:
- url: https://app.hubflo.com
  description: The production API server
- url: https://staging.hubflo.com
  description: The staging API server
- url: http://localhost:3000
  description: The local API server
tags:
- name: Organizations
paths:
  /api/v2/organizations/cover:
    post:
      summary: Uploads the organization cover
      security:
      - bearer_auth: []
      description: Replaces the organization cover. The image is sent as multipart/form-data.
      tags:
      - Organizations
      parameters: []
      responses:
        '201':
          description: Cover uploaded
          headers:
            Content-Type:
              schema:
                type: string
              description: application/json; charset=utf-8
            X-Organization-ID:
              schema:
                type: string
              description: The organization ID
            X-Rate-Limit:
              schema:
                type: integer
              description: Max allowed requests in the current period
            X-Remaining-Requests:
              schema:
                type: integer
              description: Remaining requests in the current period
          content:
            application/json:
              examples:
                example:
                  value:
                    id: 119b3247-c1ef-42fa-acc7-c63b3ebf0374
                    name: Organization
                    website: null
                    business_description: null
                    accent_color: '#8AA3D9'
                    sidebar_color: '#FCFCFC'
                    sidebar_text_color: '#060520'
                    menu_tasks_visibility: true
                    menu_messaging_visibility: true
                    menu_forms_visibility: true
                    menu_billing_visibility: true
                    menu_smartdocs_visibility: true
                    menu_workflows_visibility: false
                    currency: EUR
                    project_module_enabled: true
                    project_wording: account
                    enable_2fa_on_users: false
                    enable_2fa_on_contact_authentications: false
                    country_subscription: FR
                    created_at: '2026-07-17T13:08:42Z'
                    portal_subdomain: client
                    portal_host: client.example.com
                    logo_url: null
                    cover_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiI3OWxwMTcyankxMXBjbmN2YnNieGFramtwMmgzIiwiZGlzcG9zaXRpb24iOiJpbmxpbmU7IGZpbGVuYW1lPVwiNjAweDYwMC5wbmdcIjsgZmlsZW5hbWUqPVVURi04Jyc2MDB4NjAwLnBuZyIsImNvbnRlbnRfdHlwZSI6ImltYWdlL3BuZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wNy0xN1QxMzoxNDo0Mi4wODJaIiwicHVyIjoiYmxvYl9rZXkifX0=--6e72d84cf75f5e2c8f0275ecbfb48a3c3e9b8ca0/600x600.png
        '401':
          description: 'unauthorized: the Authorization header is missing or invalid'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 401
                    title: Unauthorized
                    message: Invalid API token
              schema:
                $ref: '#/components/schemas/error_unauthorized'
        '429':
          description: 'too many requests: the user has reached the rate limit'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 429
                    title: Too Many Requests
                    message: Rate limit reached. Please wait for a couple of minutes.
              schema:
                $ref: '#/components/schemas/error_too_many_requests'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: string
              format: binary
        required: true
        description: Cover to upload
      operationId: postApiV2OrganizationsCover
      x-operation-id-source: derived
    delete:
      summary: Deletes the organization cover
      security:
      - bearer_auth: []
      description: Removes the organization cover
      tags:
      - Organizations
      responses:
        '204':
          description: Cover deleted
          headers:
            X-Organization-ID:
              schema:
                type: string
              description: The organization ID
            X-Rate-Limit:
              schema:
                type: integer
              description: Max allowed requests in the current period
            X-Remaining-Requests:
              schema:
                type: integer
              description: Remaining requests in the current period
          content:
            application/json:
              examples:
                example:
                  value: ''
        '401':
          description: 'unauthorized: the Authorization header is missing or invalid'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 401
                    title: Unauthorized
                    message: Invalid API token
              schema:
                $ref: '#/components/schemas/error_unauthorized'
        '429':
          description: 'too many requests: the user has reached the rate limit'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 429
                    title: Too Many Requests
                    message: Rate limit reached. Please wait for a couple of minutes.
              schema:
                $ref: '#/components/schemas/error_too_many_requests'
      operationId: deleteApiV2OrganizationsCover
      x-operation-id-source: derived
  /api/v2/organizations/logo:
    post:
      summary: Uploads the organization logo
      security:
      - bearer_auth: []
      description: Replaces the organization logo. The image is sent as multipart/form-data.
      tags:
      - Organizations
      parameters: []
      responses:
        '201':
          description: Logo uploaded
          headers:
            Content-Type:
              schema:
                type: string
              description: application/json; charset=utf-8
            X-Organization-ID:
              schema:
                type: string
              description: The organization ID
            X-Rate-Limit:
              schema:
                type: integer
              description: Max allowed requests in the current period
            X-Remaining-Requests:
              schema:
                type: integer
              description: Remaining requests in the current period
          content:
            application/json:
              examples:
                example:
                  value:
                    id: 119b3247-c1ef-42fa-acc7-c63b3ebf0374
                    name: Organization
                    website: null
                    business_description: null
                    accent_color: '#8AA3D9'
                    sidebar_color: '#FCFCFC'
                    sidebar_text_color: '#060520'
                    menu_tasks_visibility: true
                    menu_messaging_visibility: true
                    menu_forms_visibility: true
                    menu_billing_visibility: true
                    menu_smartdocs_visibility: true
                    menu_workflows_visibility: false
                    currency: EUR
                    project_module_enabled: true
                    project_wording: account
                    enable_2fa_on_users: false
                    enable_2fa_on_contact_authentications: false
                    country_subscription: FR
                    created_at: '2026-07-17T13:08:42Z'
                    portal_subdomain: client
                    portal_host: client.example.com
                    logo_url: http://www.example.com/rails/active_storage/disk/eyJfcmFpbHMiOnsiZGF0YSI6eyJrZXkiOiJsbGdsbmFuNGU1Nmw2bTFubnc1NHM0Y2pkazM2IiwiZGlzcG9zaXRpb24iOiJpbmxpbmU7IGZpbGVuYW1lPVwiNjAweDYwMC5wbmdcIjsgZmlsZW5hbWUqPVVURi04Jyc2MDB4NjAwLnBuZyIsImNvbnRlbnRfdHlwZSI6ImltYWdlL3BuZyIsInNlcnZpY2VfbmFtZSI6InRlc3QifSwiZXhwIjoiMjAyNi0wNy0xN1QxMzoxNDo0Mi45MDVaIiwicHVyIjoiYmxvYl9rZXkifX0=--89909d41189f42383dc34383743549846ba84b16/600x600.png
                    cover_url: null
        '401':
          description: 'unauthorized: the Authorization header is missing or invalid'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 401
                    title: Unauthorized
                    message: Invalid API token
              schema:
                $ref: '#/components/schemas/error_unauthorized'
        '429':
          description: 'too many requests: the user has reached the rate limit'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 429
                    title: Too Many Requests
                    message: Rate limit reached. Please wait for a couple of minutes.
              schema:
                $ref: '#/components/schemas/error_too_many_requests'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: string
              format: binary
        required: true
        description: Logo to upload
      operationId: postApiV2OrganizationsLogo
      x-operation-id-source: derived
    delete:
      summary: Deletes the organization logo
      security:
      - bearer_auth: []
      description: Removes the organization logo
      tags:
      - Organizations
      responses:
        '204':
          description: Logo deleted
          headers:
            X-Organization-ID:
              schema:
                type: string
              description: The organization ID
            X-Rate-Limit:
              schema:
                type: integer
              description: Max allowed requests in the current period
            X-Remaining-Requests:
              schema:
                type: integer
              description: Remaining requests in the current period
          content:
            application/json:
              examples:
                example:
                  value: ''
        '401':
          description: 'unauthorized: the Authorization header is missing or invalid'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 401
                    title: Unauthorized
                    message: Invalid API token
              schema:
                $ref: '#/components/schemas/error_unauthorized'
        '429':
          description: 'too many requests: the user has reached the rate limit'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 429
                    title: Too Many Requests
                    message: Rate limit reached. Please wait for a couple of minutes.
              schema:
                $ref: '#/components/schemas/error_too_many_requests'
      operationId: deleteApiV2OrganizationsLogo
      x-operation-id-source: derived
  /api/v2/organizations:
    get:
      summary: Retrieves the organizations
      security:
      - bearer_auth: []
      description: Returns the organizations
      tags:
      - Organizations
      responses:
        '200':
          description: Organization retrieved
          headers:
            Content-Type:
              schema:
                type: string
              description: application/json; charset=utf-8
            X-Organization-ID:
              schema:
                type: string
              description: The organization ID
            X-Rate-Limit:
              schema:
                type: integer
              description: Max allowed requests in the current period
            X-Remaining-Requests:
              schema:
                type: integer
              description: Remaining requests in the current period
          content:
            application/json:
              examples:
                example:
                  value:
                    id: 119b3247-c1ef-42fa-acc7-c63b3ebf0374
                    name: Organization
                    website: null
                    business_description: null
                    accent_color: '#8AA3D9'
                    sidebar_color: '#FCFCFC'
                    sidebar_text_color: '#060520'
                    menu_tasks_visibility: true
                    menu_messaging_visibility: true
                    menu_forms_visibility: true
                    menu_billing_visibility: true
                    menu_smartdocs_visibility: true
                    menu_workflows_visibility: false
                    currency: EUR
                    project_module_enabled: true
                    project_wording: account
                    enable_2fa_on_users: false
                    enable_2fa_on_contact_authentications: false
                    country_subscription: FR
                    created_at: '2026-07-17T13:08:42Z'
                    portal_subdomain: client
                    portal_host: client.example.com
                    logo_url: null
                    cover_url: null
        '401':
          description: 'unauthorized: the Authorization header is missing or invalid'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 401
                    title: Unauthorized
                    message: Invalid API token
              schema:
                $ref: '#/components/schemas/error_unauthorized'
        '429':
          description: 'too many requests: the user has reached the rate limit'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 429
                    title: Too Many Requests
                    message: Rate limit reached. Please wait for a couple of minutes.
              schema:
                $ref: '#/components/schemas/error_too_many_requests'
      operationId: getApiV2Organizations
      x-operation-id-source: derived
    patch:
      summary: Updates the current organization
      security:
      - bearer_auth: []
      description: Returns the updated organization
      tags:
      - Organizations
      parameters: []
      responses:
        '200':
          description: Organization updated
          headers:
            Content-Type:
              schema:
                type: string
              description: application/json; charset=utf-8
            X-Organization-ID:
              schema:
                type: string
              description: The organization ID
            X-Rate-Limit:
              schema:
                type: integer
              description: Max allowed requests in the current period
            X-Remaining-Requests:
              schema:
                type: integer
              description: Remaining requests in the current period
          content:
            application/json:
              examples:
                example:
                  value:
                    id: 119b3247-c1ef-42fa-acc7-c63b3ebf0374
                    name: Updated name
                    website: https://updated.example.com
                    business_description: Updated business description
                    accent_color: '#FF6B00'
                    sidebar_color: '#1A1A1A'
                    sidebar_text_color: '#FFFFFF'
                    menu_tasks_visibility: false
                    menu_messaging_visibility: false
                    menu_forms_visibility: false
                    menu_billing_visibility: false
                    menu_smartdocs_visibility: false
                    menu_workflows_visibility: false
                    currency: EUR
                    project_module_enabled: false
                    project_wording: mission
                    enable_2fa_on_users: true
                    enable_2fa_on_contact_authentications: true
                    country_subscription: FR
                    created_at: '2026-07-17T13:08:42Z'
                    portal_subdomain: client
                    portal_host: client.example.com
                    logo_url: null
                    cover_url: null
        '401':
          description: 'unauthorized: the Authorization header is missing or invalid'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 401
                    title: Unauthorized
                    message: Invalid API token
              schema:
                $ref: '#/components/schemas/error_unauthorized'
        '429':
          description: 'too many requests: the user has reached the rate limit'
          content:
            application/json:
              examples:
                example:
                  value:
                    status: 429
                    title: Too Many Requests
                    message: Rate limit reached. Please wait for a couple of minutes.
              schema:
                $ref: '#/components/schemas/error_too_many_requests'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: Hubflo
                website:
                  type: string
                  example: https://hubflo.com
                business_description:
                  type: string
                  example: All-in-one client portal
                accent_color:
                  type: string
                  example: '#FF6B00'
                sidebar_color:
                  type: string
                  example: '#1A1A1A'
                sidebar_text_color:
                  type: string
                  example: '#FFFFFF'
                menu_tasks_visibility:
                  type: boolean
                  example: true
                menu_messaging_visibility:
                  type: boolean
                  example: true
                menu_forms_visibility:
                  type: boolean
                  example: true
                menu_billing_visibility:
                  type: boolean
                  example: true
                menu_smartdocs_visibility:
                  type: boolean
                  example: false
                menu_workflows_visibility:
                  type: boolean
                  example: true
                project_module_enabled:
                  type: boolean
                  example: true
                project_wording:
                  type: string
                  enum:
                  - account
                  - project
                  - intervention
                  - mission
                  - mandate
                  - construction
                  - property
                  - opportunity
                  - event
                  - booking
                  - file
                  - training
                  - campaign
                  - application
                  - student
                  - order
                  - matter
                  - claim
                  - ticket
                  - journey
                  example: mission
                enable_2fa_on_users:
                  type: boolean
                  example: true
                enable_2fa_on_contact_authentications:
                  type: boolean
                  example: true
        required: true
        description: Organization attributes
      operationId: patchApiV2Organizations
      x-operation-id-source: derived
components:
  schemas:
    error_too_many_requests:
      description: A response describing a rate limit error
      type: object
      properties:
        status:
          type: integer
          example: 429
        title:
          type: string
          example: Too Many Requests
        message:
          type: string
          example: Rate limit reached. Please wait for a couple of minutes.
      required:
      - status
      - title
      - message
    error_unauthorized:
      description: A response describing an authentication error
      type: object
      properties:
        status:
          type: integer
          example: 401
        title:
          type: string
          example: Unauthorized
        message:
          type: string
          example: API token not found
      required:
      - status
      - title
      - message
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
x-readme:
  explorer-enabled: true
  proxy-enabled: true