---
openapi: "3.0.0"
servers:
- url: "https://api.enterprise.apigee.com/v1"
info:
title: "Audits API"
description: "View audit logs that provide access to the actions (create, update,\
\ delete) executed on entities managed by Apigee Edge."
version: "1.0"
security:
- Basic: []
- OAuth: []
paths:
/audits/organizations/{org_name}:
get:
tags:
- "Audit"
summary: "List audit entries for an organization"
description: "Lists audit entries for management operations for an organization.\n\
\nFor API proxy revisions, deploy and undeploy actions are recorded as `CREATE`\
\ operations. You can distinguish between them by examining the requestUri\
\ element in the output.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against entities in an organization. The audit logs provide access\
\ to the actions (create, read, update, delete) executed on organizations.\n\
\nIf there are no audit entries, this API returns an empty array.\n\nIf you\
\ omit the `timeline`, `startTime`, and `endTime` query parameters, the default\
\ is to use `timeline=today`."
operationId: "listAudits"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "UPDATE"
request: "ahamilton@example.com"
requestUri: "/v1/organizations/myorg/userroles/orgadmin/users"
responseCode: 200
timeStamp: 1602682379741
user: "admin@example.com"
- operation: "CREATE"
request: "''myorg''"
requestUri: "/v1/organizations/myorg/apiproducts/myproduct"
responseCode: 201
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/apiproducts:
get:
tags:
- "Audit"
summary: "List audit entries for all API products in an organization"
description: "Lists audit entries for management operations for all API products\
\ in an organization.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against API products in an organization. The audit logs provide access\
\ to the actions (create, read, update, delete) executed on organizations.\n\
\nIf there are no audit entries, or if the entity does not exist, this API\
\ returns an empty array.\n\nIf you omit the `timeline`, `startTime`, and\
\ `endTime` query parameters, the default is to use `timeline=today`."
operationId: "listAuditsAPIProducts"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "CREATE"
request: "''myorg''"
requestUri: "/v1/organizations/myorg/apiproducts/myproduct"
responseCode: 201
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/apiproducts/{apiproduct_name}:
get:
tags:
- "Audit"
summary: "List audit entries for an API product"
description: "Lists audit entries for management operations for an API product\
\ in an organization.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against the specified API product in an organization. The audit logs\
\ provide access to the actions (create, read, update, delete) executed on\
\ organizations.\n\nIf there are no audit entries, or if the entity does not\
\ exist, this API returns an empty array.\n\nIf you omit the `timeline`, `startTime`,\
\ and `endTime` query parameters, the default is to use `timeline=today`."
operationId: "listAuditsAPIProduct'"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/apiproduct_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "CREATE"
request: "''myorg''"
requestUri: "/v1/organizations/myorg/apiproducts/myproduct"
responseCode: 201
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/apis:
get:
tags:
- "Audit"
summary: "List audit entries for all API proxies"
description: "Lists audit entries for management operations for all API proxies\
\ in an organization.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against API proxies in an organization. The audit logs provide access\
\ to the actions (create, read, update, delete) executed on organizations.\n\
\nIf there are no audit entries, or if the entity does not exist, this API\
\ returns an empty array.\n\nIf you omit the `timeline`, `startTime`, and\
\ `endTime` query parameters, the default is to use `timeline=today`."
operationId: "listAuditsAPIProxies"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "CREATE"
request: "''myorg''"
requestUri: "/v1/organizations/myorg/apis/myapi?action=import"
responseCode: 201
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/apis/{api_name}:
get:
tags:
- "Audit"
summary: "List audit entries for an API proxy"
description: "Lists audit entries for management operations for an API proxy\
\ in an organization\n\nFor API proxy revisions, deploy and undeploy actions\
\ are recorded as CREATE operations. You can distinguish between them by examining\
\ the requestUri element in the output.\n\nFor every call made to the API,\
\ Apigee Edge logs an audit record. This API enables you to obtain a record\
\ of all API calls made against the specified API proxy in an organization.\
\ The audit logs provide access to the actions (create, read, update, delete)\
\ executed on organizations.\n\nIf there are no audit entries, or if the entity\
\ does not exist, this API returns an empty array.\n\nIf you omit the `timeline`,\
\ `startTime`, and `endTime` query parameters, the default is to use `timeline=today`."
operationId: "listAuditsAPIProxy"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/api_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "CREATE"
request: "''myorg''"
requestUri: "/v1/organizations/myorg/apis/myapi?action=import"
responseCode: 201
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/developers:
get:
tags:
- "Audit"
summary: "List audit entries for all developers in an organization"
description: "Lists audit entries for management operations for all developers\
\ in an organization.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against developers in an organization. The audit logs provide access\
\ to the actions (create, read, update, delete) executed on organizations.\n\
\nIf there are no audit entries, or if the entity does not exist, this API\
\ returns an empty array.\n\nIf you omit the `timeline`, `startTime`, and\
\ `endTime` query parameters, the default is to use `timeline=today`."
operationId: "listAuditsDevelopers"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "CREATE"
request: "''r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8''"
requestUri: "/v1/organizations/myorg/developers/ahamilton@example.com/apps/myapp/keys/r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8?action=approve"
responseCode: "204"
timeStamp: 1601665880689
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/developers/{developer_email}:
get:
tags:
- "Audit"
summary: "List audit entries for a developer"
description: "Lists audit entries for management operations for a developer\
\ in an organization.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against the specified developer in an organization. The audit logs\
\ provide access to the actions (create, read, update, delete) executed on\
\ organizations.\n\nIf there are no audit entries, or if the entity does not\
\ exist, this API returns an empty array.\n\nIf you omit the `timeline`, `startTime`,\
\ and `endTime` query parameters, the default is to use `timeline=today`."
operationId: "listAuditsDeveloper"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/developer_email"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "CREATE"
request: "''r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8''"
requestUri: "/v1/organizations/myorg/developers/ahamilton@example.com/apps/testapp/keys/r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8?action=approve"
responseCode: "204"
timeStamp: 1601665880689
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/developers/{developer_email}/apps:
get:
tags:
- "Audit"
summary: "List audit entries for all developer apps"
description: "Lists audit entries for management operations for all developer\
\ apps in an organization.\n\nFor every call made to the API, Apigee Edge\
\ logs an audit record. This API enables you to obtain a record of all API\
\ calls made against developer apps in an organization. The audit logs provide\
\ access to the actions (create, read, update, delete) executed on organizations.\n\
\nIf there are no audit entries, or if the entity does not exist, this API\
\ returns an empty array.\n\nIf you omit the `timeline`, `startTime`, and\
\ `endTime` query parameters, the default is to use `timeline=today`."
operationId: "listAuditsDeveloperApps"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/developer_email"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "UPDATE"
request: "''r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8''"
requestUri: "/v1/organizations/docs/developers/4707ceee-4cc7-47c9-a180-f4932bd7f2c2/apps/myapp/keys/uconqa19Mi1TAJlCKGHAP3kmpht4nKPr"
responseCode: 200
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/developers/{developer_email}/apps/{app_name}:
get:
tags:
- "Audit"
summary: "List audit entries for a developer app"
description: "Lists audit entries for management operations for an app in an\
\ organization.\n\nFor every call made to the API, Apigee Edge logs an audit\
\ record. This API enables you to obtain a record of all API calls made against\
\ the specified app in an organization. The audit logs provide access to the\
\ actions (create, read, update, delete) executed on organizations.\n\nIf\
\ there are no audit entries, or if the entity does not exist, this API returns\
\ an empty array.\n\nIf you omit the `timeline`, `startTime`, and `endTime`\
\ query parameters, the default is to use `timeline=today`."
operationId: "listAuditsDeveloperApp"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/developer_email"
- $ref: "#/components/parameters/app_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "UPDATE"
request: "''r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8''"
requestUri: "/v1/organizations/docs/developers/4707ceee-4cc7-47c9-a180-f4932bd7f2c2/apps/myapp/keys/uconqa19Mi1TAJlCKGHAP3kmpht4nKPr"
responseCode: 200
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/sharedflows:
get:
tags:
- "Audit"
summary: "List audit entries for all shared flows"
description: "Lists audit entries for management operations for all shared flows\
\ in an organization.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against shared flows in an organization. The audit logs provide access\
\ to the actions (create, read, update, delete) executed on organizations.\n\
\nIf there are no audit entries, or if the entity does not exist, this API\
\ returns an empty array.\n\nIf you omit the `timeline`, `startTime`, and\
\ `endTime` query parameters, the default is to use `timeline=today`.\n\n\
For more about shared flows, see Reusable shared flows. For information about listing audit entires for\
\ a specific shared flow, see List audit entries for a shared flow."
operationId: "listAuditsDeveloperApps"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "UPDATE"
request: "''r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8''"
requestUri: "/v1/organizations/docs/developers/4707ceee-4cc7-47c9-a180-f4932bd7f2c2/apps/myapp/keys/uconqa19Mi1TAJlCKGHAP3kmpht4nKPr"
responseCode: 200
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/organizations/{org_name}/sharedflows/{sharedflow_name}:
get:
tags:
- "Audit"
summary: "List audit entries for a shared flow"
description: "Lists audit entries for management operations for a shared flow\
\ in an organization.\n\nFor every call made to the API, Apigee Edge logs\
\ an audit record. This API enables you to obtain a record of all API calls\
\ made against the specified app in an organization. The audit logs provide\
\ access to the actions (create, read, update, delete) executed on organizations.\n\
\nIf there are no audit entries, or if the entity does not exist, this API\
\ returns an empty array.\n\nIf you omit the `timeline`, `startTime`, and\
\ `endTime` query parameters, the default is to use `timeline=today`.\n\n\
For more about shared flows, see Reusable shared flows."
operationId: "listAuditsDeveloperApp"
parameters:
- $ref: "#/components/parameters/org_name"
- $ref: "#/components/parameters/sharedflow_name"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "UPDATE"
request: "''r7zxB0C8n0OJdoUdbT0u6hD1eKOvC5m8''"
requestUri: "/v1/organizations/docs/developers/4707ceee-4cc7-47c9-a180-f4932bd7f2c2/apps/myapp/keys/uconqa19Mi1TAJlCKGHAP3kmpht4nKPr"
responseCode: 200
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
/audits/users/{user_email}:
get:
tags:
- "Audit"
summary: "List audit entries for a user"
description: "Lists audit entries for management operations for a user.\n\n\
For every call made to the API, Apigee Edge logs an audit record. This API\
\ enables you to obtain a record of all API calls made against the specified\
\ user. The audit logs provide access to the actions (create, read, update,\
\ delete) executed on the user.\n\nIf there are no audit entries, or if the\
\ entity does not exist, this API returns an empty array.\n\nIf you omit the\
\ `timeline`, `startTime`, and `endTime` query parameters, the default is\
\ to use `timeline=today`.\n\n**Notes**:\n* **Apigee Edge for Private Cloud\
\ only**. If you are using Apigee Edge for Public Cloud, contact Apigee Support for assistance.\n\
* **This API cannot be executed using the Try this API panel**."
operationId: "ListAuditsUser"
parameters:
- $ref: "#/components/parameters/user_email"
- $ref: "#/components/parameters/expand"
- $ref: "#/components/parameters/timeline"
- $ref: "#/components/parameters/startTime"
- $ref: "#/components/parameters/endTime"
- $ref: "#/components/parameters/rows"
responses:
"200":
description: "OK"
content:
application/json:
schema:
$ref: "#/components/schemas/Audits"
example:
auditRecord:
- operation: "UPDATE"
request: "ahamilton@example.com"
requestUri: "/v1/organizations/docs/userroles/orgadmin/users"
responseCode: 200
timeStamp: 1602682379741
user: "admin@example.com"
"400":
description: "Bad request"
components:
securitySchemes:
Basic:
type: "http"
scheme: "basic"
description: "Multi-factor authentication is not supported."
OAuth:
type: "apiKey"
name: "Authorization"
in: "header"
description: "For OAuth, enter the following in the Key field: Bearer %your-token%"
parameters:
org_name:
in: "path"
name: "org_name"
required: true
schema:
type: "string"
description: "Organization name."
apiproduct_name:
in: "path"
name: "apiproduct_name"
required: true
schema:
type: "string"
description: "API product name."
api_name:
in: "path"
name: "api_name"
required: true
schema:
type: "string"
description: "API proxy name."
developer_email:
in: "path"
name: "developer_email"
required: true
schema:
type: "string"
description: "Email address of developer."
app_name:
in: "path"
name: "app_name"
required: true
schema:
type: "string"
description: "App name."
user_email:
in: "path"
name: "user_email"
required: true
schema:
type: "string"
description: "Email address of user."
sharedflow_name:
in: "path"
name: "sharedflow_name"
required: true
schema:
type: "string"
description: "Shared flow name."
expand:
in: "query"
name: "expand"
required: false
schema:
type: "string"
description: "Flag that specifies whether or not to expand the audit entry.\
\ Set to `true` to expand the audit entry. Defaults to `true`."
timeline:
in: "query"
name: "timeline"
required: false
schema:
type: "string"
description: "Filters results by the specified time interval. Valid values are\
\ `today`, `week`, or `month`. If you specify `timeline`, don't specify `startTime`\
\ or `endTime`. If you omit the `timeline`, `startTime`, and `endTime` query\
\ parameters, the default is `timeline=today`."
startTime:
in: "query"
name: "startTime"
required: false
schema:
type: "string"
description: "End date/time from up to which audit entries should be returned\
\ in milliseconds since epoch. (Add \"000\" to the end of normal epoch time\
\ to get milliseconds.) Specify `startTime` by itself or with `endTime` to\
\ specify a range. Don't specify with `timeline`."
endTime:
in: "query"
name: "endTime"
required: false
schema:
type: "string"
description: "Start date/time from which audit entries should be returned in\
\ milliseconds since epoch. (Add \"000\" to the end of normal epoch time to\
\ get milliseconds.) Specify `endTime` by itself or with `startTime` to specify\
\ a range. Don't specify with `timeline`."
rows:
in: "query"
name: "rows"
required: false
schema:
type: "string"
description: "Limit on the total number of audit entries to be returned when\
\ you specify either `startTime` or `endTime`."
schemas:
Audits:
type: "array"
description: "Audit entries."
items:
$ref: "#/components/schemas/Audit"
Audit:
description: "Audit entry details."
type: "object"
properties:
operation:
description: "Operation performed, such as `CREATE`, `UPDATE`, or `DELETE`."
type: "string"
request:
description: "Request entity."
type: "string"
requestUri:
type: "string"
description: "URL of the request."
responseCode:
description: "Status code of the response, such as `200`."
type: "string"
timestamp:
description: "Timestamp for the log in seconds since epoch."
type: "string"
user:
description: "Email address of user assoicated with the log."
type: "string"