{
    "swagger":"2.0",
    "info":{
        "description":"The REST API for Activity Log provides the ability to search activities in Oracle Content Management.\n\n<p>Last updated: March 2023.</p>",
        "version":"2023.04.03",
        "title":"REST API for Activity Log",
        "x-summary":"The REST API for Activity Log provides the ability to search activities in Oracle Content Management."
    },
    "basePath":"/system/api/v1",
    "tags":[
        {
            "name":"Audit Log",
            "description":"Audit Log will have the details of activities and its related data."
        },
        {
            "name":"Events",
            "description":"Events will have the details of types and categories."
        }
    ],
    "schemes":[
        "https"
    ],
    "paths":{
        "/auditlog/activities":{
            "get":{
                "tags":[
                    "Audit Log"
                ],
                "summary":"Search Activities",
                "description":"Search activities with filters for objectCategory, objectID, variationSetID etc. As there may be a large number of activity results that can be requested on pages.\n\n## Authorization   \nAll logged-in users can search activities.  \n\n## Filters   \nThe following properties are filterable and can be used in the `q` parameter: <table><thead><tr><td>Property Name</td><td>Supported Operators<td></tr></thead><tbody><tr><td><tt>objectType</tt></td><td>Equals <tt>(eq)</tt></td></tr><tr><td><tt>eventCategory</tt></td><td>Equals <tt>(eq)</tt></td></tr><tr><td><tt>eventName</tt></td><td>Equals <tt>(eq)</tt></td></tr><tr><td><tt>variationSetId</tt></td><td>Equals <tt>(eq)</tt></td></tr><tr><td><tt>objectId</tt></td><td>Equals<tt>(eq)</tt></td></tr><tr><td><tt>registeredAt</tt></td><td>Greater than or equal to<tt>(ge)</tt> and Less than or equal to<tt>(le)</tt> </td></tr><tr><td><tt>activityDetails.{path-to-element}</tt></td><td>Equals <tt>(eq)</tt></td></tr></tbody></table>By Default, objectType or eventCategory or eventName filter is required. If objectType or eventCategory or eventName is not set in the request, then request will be rejected.The objectType, eventName and objectId filters only accepts one or more values with 'and' as the operator.For example, to list all activities with object type either as \"Digital Asset\" or \"Content Item\", the filter criteria to use is : /system/api/v1/auditlog/activities?q=objectType eq Digital Asset and objectType eq Content Item. For data range filter, registeredAt filter is expected to have From(ge) and To(le) range.\n\n## Sorting   \nThe following properties can be used in the `orderBy` query parameter: \n  <table>   <thead>      <tr><td>Property Name</td><td>Description<td></tr></thead><tbody><tr><td><tt>registeredAt</tt></td><td>Date and time at which the activity was registered.</td></tr></tbody></table>\nThe default sorting is descending order. The registeredAt field is sorted in descending order.\n\n## Expansion  \nThe following relationships can be used in the `expand` query parameter (a value of `all` will expand all these relationships): <table><thead><tr><td>Property Name</td><td>Description<td></tr></thead><tbody><tr><td><tt>activityDetails</tt></td><td>Activity details which is processed for the object.</td></tr><tr><td><tt>activityBy</tt></td><td>User that performed the activity.</td></tr></tbody></table>\n\n## Links  \nA successful response will include one or more of the following links: <table><thead><tr><td>Link Relationship</td><td>Description<td></tr></thead><tbody> <tr><td><tt>self</tt></td><td>Describes the current returned representation of the resource.</td></tr>  <tr><td><tt>prev</tt></td><td>Describes the previous page of results, if a previous page exists.</td></tr> <tr><td><tt>next</tt></td><td>Describes the next page of results, if a next page exists.</td></tr>",
                "operationId":"listActivities",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"q",
                        "in":"query",
                        "description":"Filtering of the resources.",
                        "required":false,
                        "type":"string"
                    },
                    {
                        "name":"offset",
                        "in":"query",
                        "description":"Non-negative integer values that specifies the index of the first item to be returned. The offset index begins at `0`. The default offset is `0`, which returns all items starting from the first item in the collection.",
                        "required":false,
                        "type":"integer",
                        "format":"int64"
                    },
                    {
                        "name":"limit",
                        "in":"query",
                        "description":"A positive integer value specifies the maximum number of items returned in the response.",
                        "required":false,
                        "type":"integer",
                        "format":"int64"
                    },
                    {
                        "name":"expand",
                        "in":"query",
                        "description":"Comma-delimited string of field names that you want to expand. Use the value `all` to expand all relationships.",
                        "required":false,
                        "type":"string"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "description":"Comma-separated string of field names, each optionally followed by `:asc` or `:desc`, that specifies the order of items returned in the response.",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/Activities"
                        }
                    },
                    "304":{
                        "description":"Not Modified",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "400":{
                        "description":"Bad Request",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "404":{
                        "description":"Not Found",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    }
                },
                "x-internal-id":"auditlog-activities-get",
                "x-filename-id":"auditlog-activities-get"
            }
        },
        "/events/types":{
            "get":{
                "tags":[
                    "Events"
                ],
                "summary":"List Event Types",
                "description":"List event types filtered on properties such as objectType of the event. As there may potentially be a large number of events results can be requested in pages.\n\n## Authorization   \nAll logged-in users can search types.  \n\n## Filters   \nThe following properties are filterable and can be used in the `q` parameter: <table><thead><tr><td>Property Name</td><td>Supported Operators<td></tr></thead><tbody><tr><td><tt>objectType</tt></td><td>Equals <tt>(eq)</tt></td></tr><tr><td><tt>category</tt></td><td>Equals <tt>(eq)</tt></td></tr></tbody></table>\n\n## Sorting   \nThe following properties can be used in the `orderBy` query parameter: \n  <table>   <thead>      <tr><td>Property Name</td><td>Description<td></tr></thead><tbody><tr><td><tt>id</tt></td><td>Id of the event.</td></tr>\n</tbody></table>\nThe default sorting is ascending order. The Id field is sorted in ascending order.\n\n## Expansion  \nThe following relationships can be used in the `expand` query parameter (a value of `all` will expand all these relationships): <table><thead><tr><td>Property Name</td><td>Description<td></tr></thead><tbody><tr><td><tt>categories</tt></td><td>Categories of the events.</td></tr></tbody></table>\n\n\n",
                "operationId":"listTypes",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"q",
                        "in":"query",
                        "description":"Filtering of the resources.",
                        "required":false,
                        "type":"string"
                    },
                    {
                        "name":"expand",
                        "in":"query",
                        "description":"Comma-delimited string of field names that you want to expand. Use the value `all` to expand all relationships.",
                        "required":false,
                        "type":"string"
                    },
                    {
                        "name":"orderBy",
                        "in":"query",
                        "description":"Comma-separated string of field names, each optionally followed by `:asc` or `:desc`, that specifies the order of items returned in the response.",
                        "required":false,
                        "type":"string"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/Events"
                        }
                    },
                    "304":{
                        "description":"Not Modified",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "400":{
                        "description":"Bad Request",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "404":{
                        "description":"Not Found",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    }
                },
                "x-internal-id":"events-types-get",
                "x-filename-id":"events-types-get"
            }
        },
        "/events/categories":{
            "get":{
                "tags":[
                    "Events"
                ],
                "summary":"List Event Categories",
                "description":"List the categories for all the events.\n\n## Authorization   \nAll logged-in users can search the categories.  \n\n## Sorting   \nThe default sorting is ascending order. The Id field is sorted in ascending order.\n\n",
                "operationId":"listCategories",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/Categories"
                        }
                    },
                    "304":{
                        "description":"Not Modified",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "400":{
                        "description":"Bad Request",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "404":{
                        "description":"Not Found",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    },
                    "500":{
                        "description":"Internal Server Error",
                        "schema":{
                            "$ref":"#/definitions/ExceptionDetail"
                        }
                    }
                },
                "x-internal-id":"events-categories-get",
                "x-filename-id":"events-categories-get"
            }
        }
    },
    "definitions":{
        "Activities":{
            "type":"object",
            "properties":{
                "hasMore":{
                    "type":"boolean",
                    "example":true,
                    "description":"Collection has more elements that match the request. Indicates whether there are more items to be returned when a paged request is made and the page was not big enough to return all elements."
                },
                "offset":{
                    "type":"integer",
                    "format":"int64",
                    "example":0,
                    "description":"Actual response offset used. If the request specifies no offset then the actual offset is provided in the response."
                },
                "count":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Total number of resources in the response."
                },
                "limit":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Actual response size limit used. If the request specifies too large a limit, or does not specify a limit then the response will specify the limit used."
                },
                "totalResults":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Total number of resources that match the request. If provided, this is the total number of available items. If not specified the total is not known, or is not viable to return. Paging limits or offsets are ignored when calculating this value. Only returned if the `totalResults` parameter is supported and is set to `true` by the client."
                },
                "items":{
                    "type":"array",
                    "description":"Singular resources contained in the collection.",
                    "items":{
                        "$ref":"#/definitions/Activity"
                    }
                },
                "links":{
                    "type":"array",
                    "description":"Link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.",
                    "items":{
                        "$ref":"#/definitions/Link"
                    }
                }
            },
            "description":"List of Activities."
        },
        "Activity":{
            "type":"object",
            "properties":{
                "id":{
                    "type":"string",
                    "example":"12233335454545",
                    "description":"The unique activity id."
                },
                "event":{
                    "description":"The event which has triggered this activity",
                    "$ref":"#/definitions/Activity Event"
                },
                "entity":{
                    "type":"object",
                    "example":"{\"asset\": {\"id\": \"FC7F4C73571ACD99DECA99D9T0000ASEDVFV123456789\",\"name\": \"My Asset Name\",\"variationSetId\": \"FC7F4C73571ACD99DECA99D9T000012121\",\"version\": \"v0.1\",\"language\": \"en-US\",\"type\": \"simpleType1\"}}",
                    "description":"The primary object(s) in the event which has triggered this activity",
                    "additionalProperties":{
                        "$ref":"#/definitions/IdName"
                    }
                },
                "initiatedBy":{
                    "description":"The User who initiated this activity.",
                    "$ref":"#/definitions/User"
                },
                "registeredAt":{
                    "type":"string",
                    "example":"2019-01-01T10:00:11.842Z",
                    "description":"Date and time at which the activity was registered. Date and time values are in ISO 8601 &#x60;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39;Z&#39;&#x60; format using a UTC timezone."
                },
                "activityDetails":{
                    "type":"object",
                    "description":"Holds the processed details for the activity.",
                    "additionalProperties":{
                        "type":"object"
                    }
                }
            },
            "description":"Activity Information."
        },
        "Activity Event":{
            "type":"object",
            "properties":{
                "name":{
                    "type":"string",
                    "example":"DIGITALASSET_CREATED",
                    "description":"The name of the event."
                },
                "categories":{
                    "type":"array",
                    "description":"The categories of the event.",
                    "items":{
                        "$ref":"#/definitions/Category"
                    }
                }
            },
            "description":"Activity Event Information."
        },
        "Category":{
            "type":"object",
            "properties":{
                "id":{
                    "type":"integer",
                    "format":"int32",
                    "example":123456789,
                    "description":"The id of the category."
                },
                "name":{
                    "type":"string",
                    "example":"ASSET_LIFECYCLE",
                    "description":"The name of the category."
                },
                "displayName":{
                    "type":"string",
                    "example":"Asset Lifecycle",
                    "description":"The display key of the category."
                }
            },
            "description":"Category Information."
        },
        "IdName":{
            "type":"object",
            "properties":{
                "id":{
                    "type":"string",
                    "example":"FC7F4C73571ACD99DECA99D9T0000DEFAULT00000000",
                    "description":"The id of the entity."
                },
                "name":{
                    "type":"string",
                    "example":"My Name",
                    "description":"The name of the entity."
                }
            }
        },
        "Link":{
            "type":"object",
            "properties":{
                "rel":{
                    "type":"string",
                    "description":"Link relation. Name of the link relation that, in addition to the type property, can be used to retrieve link details."
                },
                "href":{
                    "type":"string",
                    "description":"The target resource URI. URI *RFC3986* or URI Template *RFC6570*. If the value is set to URI Template, then the `templated` property must be set to `true`."
                },
                "templated":{
                    "type":"boolean",
                    "description":"Link href template flag. Boolean flag that specifies the `href` property is a URI or URI Template. The property can be assumed to be `false` if the property is not present."
                },
                "mediaType":{
                    "type":"string",
                    "description":"Link target. Media type, as defined by RFC 2046, describing the link target."
                },
                "method":{
                    "type":"string",
                    "description":"Link target HTTP method. HTTP method for requesting the target of the link.  *  `none` - Indicates no valid HTTP method *  `OPTIONS` - HTTP OPTIONS *  `HEAD` - HTTP HEAD *  `GET` - HTTP GET *  `POST` - HTTP POST *  `PUT` - HTTP PUT *  `PATCH` - HTTP PATCH *  `DELETE` - HTTP DELETE"
                },
                "profile":{
                    "type":"string",
                    "description":"Link meta data location. Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource."
                }
            },
            "description":"REST link and related meta data.  If responses provide links (e.g. a `self` link to the resource itself) the links provided will include one or more of the properties defined on this link structure."
        },
        "User":{
            "type":"object",
            "properties":{
                "id":{
                    "type":"string",
                    "example":"10002",
                    "description":"The id of the user."
                },
                "name":{
                    "type":"string",
                    "example":"example@myorg.com",
                    "description":"The name of the user."
                },
                "displayName":{
                    "type":"string",
                    "example":"My Display Name",
                    "description":"The display name of the user."
                }
            },
            "description":"User Metadata Model."
        },
        "ExceptionDetail":{
            "type":"object",
            "properties":{
                "type":{
                    "type":"string",
                    "description":"Absolute URI that identifies the problem type. When this URI dereferenced, it **should** provide a human-readable summary of the problem, for example, as a HTML page."
                },
                "title":{
                    "type":"string",
                    "description":"Short, human-readable summary of the problem. The summary **should not** change for subsequent occurrences of the problem, except for purposes of localization."
                },
                "status":{
                    "type":"integer",
                    "format":"int32",
                    "description":"HTTP status code. The corresponding HTTP status code for the exception. For exception that includes a resource does not exist would have a HTTP status of `404`."
                },
                "detail":{
                    "type":"string",
                    "description":"Description specific to this occurrence of the problem. The human readable, potentially multi-line details describing the problem in more details."
                },
                "instance":{
                    "type":"string",
                    "description":"URI to the link that provides more detail about the error."
                },
                "o:errorCode":{
                    "type":"string",
                    "description":"Application error code, which is different from HTTP error code."
                },
                "o:errorPath":{
                    "type":"string",
                    "description":"XPath or JSON path to indicate where the error occurs."
                },
                "o:errorDetails":{
                    "type":"array",
                    "description":"Multiple errors can be organized in a hierarchical structure.",
                    "items":{
                        "$ref":"#/definitions/ExceptionDetail"
                    }
                }
            },
            "description":"Error details for a REST request.  In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such these cases, the additional information must be included in the error response body. The additional information is optional, but if provided, it will be in the form of exception detail."
        },
        "Event":{
            "type":"object",
            "properties":{
                "id":{
                    "type":"integer",
                    "format":"int32",
                    "example":4032,
                    "description":"Id of the event"
                },
                "name":{
                    "type":"string",
                    "example":"DIGITALASSET_CREATED",
                    "description":"Name of the event"
                },
                "displayName":{
                    "type":"string",
                    "example":"Created",
                    "description":"The display key of the event."
                },
                "objectType":{
                    "type":"string",
                    "example":"Digital Asset",
                    "description":"Object type of the event"
                },
                "categories":{
                    "type":"array",
                    "description":"categories of this event",
                    "items":{
                        "$ref":"#/definitions/Category"
                    }
                }
            },
            "description":"Event Information."
        },
        "Events":{
            "type":"object",
            "properties":{
                "hasMore":{
                    "type":"boolean",
                    "example":true,
                    "description":"Collection has more elements that match the request. Indicates whether there are more items to be returned when a paged request is made and the page was not big enough to return all elements."
                },
                "offset":{
                    "type":"integer",
                    "format":"int64",
                    "example":0,
                    "description":"Actual response offset used. If the request specifies no offset then the actual offset is provided in the response."
                },
                "count":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Total number of resources in the response."
                },
                "limit":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Actual response size limit used. If the request specifies too large a limit, or does not specify a limit then the response will specify the limit used."
                },
                "totalResults":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Total number of resources that match the request. If provided, this is the total number of available items. If not specified the total is not known, or is not viable to return. Paging limits or offsets are ignored when calculating this value. Only returned if the `totalResults` parameter is supported and is set to `true` by the client."
                },
                "items":{
                    "type":"array",
                    "description":"Singular resources contained in the collection.",
                    "items":{
                        "$ref":"#/definitions/Event"
                    }
                },
                "links":{
                    "type":"array",
                    "description":"Link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.",
                    "items":{
                        "$ref":"#/definitions/Link"
                    }
                }
            },
            "description":"List of Events."
        },
        "Categories":{
            "type":"object",
            "properties":{
                "hasMore":{
                    "type":"boolean",
                    "example":true,
                    "description":"Collection has more elements that match the request. Indicates whether there are more items to be returned when a paged request is made and the page was not big enough to return all elements."
                },
                "offset":{
                    "type":"integer",
                    "format":"int64",
                    "example":0,
                    "description":"Actual response offset used. If the request specifies no offset then the actual offset is provided in the response."
                },
                "count":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Total number of resources in the response."
                },
                "limit":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Actual response size limit used. If the request specifies too large a limit, or does not specify a limit then the response will specify the limit used."
                },
                "totalResults":{
                    "type":"integer",
                    "format":"int64",
                    "example":10,
                    "description":"Total number of resources that match the request. If provided, this is the total number of available items. If not specified the total is not known, or is not viable to return. Paging limits or offsets are ignored when calculating this value. Only returned if the `totalResults` parameter is supported and is set to `true` by the client."
                },
                "items":{
                    "type":"array",
                    "description":"Singular resources contained in the collection.",
                    "items":{
                        "$ref":"#/definitions/Category"
                    }
                },
                "links":{
                    "type":"array",
                    "description":"Link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.",
                    "items":{
                        "$ref":"#/definitions/Link"
                    }
                }
            },
            "description":"List of Category."
        },
        "ErrorResponse":{
            "type":"object",
            "properties":{
                "httpStatusCode":{
                    "type":"integer",
                    "format":"int32",
                    "description":"Http status code."
                },
                "httpMessage":{
                    "type":"string",
                    "description":"Http status message."
                },
                "errorCode":{
                    "type":"string",
                    "description":"Error code."
                },
                "errorMessage":{
                    "type":"string",
                    "description":"Error Message."
                }
            },
            "description":"Error Response."
        },
        "Filter":{
            "type":"object",
            "properties":{
                "objectType":{
                    "type":"string",
                    "example":"repository",
                    "description":"Filter objectType name. It can be repository or channel."
                },
                "objectIds":{
                    "type":"array",
                    "example":"{F1B337DC2AF3DBCC98701AB86D1F21FC05E8AB20694D}",
                    "description":"List of ids of the objectType.",
                    "items":{
                        "type":"string"
                    }
                }
            }
        }
    }
}