CommsHarbor Platform API

The Platform API from CommsHarbor — 7 operation(s) for platform.

Operations 16

GET /api/platform/context Confirm an explicitly granted platform administrator #
GET /api/platform/crm/leads List leads in the platform CRM — a prospective ORGANIZATION in our own funnel… #
POST /api/platform/crm/leads Create a lead in the platform CRM #
GET /api/platform/crm/leads/{lead_id} Read one lead from the platform CRM #
PATCH /api/platform/crm/leads/{lead_id} Update one lead in the platform CRM. Only the fields you send change #
DELETE /api/platform/crm/leads/{lead_id} Delete one lead from the platform CRM. The response carries the record as it was #
GET /api/platform/crm/tasks List tasks in the platform CRM — work on a platform lead — about a prospective… #
POST /api/platform/crm/tasks Create a task in the platform CRM #
GET /api/platform/crm/tasks/{task_id} Read one task from the platform CRM #
PATCH /api/platform/crm/tasks/{task_id} Update one task in the platform CRM. Only the fields you send change #
DELETE /api/platform/crm/tasks/{task_id} Delete one task from the platform CRM. The response carries the record as it was #
GET /api/platform/crm/leads/{lead_id}/activities List activities in the platform CRM — our note about a prospective tenant #
POST /api/platform/crm/leads/{lead_id}/activities Create a activity in the platform CRM #
GET /api/platform/crm/leads/{lead_id}/activities/{activity_id} Read one activity from the platform CRM #
PATCH /api/platform/crm/leads/{lead_id}/activities/{activity_id} Update one activity in the platform CRM. Only the fields you send change #
DELETE /api/platform/crm/leads/{lead_id}/activities/{activity_id} Delete one activity from the platform CRM. #

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/commsharbor-platform-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

commsharbor-platform-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CommsHarbor Platform API
  version: 2d690e87
  description: CommsHarbor API. Organization identity is explicit and tenant-scoped.
servers:
- url: https://commsharbor.com
tags:
- name: Platform
paths:
  /api/platform/context:
    get:
      operationId: commsharbor_platform_context
      summary: Confirm an explicitly granted platform administrator
      description: 'Tenant ownership grants nothing here: platform access is a separate, explicit grant.

        Returns: { role, user_id }'
      security:
      - bearerAuth: []
      responses:
        '200':
          description: '{ role, user_id }'
          content:
            application/json:
              schema:
                type: object
                properties:
                  role:
                    type: string
                    description: The platform role that was granted.
                  user_id:
                    type: string
                    description: Who holds it.
                required:
                - role
                - user_id
        '401':
          description: No session.
        '403':
          description: This person has no platform grant.
      tags:
      - Platform
  /api/platform/crm/leads:
    get:
      operationId: commsharbor_platform_crm_leads_list
      summary: List leads in the platform CRM — a prospective ORGANIZATION in our own funnel…
      description: 'Returns: { items[{id,email,name,company_name,source,stage,organization_id,created_at,updated_at,url}], next_cursor }'
      security:
      - bearerAuth: []
      parameters:
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Opaque cursor from the previous page. Do not build or parse it.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
        description: Page size, from 1 to 100.
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: Free-text search over the record's main fields.
      - name: stage
        in: query
        required: false
        schema:
          type: string
        description: Restrict to one funnel stage of the platform lead.
      responses:
        '200':
          description: '{ items[{id,email,name,company_name,source,stage,organization_id,created_at,updated_at,url}], next_cursor }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageLead'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    post:
      operationId: commsharbor_platform_crm_leads_create
      summary: Create a lead in the platform CRM
      description: 'Returns: { id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: Contact email for the lead.
                name:
                  type: string
                  description: Who to talk to.
                company_name:
                  type: string
                  description: Name of the prospective organization.
                source:
                  type: string
                  description: Where the lead came from, e.g. `manual`.
                stage:
                  type: string
                  description: Where it sits in our funnel, e.g. `new`.
                organization_id:
                  type: string
                  description: The organization it became, once converted.
              required:
              - email
              - name
            example:
              email: lead@example.com
              name: Lead
              company_name: Acme
              source: manual
              stage: new
              organization_id: org_…
      responses:
        '200':
          description: '{ id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lead'
        '400':
          description: A required field is missing, or a referenced record does not exist here.
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
  /api/platform/crm/leads/{lead_id}:
    get:
      operationId: commsharbor_platform_crm_leads_get
      summary: Read one lead from the platform CRM
      description: 'Returns: { id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lead'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    patch:
      operationId: commsharbor_platform_crm_leads_update
      summary: Update one lead in the platform CRM. Only the fields you send change
      description: 'Returns: { id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: Contact email for the lead.
                name:
                  type: string
                  description: Who to talk to.
                company_name:
                  type: string
                  description: Name of the prospective organization.
                source:
                  type: string
                  description: Where the lead came from, e.g. `manual`.
                stage:
                  type: string
                  description: Where it sits in our funnel, e.g. `new`.
                organization_id:
                  type: string
                  description: The organization it became, once converted.
              required:
              - email
              - name
            example:
              email: lead@example.com
              name: Lead
              company_name: Acme
              source: manual
              stage: new
              organization_id: org_…
      responses:
        '200':
          description: '{ id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lead'
        '400':
          description: A field is invalid, or a referenced record does not exist here.
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    delete:
      operationId: commsharbor_platform_crm_leads_delete
      summary: Delete one lead from the platform CRM. The response carries the record as it was
      description: 'Returns: { id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ id, email, name, company_name, source, stage, organization_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lead'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
  /api/platform/crm/tasks:
    get:
      operationId: commsharbor_platform_crm_tasks_list
      summary: List tasks in the platform CRM — work on a platform lead — about a prospective…
      description: 'Returns: { items[{id,title,status,lead_id,due_at,assignee_user_id,created_at,updated_at,url}], next_cursor }'
      security:
      - bearerAuth: []
      parameters:
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Opaque cursor from the previous page. Do not build or parse it.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
        description: Page size, from 1 to 100.
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: Free-text search over the record's main fields.
      - name: status
        in: query
        required: false
        schema:
          type: string
        description: Restrict to one status value.
      - name: lead_id
        in: query
        required: false
        schema:
          type: string
        description: Restrict to one platform lead.
      - name: assignee_user_id
        in: query
        required: false
        schema:
          type: string
        description: Restrict to the member the work is assigned to.
      responses:
        '200':
          description: '{ items[{id,title,status,lead_id,due_at,assignee_user_id,created_at,updated_at,url}], next_cursor }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagePlatformTask'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    post:
      operationId: commsharbor_platform_crm_tasks_create
      summary: Create a task in the platform CRM
      description: 'Returns: { id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: What has to be done.
                lead_id:
                  type: string
                  description: Lead the task belongs to.
                due_at:
                  type: string
                  description: When it is due, ISO-8601.
                assignee_user_id:
                  type: string
                  description: Who is responsible.
              required:
              - title
            example:
              title: Follow up
              lead_id: ld_…
              due_at: '2026-09-01T12:00:00Z'
      responses:
        '200':
          description: '{ id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformTask'
        '400':
          description: A required field is missing, or a referenced record does not exist here.
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
  /api/platform/crm/tasks/{task_id}:
    get:
      operationId: commsharbor_platform_crm_tasks_get
      summary: Read one task from the platform CRM
      description: 'Returns: { id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformTask'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    patch:
      operationId: commsharbor_platform_crm_tasks_update
      summary: Update one task in the platform CRM. Only the fields you send change
      description: 'Returns: { id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: What has to be done.
                lead_id:
                  type: string
                  description: Lead the task belongs to.
                due_at:
                  type: string
                  description: When it is due, ISO-8601.
                assignee_user_id:
                  type: string
                  description: Who is responsible.
              required:
              - title
            example:
              title: Follow up
              lead_id: ld_…
              due_at: '2026-09-01T12:00:00Z'
      responses:
        '200':
          description: '{ id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformTask'
        '400':
          description: A field is invalid, or a referenced record does not exist here.
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    delete:
      operationId: commsharbor_platform_crm_tasks_delete
      summary: Delete one task from the platform CRM. The response carries the record as it was
      description: 'Returns: { id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ id, title, status, lead_id, due_at, assignee_user_id, created_at, updated_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformTask'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
  /api/platform/crm/leads/{lead_id}/activities:
    get:
      operationId: commsharbor_platform_crm_activities_list
      summary: List activities in the platform CRM — our note about a prospective tenant
      description: 'Returns: { items[{id,activity_type,note,lead_id,created_at,url}], next_cursor }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Opaque cursor from the previous page. Do not build or parse it.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
        description: Page size, from 1 to 100.
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: Free-text search over the record's main fields.
      responses:
        '200':
          description: '{ items[{id,activity_type,note,lead_id,created_at,url}], next_cursor }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagePlatformActivity'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    post:
      operationId: commsharbor_platform_crm_activities_create
      summary: Create a activity in the platform CRM
      description: 'Returns: { id, activity_type, note, lead_id, created_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
                  description: The text of the activity.
                activity_type:
                  type: string
                  description: What kind it was, e.g. `note`.
              required:
              - note
            example:
              activity_type: note
              note: Followed up
      responses:
        '200':
          description: '{ id, activity_type, note, lead_id, created_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformActivity'
        '400':
          description: A required field is missing, or a referenced record does not exist here.
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
  /api/platform/crm/leads/{lead_id}/activities/{activity_id}:
    get:
      operationId: commsharbor_platform_crm_activities_get
      summary: Read one activity from the platform CRM
      description: 'Returns: { id, activity_type, note, lead_id, created_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      - name: activity_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ id, activity_type, note, lead_id, created_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformActivity'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    patch:
      operationId: commsharbor_platform_crm_activities_update
      summary: Update one activity in the platform CRM. Only the fields you send change
      description: 'Returns: { id, activity_type, note, lead_id, created_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      - name: activity_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
                  description: The text of the activity.
                activity_type:
                  type: string
                  description: What kind it was, e.g. `note`.
              required:
              - note
            example:
              activity_type: note
              note: Followed up
      responses:
        '200':
          description: '{ id, activity_type, note, lead_id, created_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformActivity'
        '400':
          description: A field is invalid, or a referenced record does not exist here.
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
    delete:
      operationId: commsharbor_platform_crm_activities_delete
      summary: Delete one activity from the platform CRM.
      description: 'Returns: { id, activity_type, note, lead_id, created_at, url }'
      security:
      - bearerAuth: []
      parameters:
      - name: lead_id
        in: path
        required: true
        schema:
          type: string
      - name: activity_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '{ id, activity_type, note, lead_id, created_at, url }'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformActivity'
        '401':
          description: No session, no API key, or the credential does not resolve to this organization.
        '403':
          description: The identity is valid but lacks the required role or scope for this operation.
        '404':
          description: The resource does not exist in this organization. Another tenant's ID answers the same 404 — the API never confirms that it exists elsewhere.
      tags:
      - Platform
