Ironclad Clickwrap Activity API

Send acceptance, rejection, and view events.

OpenAPI Specification

ironclad-clickwrap-activity-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Ironclad Clickwrap Activity API
  description: The Ironclad Clickwrap API (formerly PactSafe) lets developers programmatically manage clickwrap and click-through agreements, track user acceptance, and generate audit-ready records of consent for terms, privacy policies, and other legal contracts.
  version: '1.1'
  contact:
    name: Ironclad Clickwrap Support
    url: https://ironcladapp.com/support/
  license:
    name: Proprietary
    url: https://ironcladapp.com/
servers:
- url: https://pactsafe.io
  description: Ironclad Clickwrap API production base URL
security:
- bearerAuth: []
tags:
- name: Activity
  description: Send acceptance, rejection, and view events.
paths:
  /send/agreed:
    post:
      tags:
      - Activity
      summary: Record an agreement acceptance event
      operationId: sendAgreed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgreedEvent'
      responses:
        '200':
          description: Event recorded.
  /send/displayed:
    post:
      tags:
      - Activity
      summary: Record a contract display event
      operationId: sendDisplayed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DisplayedEvent'
      responses:
        '200':
          description: Event recorded.
  /send/visited:
    post:
      tags:
      - Activity
      summary: Record a page visit event
      operationId: sendVisited
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VisitedEvent'
      responses:
        '200':
          description: Event recorded.
  /retrieve/latest:
    get:
      tags:
      - Activity
      summary: Retrieve the latest acceptance state for a signer
      operationId: retrieveLatest
      parameters:
      - name: sig
        in: query
        required: true
        schema:
          type: string
        description: Signer identifier.
      - name: gkey
        in: query
        schema:
          type: string
        description: Group key.
      responses:
        '200':
          description: Acceptance state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptanceState'
components:
  schemas:
    DisplayedEvent:
      type: object
      required:
      - sig
      - gid
      properties:
        sig:
          type: string
        gid:
          type: integer
        gkey:
          type: string
    VisitedEvent:
      type: object
      required:
      - sig
      properties:
        sig:
          type: string
        url:
          type: string
    AcceptanceState:
      type: object
      properties:
        signer:
          type: string
        accepted:
          type: boolean
        acceptance_time:
          type: string
          format: date-time
        contracts:
          type: array
          items:
            type: integer
    AgreedEvent:
      type: object
      required:
      - sig
      - gid
      properties:
        sig:
          type: string
        gid:
          type: integer
        gkey:
          type: string
        cid:
          type: array
          items:
            type: integer
        vid:
          type: array
          items:
            type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key