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

# Retrieve a success event



## OpenAPI

````yaml /api-reference/openapi.json get /v1/success-events/{event_id}
openapi: 3.1.0
info:
  description: >-
    The Sailer REST API for CRM, conversations, and campaigns.


    **Authentication.** Send a scoped token as `Authorization: Bearer
    sk_live_...`.

    Tokens are workspace-scoped; the workspace is implied by the token, so no

    tenant header is needed. A workspace administrator creates and revokes them;

    the secret is shown once at creation and cannot be recovered afterwards.


    **Pagination.** Collections return `{data, meta, links}`. Follow
    `links.next`

    until it is `null`; treat the cursor as opaque.


    **Errors.** Every non-2xx response is `{"error": {...}}` with a stable
    `code`.

    Quote `error.request_id` when contacting support.


    **Custom fields.** Workspace-defined fields appear under `custom_fields`,
    keyed

    by `field_key`. Read a record to see which keys a workspace uses; a
    dedicated

    field-discovery endpoint is not part of this release.
  title: Sailer API
  version: 1.0.0
servers:
  - url: https://api.chatsailer.com
security:
  - SailerApiToken: []
tags:
  - description: Token introspection and workspace capabilities.
    name: Meta
  - description: >-
      People you talk to. Called *leads* in older Sailer surfaces; `contact` is
      the current name.
    name: Contacts
  - description: Companies that contacts belong to (B2B accounts).
    name: Organizations
  - description: Opportunities moving through a pipeline.
    name: Deals
  - description: Pipelines and their stages.
    name: Pipelines
  - description: Field definitions, including custom fields.
    name: Fields
  - description: Free-text annotations on CRM records.
    name: Notes
  - description: Scheduled and logged CRM activities.
    name: Activities
  - description: Per-entity label catalogs.
    name: Tags
  - description: Message threads with contacts, across every channel.
    name: Conversations
  - description: Outbound campaigns and their participants.
    name: Campaigns
  - description: >-
      Business outcomes your systems report — a sale closed, a meeting held —
      that your agreement may charge a success fee on. Append-only: a refund is
      a reversal, never an edit. Needs the `success_events:read` /
      `success_events:write` scopes.
    name: Success Events
paths:
  /v1/success-events/{event_id}:
    get:
      tags:
        - Success Events
      summary: Retrieve a success event
      operationId: get_success_event
      parameters:
        - in: path
          name: event_id
          required: true
          schema:
            description: Unique identifier for a success event.
            examples:
              - sev_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4
            pattern: ^sev_[0-9a-f]{32}$
            title: Event Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessEvent'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - SailerApiToken: []
components:
  schemas:
    SuccessEvent:
      description: One entry in the success-event ledger.
      properties:
        agreement_id:
          anyOf:
            - description: Unique identifier for a billing agreement.
              examples:
                - agr_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4
              pattern: ^agr_[0-9a-f]{32}$
              type: string
            - type: 'null'
          description: >-
            The billing agreement this event was attributed to: the one in force
            when Sailer recorded it. Null when there was none.
          title: Agreement Id
        billable:
          description: >-
            Whether a billing agreement was attached when the event was
            recorded. `false` means the event is kept for reporting but will
            never be invoiced, even if an agreement starts later.
          title: Billable
          type: boolean
        contact_id:
          anyOf:
            - description: Unique identifier for a contact.
              examples:
                - con_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4
              pattern: ^con_[0-9a-f]{32}$
              type: string
            - type: 'null'
          title: Contact Id
        conversation_id:
          anyOf:
            - description: Unique identifier for a conversation.
              examples:
                - conv_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4
              pattern: ^conv_[0-9a-f]{32}$
              type: string
            - type: 'null'
          title: Conversation Id
        created_at:
          description: When Sailer recorded the event.
          format: date-time
          title: Created At
          type: string
        currency:
          examples:
            - BRL
          title: Currency
          type: string
        deal_id:
          anyOf:
            - description: Unique identifier for a deal.
              examples:
                - deal_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4
              pattern: ^deal_[0-9a-f]{32}$
              type: string
            - type: 'null'
          title: Deal Id
        dedupe_key:
          title: Dedupe Key
          type: string
        entry_kind:
          $ref: '#/components/schemas/SuccessEventEntryKind'
          description: >-
            `record` for a success; `reversal` for the entry that undoes one. A
            reversal carries the same `event_code` and `value_cents` as the
            event it reverses.
        event_code:
          title: Event Code
          type: string
        id:
          description: Unique identifier for a success event.
          examples:
            - sev_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4
          pattern: ^sev_[0-9a-f]{32}$
          title: Id
          type: string
        object:
          const: success_event
          default: success_event
          title: Object
          type: string
        occurred_at:
          format: date-time
          title: Occurred At
          type: string
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        reverses_event_id:
          anyOf:
            - description: Unique identifier for a success event.
              examples:
                - sev_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4
              pattern: ^sev_[0-9a-f]{32}$
              type: string
            - type: 'null'
          description: On a `reversal`, the event it undoes.
          title: Reverses Event Id
        value_cents:
          anyOf:
            - type: integer
            - type: 'null'
          title: Value Cents
      required:
        - id
        - event_code
        - entry_kind
        - currency
        - billable
        - dedupe_key
        - occurred_at
        - created_at
      title: SuccessEvent
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    SuccessEventEntryKind:
      description: |-
        BR-25: a reversal is always a NEW row in ``billing_success_events``,
        never a mutation of the RECORD row it reverses.
      enum:
        - record
        - reversal
      title: SuccessEventEntryKind
      type: string
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    SailerApiToken:
      description: >-
        A workspace API token. Create one in Settings → API. Send it as
        `Authorization: Bearer sk_live_...`.
      scheme: bearer
      type: http

````