Twenty website screenshot

Twenty

Twenty is an open-source CRM platform built as a modern alternative to Salesforce, designed for teams that need flexibility, data ownership, and a contemporary developer experience. It provides REST and GraphQL APIs covering core CRM operations such as managing companies, people, opportunities, notes, tasks, and fully customizable objects. Developers can extend Twenty with custom objects, server-side logic, UI components, and AI agents as TypeScript packages, all surfaced through the same API surface. The platform is available as a cloud service or as a self-hosted deployment via Docker Compose, giving teams full control over their data residency and infrastructure.

2 APIs 0 Features
CRMOpen SourceRESTGraphQLWebhooksSelf-HostedCompaniesPeopleOpportunitiesWorkflowsAI AgentsCustom Objects

APIs

Twenty Core API

The Twenty Core API provides REST and GraphQL endpoints for CRUD operations on all CRM records including companies, people, opportunities, notes, tasks, and any custom objects d...

Twenty Metadata API

The Twenty Metadata API provides REST and GraphQL endpoints for programmatic schema management, allowing developers to create, update, and delete custom objects, fields, and rel...

GraphQL

Twenty CRM GraphQL API

Twenty exposes two GraphQL endpoints for every workspace: the Core API at `/graphql` and the Metadata API at `/metadata`. The Core API is schema-per-tenant — the types and field...

GRAPHQL

Pricing Plans

Twenty Plans Pricing

3 plans

PLANS

Rate Limits

Twenty Rate Limits

5 limits

RATE LIMITS

FinOps

Twenty Finops

FINOPS

Semantic Vocabularies

Twenty Context

2 classes · 19 properties

JSON-LD

Example Payloads

Twenty Create Company

4 fields

EXAMPLE

Twenty Create Custom Object

3 fields

EXAMPLE

Twenty List Companies

4 fields

EXAMPLE

Resources

🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubOrg
GitHubOrg
🔗
LinkedIn
LinkedIn
📰
Blog
Blog
📰
BlogRSS
BlogRSS
📰
Blog
Blog
🔗
Vocabulary
Vocabulary
🔗
JSONLDContext
JSONLDContext
💰
Pricing
Pricing
🔗
X
X
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
aid: twenty
name: Twenty
description: 'Twenty is an open-source CRM platform built as a modern alternative to Salesforce, designed for teams that need
  flexibility, data ownership, and a contemporary developer experience. It provides REST and GraphQL APIs covering core CRM
  operations such as managing companies, people, opportunities, notes, tasks, and fully customizable objects. Developers can
  extend Twenty with custom objects, server-side logic, UI components, and AI agents as TypeScript packages, all surfaced
  through the same API surface. The platform is available as a cloud service or as a self-hosted deployment via Docker Compose,
  giving teams full control over their data residency and infrastructure.

  '
type: Index
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
url: https://raw.githubusercontent.com/api-evangelist/twenty/refs/heads/main/apis.yml
created: 2026-06-12
modified: 2026-06-12
specificationVersion: '0.19'
tags:
- CRM
- Open Source
- REST
- GraphQL
- Webhooks
- Self-Hosted
- Companies
- People
- Opportunities
- Workflows
- AI Agents
- Custom Objects
apis:
- aid: twenty:core-api
  name: Twenty Core API
  description: 'The Twenty Core API provides REST and GraphQL endpoints for CRUD operations on all CRM records including companies,
    people, opportunities, notes, tasks, and any custom objects defined in a workspace. Both interfaces support batch operations
    of up to 60 records per request, filtering, and relation traversal. GraphQL additionally supports batch upsert using plural
    object names. Authentication is via bearer token generated from the workspace settings. The API schema is per-tenant and
    adapts automatically as custom objects are added.

    '
  type: Contract
  tags:
  - CRM
  - REST
  - GraphQL
  - Companies
  - People
  - Opportunities
  contact:
  - FN: Twenty Developer Documentation
    url: https://docs.twenty.com/developers/extend/api
  properties:
  - type: Documentation
    url: https://docs.twenty.com/developers/extend/api
  - type: OpenAPI
    url: https://api.twenty.com/open-api/core
  - type: OpenAPI
    url: openapi/twenty-core-api-openapi.yml
  - type: JSONSchema
    url: json-schema/twenty-company.json
  - type: JSONSchema
    url: json-schema/twenty-person.json
  - type: JSONSchema
    url: json-schema/twenty-opportunity.json
  - type: Examples
    url: examples/twenty-create-company.json
  - type: Examples
    url: examples/twenty-list-companies.json
  - type: Examples
    url: examples/twenty-create-custom-object.json
  - url: graphql/twenty-graphql.md
    type: GraphQL
- aid: twenty:metadata-api
  name: Twenty Metadata API
  description: 'The Twenty Metadata API provides REST and GraphQL endpoints for programmatic schema management, allowing developers
    to create, update, and delete custom objects, fields, and relations within a workspace. Changes made through the Metadata
    API are immediately reflected in the Core API surface, enabling dynamic data modeling at runtime. The base paths are /rest/metadata/
    for REST and /metadata/ for GraphQL.

    '
  type: Contract
  tags:
  - Metadata
  - Schema Management
  - Custom Objects
  - REST
  - GraphQL
  contact:
  - FN: Twenty Developer Documentation
    url: https://docs.twenty.com/developers/extend/api
  properties:
  - type: Documentation
    url: https://docs.twenty.com/developers/extend/api
  - type: OpenAPI
    url: https://api.twenty.com/open-api/metadata
  - type: OpenAPI
    url: openapi/twenty-metadata-api-openapi.yml
common:
- type: Website
  url: https://twenty.com
- type: Documentation
  url: https://docs.twenty.com/developers/introduction
- type: GitHubOrg
  url: https://github.com/twentyhq
- type: LinkedIn
  url: https://www.linkedin.com/company/twenty
- type: Blog
  url: https://twenty.com/releases
- type: BlogRSS
  url: https://github.com/twentyhq/twenty/releases.atom
- type: Blog
  url: blogs/blogs.json
- type: Vocabulary
  url: vocabulary/twenty-vocabulary.yml
- type: JSONLDContext
  url: json-ld/twenty-context.jsonld
- type: Pricing
  url: https://twenty.com/pricing
- type: X
  url: https://x.com/twentycrm
- type: Plans
  url: plans/twenty-plans-pricing.yml
- type: RateLimits
  url: rate-limits/twenty-rate-limits.yml
- type: FinOps
  url: finops/twenty-finops.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com