openapi: 3.0.3 info: title: Revert Unified Connection CRM Deals API description: Revert is an open-source unified API for building product integrations. This specification describes the hosted REST surface at api.revert.dev, focused on the unified CRM category (contacts, leads, deals, companies, notes, tasks, events, users), the passthrough proxy, connection management, integration metadata, and webhooks. All CRM requests are authenticated with an `x-revert-api-token` (your Revert API key) and target a specific customer connection via `x-revert-t-id` (the tenant id captured when the customer linked their third-party tool through Revert's managed OAuth flow). Revert is AGPL-3.0 licensed and can be self-hosted. termsOfService: https://revert.dev contact: name: Revert url: https://revert.dev license: name: AGPL-3.0 url: https://www.gnu.org/licenses/agpl-3.0.en.html version: '1.0' servers: - url: https://api.revert.dev description: Revert hosted API security: - revertApiToken: [] tags: - name: CRM Deals paths: /crm/deals: get: tags: - CRM Deals operationId: getDeals summary: List deals from the connected CRM. parameters: - $ref: '#/components/parameters/TenantId' - $ref: '#/components/parameters/Cursor' - $ref: '#/components/parameters/PageSize' responses: '200': description: A page of deals. content: application/json: schema: $ref: '#/components/schemas/UnifiedListResponse' post: tags: - CRM Deals operationId: createDeal summary: Create a deal in the connected CRM. parameters: - $ref: '#/components/parameters/TenantId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Deal' responses: '201': description: Deal created. /crm/deals/{id}: get: tags: - CRM Deals operationId: getDeal summary: Get a single deal by id. parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/TenantId' responses: '200': description: The deal. patch: tags: - CRM Deals operationId: updateDeal summary: Update a deal by id. parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/TenantId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Deal' responses: '200': description: Deal updated. /crm/deals/search: post: tags: - CRM Deals operationId: searchDeals summary: Search deals in the connected CRM. parameters: - $ref: '#/components/parameters/TenantId' requestBody: required: true content: application/json: schema: type: object properties: searchCriteria: type: object responses: '200': description: Matching deals. components: parameters: Id: name: id in: path required: true description: The unified record id. schema: type: string Cursor: name: cursor in: query required: false description: Pagination cursor returned by a previous list response. schema: type: string PageSize: name: pageSize in: query required: false description: Number of records to return per page. schema: type: integer TenantId: name: x-revert-t-id in: header required: true description: The unique customer/tenant id used when the customer linked their account. schema: type: string schemas: UnifiedListResponse: type: object properties: status: type: string example: ok next: type: string nullable: true description: Cursor for the next page, or null when there are no more records. previous: type: string nullable: true results: type: array items: type: object Deal: type: object properties: id: type: string name: type: string amount: type: number stage: type: string probability: type: number associations: type: object additional: type: object securitySchemes: revertApiToken: type: apiKey in: header name: x-revert-api-token description: Your Revert API key (private token used from your backend).