components:
  schemas:
    PlatformActivity:
      type: object
      properties:
        id:
          type: string
          description: Activity ID.
        activity_type:
          type: string
          description: What kind of activity it was, e.g. `note`.
        note:
          type: string
          description: The text of the activity.
        lead_id:
          type: string
          description: Lead it refers to.
        created_at:
          type: string
          description: Creation time (UTC).
        url:
          type: string
          description: Absolute URL of this activity.
      required:
      - id
      - activity_type
      - note
      - lead_id
      - created_at
      - url
      description: Something that happened with a platform lead — our note about a prospective tenant.
    PageLead:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Lead'
          description: The records on this page.
        next_cursor:
          type: string
          description: Cursor for the next page; null when there are no more.
          nullable: true
      required:
      - items
      - next_cursor
      description: Cursor-paginated listing. A null cursor means this was the last page.
    Lead:
      type: object
      properties:
        id:
          type: string
          description: Lead ID.
        email:
          type: string
          description: Contact email for the lead.
        name:
          type: string
          description: Who to talk to.
        company_name:
          type: string
          description: Name of the prospective organization.
          nullable: true
        source:
          type: string
          description: Where the lead came from, e.g. `manual`.
          nullable: true
        stage:
          type: string
          description: Where the lead is in our own funnel, e.g. `new`.
        organization_id:
          type: string
          description: The organization this lead became, once it converted.
          nullable: true
        created_at:
          type: string
          description: Creation time (UTC).
        updated_at:
          type: string
          description: Last change (UTC).
          nullable: true
        url:
          type: string
          description: Absolute URL of this lead.
      required:
      - id
      - email
      - name
      - company_name
      - source
      - stage
      - organization_id
      - created_at
      - updated_at
      - url
      description: A prospective ORGANIZATION in the platform CRM. This is our own pipeline about tenants — it is not tenant data, and it is only reachable with an explicit platform grant.
    PagePlatformActivity:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlatformActivity'
          description: The records on this page.
        next_cursor:
          type: string
          description: Cursor for the next page; null when there are no more.
          nullable: true
      required:
      - items
      - next_cursor
      description: Cursor-paginated listing. A null cursor means this was the last page.
    PagePlatformTask:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PlatformTask'
          description: The records on this page.
        next_cursor:
          type: string
          description: Cursor for the next page; null when there are no more.
          nullable: true
      required:
      - items
      - next_cursor
      description: Cursor-paginated listing. A null cursor means this was the last page.
    PlatformTask:
      type: object
      properties:
        id:
          type: string
          description: Task ID.
        title:
          type: string
          description: What has to be done.
        status:
          type: string
          description: Current state.
        lead_id:
          type: string
          description: Lead the task belongs to.
          nullable: true
        due_at:
          type: string
          description: When it is due (UTC).
          nullable: true
        assignee_user_id:
          type: string
          description: Who is responsible.
          nullable: true
        created_at:
          type: string
          description: Creation time (UTC).
        updated_at:
          type: string
          description: Last change (UTC).
          nullable: true
        url:
          type: string
          description: Absolute URL of this task.
      required:
      - id
      - title
      - status
      - lead_id
      - due_at
      - assignee_user_id
      - created_at
      - updated_at
      - url
      description: 'Work on a platform lead. Same idea as a CRM task, different subject: this one is about a prospective tenant, not about a tenant''s customer.'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Human session or scoped organization API key. Organization identity remains explicit.