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.
openapi: 3.2.0
info:
title: Common Room API (v2) Object Types API
version: 2.0.0
description: 'Common Room API v2 for accessing contact and organization data.
For v1 and RTBF APIs see the V1 API documentation.
To use the Common Room API, you will need to create an API token.
To create an API token:
Navigate to Setting | API tokens
Create a "New Token"
# Authentication
-->'
x-logo:
url: /common-room-api-logo.svg
servers:
- url: https://api.commonroom.io/community/v2
description: Common Room API v2
security:
- BearerAuth: []
tags:
- name: Object Types
description: Operations related to custom object type definitions
paths:
/object-types:
get:
summary: List object types
description: 'Retrieve all custom object type definitions for the community, including
their associations to other entity types.'
tags:
- Object Types
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectTypeList'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
'429':
$ref: '#/components/responses/RateLimited'
operationId: getObjectTypes
x-operation-id-source: derived
components:
headers:
X-RateLimit-Remaining:
description: The total amount of requests remaining within the interval
schema:
type: integer
X-RateLimit-Limit:
description: The total amount of requests permitted within the interval
schema:
type: integer
responses:
RateLimited:
description: Rate Limited
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
description: The datetime in epoch seconds when the interval resets
schema:
type: integer
Retry-After:
description: The UTC datetime when the interval resets
schema:
type: string
format: date-time
content:
application/json:
schema:
type: object
properties:
reason:
type: string
rateLimit:
type: object
description: A summary of the rate limit encountered, additional information is available in the headers.
properties:
intervalLimit:
type: number
description: The total amount of requests permitted within the interval
intervalRemaining:
type: number
description: The amount of requests remaining within the interval
intervalResetSeconds:
type: number
description: The amount of time in seconds representing a single interval
waitMs:
type: number
description: The amount of time to wait until the next interval
schemas:
ApiObjectTypeAssoc:
type: object
required:
- objectAssocType
- targetEntity
- targetObjectTypeId
properties:
objectAssocType:
type: string
description: The relationship type
targetEntity:
type: string
description: The target entity name (e.g. `Contact`, `Organization`, or a custom object type name)
targetObjectTypeId:
type:
- string
- 'null'
description: Prefixed target object type ID (format `cot_<number>`), or null for standard entities
ObjectTypeList:
type: object
required:
- success
- data
properties:
success:
type: boolean
enum:
- true
data:
type: array
items:
$ref: '#/components/schemas/ApiObjectType'
ApiObjectType:
type: object
required:
- id
- name
properties:
id:
type: string
description: Prefixed object type ID (format `cot_<number>`)
name:
type: string
description: The object type's display name
assocs:
type: array
items:
$ref: '#/components/schemas/ApiObjectTypeAssoc'
description: Associations to other entity types
Status:
type: object
properties:
status:
type: string
enum:
- ok
- failure
- not-found
example: success
reason:
type: string
errors:
type: array
items:
type: string
required:
- status
example:
status: not created
errors:
- name is missing
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: "Use a Core API JWT as a Bearer token in the Authentication header.\n\nTokens can be created by room Admins through https://app.commonroom.io/\n\nExample:\n\n```\ncurl -H \"Authorization: Bearer abcd123.xzy\" \\\n https://api.commonroom.io/community/v1/api-token-status\n````\n"