> ## Documentation Index
> Fetch the complete documentation index at: https://clearskies.cc/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List objects

> Lists the object types the API serves.

> [!NOTE]
>
> The Clearskies API is in beta and available on request. To turn it on for your workspace, email
> [support@clearskies.cc](mailto:support@clearskies.cc).


## OpenAPI

````yaml api-reference/openapi.yaml GET /v1/objects
openapi: 3.1.0
info:
  title: Clearskies Public API
  version: '1'
  description: >
    Read the accounts, calls, contacts and deals in your Context Graph, and the
    transcripts of

    your calls, from your own code.


    Every response is a JSON envelope. A success carries `ok: true` and the
    result in `data`; a

    failure carries `ok: false` and an `error` whose `code` is the value to
    branch on. Both carry

    `requestId`, which support resolves a report against.


    The fields available can differ between workspaces, so read an object's
    schema with

    `GET /v1/objects/{object}` before you query it. The schema lists every field
    you can select,

    filter, sort, group or measure, and the filter operators each one accepts.
servers:
  - url: https://api.clearskies.cc
security:
  - apiKey: []
tags:
  - name: Objects
    description: The object types the API serves, and the fields each one carries.
  - name: Records
    description: Query and aggregate the records of one object type.
  - name: Calls
    description: Read what was said on a call.
paths:
  /v1/objects:
    get:
      tags:
        - Objects
      summary: List objects
      description: Lists the object types the API serves.
      operationId: listObjects
      responses:
        '200':
          description: The object types the API serves.
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SuccessEnvelope'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/Object'
              example:
                ok: true
                data:
                  - name: account
                    label: Account
                    custom: false
                  - name: call
                    label: Call
                    custom: false
                  - name: contact
                    label: Contact
                    custom: false
                  - name: deal
                    label: Deal
                    custom: false
                requestId: 0199f2b0-7c41-7a3e-9d6c-2f5a1b8e4c07
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/TenantBlocked'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
components:
  headers:
    X-RateLimit-Limit:
      description: >
        Requests the key can make in a burst. The rate-limit headers are sent on
        the responses

        that list them, while the rate limiter is reachable.
      schema:
        type: integer
    X-RateLimit-Remaining:
      description: Requests left in the current budget.
      schema:
        type: integer
    X-RateLimit-Reset:
      description: Seconds until the budget is full again.
      schema:
        type: integer
    X-Request-ID:
      description: >-
        Identifies this call, as `requestId` in the body does. Quote either to
        support.
      schema:
        type: string
    Retry-After:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  schemas:
    SuccessEnvelope:
      type: object
      required:
        - ok
        - data
        - requestId
      properties:
        ok:
          type: boolean
          const: true
        data: {}
        requestId:
          type: string
          description: Identifies this call. Quote it when you contact support.
        traceId:
          type: string
          description: Present on a traced request.
    Object:
      type: object
      required:
        - name
        - label
        - custom
      properties:
        name:
          $ref: '#/components/schemas/ObjectName'
        label:
          type: string
        custom:
          type: boolean
          description: True for an object type your CRM defines rather than a standard one.
    ObjectName:
      type: string
      enum:
        - account
        - call
        - contact
        - deal
    ErrorEnvelope:
      type: object
      required:
        - ok
        - error
        - requestId
      properties:
        ok:
          type: boolean
          const: false
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              $ref: '#/components/schemas/ErrorCode'
            message:
              type: string
              description: >
                A diagnosis for a person to read. Its wording changes over time,
                so branch on

                `code`, not on this text.
        requestId:
          type: string
          description: Identifies this call. Quote it when you contact support.
        traceId:
          type: string
          description: Present on a traced request.
    ErrorCode:
      type: string
      description: The value to branch on when a request fails.
      enum:
        - BAD_REQUEST
        - UNAUTHORIZED
        - TENANT_BLOCKED
        - NOT_FOUND
        - RATE_LIMITED
        - INTERNAL_ERROR
        - SERVICE_UNAVAILABLE
        - GATEWAY_TIMEOUT
  responses:
    Unauthorized:
      description: >
        The key was not accepted: it is missing, malformed, unknown or revoked;
        the person who

        created it has been deactivated or has left the workspace; or the
        workspace is inactive.

        Every case answers the same way, so check each when a key that worked
        starts failing.
      headers:
        WWW-Authenticate:
          schema:
            type: string
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    TenantBlocked:
      description: The key's workspace is blocked.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    RateLimited:
      description: >
        The key has spent its request budget, or has too many requests in
        flight. Wait for

        `Retry-After` seconds, then retry.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    InternalError:
      description: The request failed on our side. Quote `requestId` to support.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    ServiceUnavailable:
      description: >-
        The key could not be verified because a service it depends on did not
        answer. Retry.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    GatewayTimeout:
      description: >-
        The request ran past its deadline. Narrow the query with filters and
        retry.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >
        An API key created under Context Graph → API keys in the app sidebar,
        sent as `Authorization: Bearer csk_…`.

        The key is checked on every request, so a revoked key fails on its next
        call.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.