Cloudsmith audit-log API

The audit-log API from Cloudsmith — 2 operation(s) for audit-log.

OpenAPI Specification

cloudsmith-audit-log-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Cloudsmith API (v1) audit-log API
  description: The API to the Cloudsmith Service
  termsOfService: https://help.cloudsmith.io
  contact:
    name: Cloudsmith Support
    url: https://help.cloudsmith.io
    email: support@cloudsmith.io
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: v1
host: api.cloudsmith.io
basePath: /
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- apikey: []
- basic: []
tags:
- name: audit-log
paths:
  /audit-log/{owner}/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    get:
      operationId: audit_log_namespace_list
      summary: Lists audit log entries for a specific namespace.
      description: Lists audit log entries for a specific namespace.
      parameters:
      - name: page
        in: query
        description: A page number within the paginated result set.
        required: false
        type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        type: integer
      - name: query
        in: query
        description: A search term for querying events, actors, or timestamps of log records.
        required: false
        type: string
      responses:
        '200':
          description: Retrieved the list of audit log entries
          schema:
            type: array
            items:
              $ref: '#/definitions/NamespaceAuditLog'
        '402':
          description: Audit logs are not active; upgrade your account!
          schema:
            $ref: '#/definitions/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          schema:
            $ref: '#/definitions/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          schema:
            $ref: '#/definitions/ErrorDetail'
      tags:
      - audit-log
  /audit-log/{owner}/{repo}/:
    parameters:
    - name: owner
      in: path
      required: true
      type: string
    - name: repo
      in: path
      required: true
      type: string
    get:
      operationId: audit_log_repo_list
      summary: Lists audit log entries for a specific repository.
      description: Lists audit log entries for a specific repository.
      parameters:
      - name: page
        in: query
        description: A page number within the paginated result set.
        required: false
        type: integer
      - name: page_size
        in: query
        description: Number of results to return per page.
        required: false
        type: integer
      - name: query
        in: query
        description: A search term for querying events, actors, or timestamps of log records.
        required: false
        type: string
      responses:
        '200':
          description: Retrieved the list of audit log entries
          schema:
            type: array
            items:
              $ref: '#/definitions/RepositoryAuditLog'
        '402':
          description: Audit logs are not active; upgrade your account!
          schema:
            $ref: '#/definitions/ErrorDetail'
        '400':
          description: Request could not be processed (see detail).
          schema:
            $ref: '#/definitions/ErrorDetail'
        '422':
          description: Missing or invalid parameters (see detail).
          schema:
            $ref: '#/definitions/ErrorDetail'
      tags:
      - audit-log
definitions:
  NamespaceAuditLog:
    required:
    - actor
    - actor_ip_address
    - actor_location
    - actor_slug_perm
    - context
    - event
    - event_at
    - object
    - object_kind
    - object_slug_perm
    - target
    - target_kind
    type: object
    properties:
      actor:
        title: Actor
        type: string
        minLength: 1
        x-nullable: true
      actor_ip_address:
        title: Actor ip address
        type: string
        minLength: 1
        x-nullable: true
      actor_kind:
        title: Actor kind
        type: string
        readOnly: true
      actor_location:
        $ref: '#/definitions/GeoIpLocation'
      actor_slug_perm:
        title: Actor slug perm
        type: string
        minLength: 1
        x-nullable: true
      actor_url:
        title: Actor url
        type: string
        format: uri
        readOnly: true
        x-nullable: true
      context:
        title: Context
        type: string
        minLength: 1
      event:
        title: Event
        type: string
        minLength: 1
      event_at:
        title: Event at
        type: string
        format: date-time
      object:
        title: Object
        type: string
        minLength: 1
      object_kind:
        title: Object kind
        type: string
        minLength: 1
      object_slug_perm:
        title: Object slug perm
        type: string
        minLength: 1
      target:
        title: Target
        type: string
        minLength: 1
      target_kind:
        title: Target kind
        type: string
        minLength: 1
      target_slug_perm:
        title: Target slug perm
        type: string
        format: slug
        pattern: ^[-a-zA-Z0-9_]+$
        maxLength: 24
        x-nullable: true
      uuid:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
  ErrorDetail:
    required:
    - detail
    type: object
    properties:
      detail:
        title: Detail
        description: An extended message for the response.
        type: string
        minLength: 1
      fields:
        title: Fields
        description: 'A Dictionary of related errors where key: Field and value: Array of Errors related to that field'
        type: object
        additionalProperties:
          type: array
          items:
            type: string
            minLength: 1
  RepositoryAuditLog:
    required:
    - actor
    - actor_ip_address
    - actor_location
    - actor_slug_perm
    - context
    - event
    - event_at
    - object
    - object_kind
    - object_slug_perm
    type: object
    properties:
      actor:
        title: Actor
        type: string
        minLength: 1
        x-nullable: true
      actor_ip_address:
        title: Actor ip address
        type: string
        minLength: 1
        x-nullable: true
      actor_kind:
        title: Actor kind
        type: string
        readOnly: true
      actor_location:
        $ref: '#/definitions/GeoIpLocation'
      actor_slug_perm:
        title: Actor slug perm
        type: string
        minLength: 1
        x-nullable: true
      actor_url:
        title: Actor url
        type: string
        format: uri
        readOnly: true
        x-nullable: true
      context:
        title: Context
        type: string
        minLength: 1
      event:
        title: Event
        type: string
        minLength: 1
      event_at:
        title: Event at
        type: string
        format: date-time
      object:
        title: Object
        type: string
        minLength: 1
      object_kind:
        title: Object kind
        type: string
        minLength: 1
      object_slug_perm:
        title: Object slug perm
        type: string
        minLength: 1
      uuid:
        title: Uuid
        type: string
        format: uuid
        readOnly: true
  GeoIpLocation:
    required:
    - city
    - continent
    - country
    - postal_code
    type: object
    properties:
      city:
        title: City
        type: string
        minLength: 1
        x-nullable: true
      continent:
        title: Continent
        type: string
        minLength: 1
        x-nullable: true
      country:
        title: Country
        type: string
        minLength: 1
        x-nullable: true
      country_code:
        title: Country code
        type: string
        readOnly: true
      latitude:
        title: Latitude
        type: string
        format: decimal
        x-nullable: true
      longitude:
        title: Longitude
        type: string
        format: decimal
        x-nullable: true
      postal_code:
        title: Postal code
        type: string
        minLength: 1
        x-nullable: true
securityDefinitions:
  apikey:
    type: apiKey
    name: X-Api-Key
    in: header
  basic:
    type: basic