Seismic Roles API

Operations for managing roles and permissions.

Documentation

Specifications

Schemas & Data

OpenAPI Specification

seismic-roles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Seismic Analytics Content Analytics Roles API
  description: API for accessing analytics and reporting data on content usage, user engagement, and sales effectiveness within the Seismic platform. Provides insights into how content is being used, which materials are most effective, and how teams are engaging with sales enablement resources.
  version: 2.0.0
  termsOfService: https://seismic.com/terms-of-service/
  contact:
    name: Seismic Support
    url: https://seismic.com/support/
    email: support@seismic.com
  license:
    name: Proprietary
    url: https://seismic.com/terms-of-service/
servers:
- url: https://api.seismic.com/integration/v2
  description: Seismic API v2 Production
security:
- bearerAuth: []
tags:
- name: Roles
  description: Operations for managing roles and permissions.
paths:
  /roles:
    get:
      operationId: listRoles
      summary: List Roles
      description: Retrieves a list of available roles in the Seismic platform.
      tags:
      - Roles
      parameters:
      - name: offset
        in: query
        description: Number of items to skip for pagination.
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: Maximum number of items to return.
        schema:
          type: integer
          default: 25
          maximum: 100
      responses:
        '200':
          description: A list of roles.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Role'
                  totalCount:
                    type: integer
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /roles/{roleId}:
    get:
      operationId: getRole
      summary: Get a Role
      description: Retrieves details of a specific role by its ID.
      tags:
      - Roles
      parameters:
      - name: roleId
        in: path
        required: true
        description: Unique identifier of the role.
        schema:
          type: string
      responses:
        '200':
          description: Role details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  responses:
    Forbidden:
      description: Forbidden. The authenticated user does not have permission to perform this action.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Too many requests. Rate limit exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      headers:
        Retry-After:
          description: Number of seconds to wait before making another request.
          schema:
            type: integer
    Unauthorized:
      description: Unauthorized. Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not found. The requested resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Role:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the role.
        name:
          type: string
          description: Name of the role.
        description:
          type: string
          description: Description of the role.
        permissions:
          type: array
          items:
            type: string
          description: List of permission identifiers assigned to this role.
        isSystem:
          type: boolean
          description: Whether this is a system-defined role that cannot be modified.
        userCount:
          type: integer
          description: Number of users assigned this role.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the role was created.
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code.
            message:
              type: string
              description: Human-readable error message.
            details:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 Bearer Token. Obtain tokens through the Seismic authentication flow. See https://developer.seismic.com/seismicsoftware/docs/authentication