Coperniq properties API

The properties API from Coperniq — 1 operation(s) for properties.

OpenAPI Specification

coperniq-properties-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Key accounts properties API
  version: 1.0.0
servers:
- url: https://api.coperniq.io/v1
  description: Production server
tags:
- name: properties
paths:
  /properties:
    get:
      operationId: list-properties
      summary: List Properties
      description: 'Retrieve list of properties organized by record type.


        When `record_type` is **omitted**, the response includes all keys: `account`, `opportunity`,

        `project`, `vendor`, and `ahj` — plus the deprecated alias keys `client` and `request`.


        When `record_type` is **provided**, the response contains only the requested key(s). Filtering

        by `account` or `client` returns both `account` and `client` (identical data); filtering by

        `opportunity` or `request` returns both `opportunity` and `request` (identical data).


        > **Note:** `client` and `request` are deprecated aliases for `account` and `opportunity` respectively. They will continue to be returned until all users have migrated.


        > **AHJ:** The `ahj` key returns only customer-defined custom properties (`isCustom: true`). Standard built-in AHJ fields are not included here — they are exposed directly on the AHJ object instead, and are not updatable via the public API.

        '
      tags:
      - properties
      parameters:
      - name: record_type
        in: query
        description: 'Filter by record type. Can also be supplied as a comma-separated list

          (`?record_type=project,vendor`) or repeated (`?record_type=project&record_type=vendor`)

          to request multiple types in one call.


          When omitted, the response includes every record-type key. When supplied, the response

          includes only the requested key(s) — plus the matching deprecated alias key where

          applicable (`account` ↔ `client`, `opportunity` ↔ `request`).


          > **Note:** `client` and `request` are deprecated aliases for `account` and `opportunity` respectively. They are still accepted as input.

          '
        required: false
        schema:
          $ref: '#/components/schemas/PropertiesGetParametersRecordType'
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of properties
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Properties_listProperties_Response_200'
components:
  schemas:
    Property:
      type: object
      properties:
        name:
          type: string
          description: Property name
        type:
          type: string
          description: Property type
        keyName:
          type: string
          description: Property key name
        isMultiple:
          type: boolean
          description: Whether the property is a multiple value property
        options:
          type: array
          items:
            type: string
          description: Property options
        defaultValue:
          type: array
          items:
            description: Any type
          description: Default value
        isCustom:
          type: boolean
          description: True for customer-defined custom columns, false for built-in standard properties.
      title: Property
    Properties_listProperties_Response_200:
      type: object
      properties:
        account:
          type: array
          items:
            $ref: '#/components/schemas/Property'
        opportunity:
          type: array
          items:
            $ref: '#/components/schemas/Property'
        project:
          type: array
          items:
            $ref: '#/components/schemas/Property'
        vendor:
          type: array
          items:
            $ref: '#/components/schemas/Property'
        ahj:
          type: array
          items:
            $ref: '#/components/schemas/Property'
          description: 'Customer-defined custom AHJ properties only (`isCustom: true`). Standard built-in AHJ fields are not included.'
        client:
          type: array
          items:
            $ref: '#/components/schemas/Property'
          description: Deprecated alias for `account`. Contains identical data.
        request:
          type: array
          items:
            $ref: '#/components/schemas/Property'
          description: Deprecated alias for `opportunity`. Contains identical data.
      title: Properties_listProperties_Response_200
    PropertiesGetParametersRecordType:
      type: string
      enum:
      - account
      - opportunity
      - project
      - vendor
      - ahj
      title: PropertiesGetParametersRecordType
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic