Swimlane Records API

Record CRUD and search endpoints

OpenAPI Specification

swimlane-records-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Swimlane REST Applications Records API
  description: The Swimlane REST API allows programmatic access to the Swimlane platform, supporting management of users, roles, records, applications, playbooks, cases, and alerts. Authentication is via bearer tokens generated from user profile API token settings or personal access tokens (PAT). The embedded Swagger/OpenAPI UI is available at /api/swagger on each Swimlane instance.
  version: 10.x
  contact:
    name: Swimlane Support
    url: https://swimlane.com/support/
  license:
    name: Commercial
    url: https://swimlane.com/
servers:
- url: https://{instance}.swimlane.app/api
  variables:
    instance:
      default: your-instance
      description: Your Swimlane instance hostname prefix
security:
- BearerAuth: []
- PrivateTokenAuth: []
tags:
- name: Records
  description: Record CRUD and search endpoints
paths:
  /app/{appId}/record/{recordId}:
    get:
      summary: Get record by ID
      description: Retrieve a single record by its unique identifier
      operationId: getRecord
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        description: Record identifier
        schema:
          type: string
      responses:
        '200':
          description: Record object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Record'
        '404':
          description: Record not found
  /app/{appId}/record/tracking/{trackingId}:
    get:
      summary: Get record by tracking ID
      description: Retrieve a single record by its human-readable tracking identifier
      operationId: getRecordByTrackingId
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      - name: trackingId
        in: path
        required: true
        description: Record tracking identifier (e.g., APP-12345)
        schema:
          type: string
      responses:
        '200':
          description: Record object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Record'
        '404':
          description: Record not found
  /app/{appId}/record/batch:
    post:
      summary: Bulk create records
      description: Create multiple records in a single request
      operationId: bulkCreateRecords
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkRecordRequest'
      responses:
        '200':
          description: Bulk creation result
          content:
            application/json:
              schema:
                type: object
    put:
      summary: Bulk modify records
      description: Modify multiple records matching filter criteria
      operationId: bulkModifyRecords
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkModifyRequest'
      responses:
        '200':
          description: Job ID for tracking the bulk operation
          content:
            text/plain:
              schema:
                type: string
    delete:
      summary: Bulk delete records
      description: Delete multiple records matching filter criteria or by IDs
      operationId: bulkDeleteRecords
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: array
                  items:
                    type: object
                recordIds:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Job ID for tracking the bulk operation
          content:
            text/plain:
              schema:
                type: string
  /app/{appId}/record/{recordId}/history:
    get:
      summary: List record revisions
      description: Retrieve all revision history for a record
      operationId: listRecordRevisions
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        description: Record identifier
        schema:
          type: string
      responses:
        '200':
          description: List of record revisions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RecordRevision'
  /app/{appId}/record/{recordId}/history/{revisionNumber}:
    get:
      summary: Get record revision
      description: Retrieve a specific revision of a record
      operationId: getRecordRevision
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        description: Record identifier
        schema:
          type: string
      - name: revisionNumber
        in: path
        required: true
        description: Revision number (positive whole number)
        schema:
          type: number
          minimum: 1
      responses:
        '200':
          description: Record revision object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordRevision'
        '404':
          description: Revision not found
  /app/{appId}/record/{recordId}/add-references:
    post:
      summary: Add record references
      description: Add reference field links from one record to target records (requires Swimlane 2.15+)
      operationId: addRecordReferences
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        description: Parent record identifier
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddReferencesRequest'
      responses:
        '200':
          description: References added successfully
  /app/{appId}/record/{recordId}/{fieldId}/comment:
    post:
      summary: Add comment to record field
      description: Post a comment to a comment-type field on a record
      operationId: addRecordComment
      tags:
      - Records
      parameters:
      - name: appId
        in: path
        required: true
        description: Application identifier
        schema:
          type: string
      - name: recordId
        in: path
        required: true
        description: Record identifier
        schema:
          type: string
      - name: fieldId
        in: path
        required: true
        description: Comment field identifier
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCommentRequest'
      responses:
        '200':
          description: Comment added successfully
components:
  schemas:
    Record:
      type: object
      properties:
        id:
          type: string
          description: Unique record identifier
        trackingFull:
          type: string
          description: Full tracking identifier (e.g., APP-12345)
        applicationId:
          type: string
          description: Identifier of the application this record belongs to
        values:
          type: object
          additionalProperties: true
          description: Map of field IDs/names to values
        createdDate:
          type: string
          format: date-time
          description: Date and time the record was created
        createdByUser:
          type: object
          properties:
            id:
              type: string
            displayName:
              type: string
        modifiedDate:
          type: string
          format: date-time
          description: Date and time the record was last modified
    RecordRevision:
      type: object
      properties:
        revisionNumber:
          type: number
          description: Sequential revision number
        modifiedDate:
          type: string
          format: date-time
          description: Date and time the revision was created
        modifiedBy:
          type: string
          description: User who made the change
    BulkRecordRequest:
      type: array
      items:
        type: object
        additionalProperties: true
        description: Map of field names to values for a single record
    BulkModifyRequest:
      type: object
      properties:
        filters:
          type: array
          items:
            type: object
          description: Filters to select records to modify
        values:
          type: object
          additionalProperties: true
          description: Field names and new values to apply
    AddCommentRequest:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          description: Comment text content
        isRichText:
          type: boolean
          default: false
          description: Whether the message uses rich text formatting
        createdDate:
          type: string
          format: date-time
          description: Creation date of the comment
    AddReferencesRequest:
      type: object
      required:
      - fieldId
      - targetRecordIds
      properties:
        fieldId:
          type: string
          description: Target reference field identifier
        targetRecordIds:
          type: array
          items:
            type: string
          description: Collection of record IDs to add as references
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: JWT bearer token obtained from the user/login endpoint
    PrivateTokenAuth:
      type: apiKey
      in: header
      name: Private-Token
      description: Personal Access Token (PAT) generated within the Swimlane platform