Audit API
The Vonage Audit API allows you to view details of changes to your account
COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://api.nexmo.com/beta/audit"
}
],
"info": {
"contact": {
"email": "devrel@vonage.com",
"name": "Vonage DevRel",
"url": "https://developer.nexmo.com/"
},
"description": "The Vonage Audit API allows you to view details of changes to your account. More information is available at <https://developer.nexmo.com/audit/overview>.\n_Please note that the Audit API is currently in Beta_\n",
"license": {
"name": "The MIT License (MIT)",
"url": "https://opensource.org/licenses/MIT"
},
"termsOfService": "https://www.nexmo.com/terms-of-use",
"title": "Audit API",
"version": "1.0.4",
"x-label": "Beta",
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_www.vonage.com_content_dam_vonage_us-en_api_illustrations_Mobile_APIs_Services.svg"
},
"x-origin": [
{
"format": "openapi",
"url": "https://raw.githubusercontent.com/nexmo/api-specification/master/definitions/audit.yml",
"version": "3.0"
}
],
"x-providerName": "nexmo.com",
"x-serviceName": "audit"
},
"paths": {
"/events": {
"get": {
"description": "Get a series of audit events describing changes made to your Vonage API account over time.\n",
"operationId": "getEvents",
"parameters": [
{
"description": "Filter results by this event type.",
"in": "query",
"name": "event_type",
"schema": {
"$ref": "#/components/schemas/EventTypes"
}
},
{
"description": "Start of time range for audit events. DateTime in ISO-8601 format.",
"in": "query",
"name": "date_from",
"schema": {
"type": "string"
}
},
{
"description": "End of time range for audit events. DateTime in ISO-8601 format.",
"in": "query",
"name": "date_to",
"schema": {
"type": "string"
}
},
{
"description": "Return only audit events where the JSON object contains this search text. Must be legal text for a JSON attribute value, that is quotes and braces must be escaped.",
"in": "query",
"name": "search_text",
"schema": {
"type": "string"
}
},
{
"description": "Page number starting with page 1.",
"in": "query",
"name": "page",
"schema": {
"type": "string"
}
},
{
"description": "Number of elements per page.",
"in": "query",
"name": "size",
"schema": {
"default": 30,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditResp"
}
}
},
"description": "OK"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorUnauthorized"
}
}
},
"description": "Unauthorized"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorForbidden"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorNotFound"
}
}
},
"description": "Not Found"
}
},
"security": [
{
"basicAuth": []
}
],
"summary": "Retrieve audit events"
},
"options": {
"description": "Get audit event types.\n",
"operationId": "getEventsOptions",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditEventTypesResp"
}
}
},
"description": "OK"
},
"204": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoContent"
}
}
},
"description": "No Content"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorUnauthorized"
}
}
},
"description": "Unauthorized"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorForbidden"
}
}
},
"description": "Forbidden"
}
},
"security": [
{
"basicAuth": []
}
],
"summary": "Retrieve audit event types"
}
},
"/events/{id}": {
"get": {
"description": "Get the specified audit event.\n",
"operationId": "getEvent",
"parameters": [
{
"description": "The UUID of the audit event to retrieve",
"example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"in": "path",
"name": "id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditEvent"
}
}
},
"description": "OK"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorUnauthorized"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorNotFound"
}
}
},
"description": "Not Found"
}
},
"security": [
{
"basicAuth": []
}
],
"summary": "Retrieve individual audit event"
}
}
},
"components": {
"schemas": {
"AuditEvent": {
"properties": {
"_links": {
"$ref": "#/components/schemas/EventLink"
},
"account_id": {
"description": "The NEXMO_API_KEY of the Vonage API account that the audit event is associated with.",
"example": "abcd1234",
"type": "string"
},
"context": {
"description": "A valid JSON object with information detailing the context of the audit event.",
"example": {
"created": {
"accountId": "abcdef01",
"answer_url": {
"method": "GET",
"url": "https://example.org/call"
},
"appId": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"event_url": {
"method": "POST",
"url": "https://example.org/event"
},
"name": "My voice app",
"type": "voice"
}
},
"oneOf": [
{
"$ref": "#/components/schemas/ContextAppCreate"
},
{
"$ref": "#/components/schemas/ContextNumberLinking"
},
{
"$ref": "#/components/schemas/ContextNumberUpdate"
}
],
"type": "object"
},
"created_at": {
"description": "When the audit event was created.",
"example": "2018-07-04T11:41:32",
"format": "date",
"type": "string"
},
"event_type": {
"$ref": "#/components/schemas/EventTypes"
},
"event_type_description": {
"description": "A description of the event type",
"example": "Application created.",
"type": "string"
},
"id": {
"description": "UUID of the audit event",
"example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"type": "string"
},
"source": {
"description": "The source of the event.\nCD: Customer Dashboard DEVAPI: via Developer API\n",
"enum": [
"CD",
"DEVAPI"
],
"example": "CD",
"type": "string"
},
"source_country": {
"description": "ISO 3166-1 Alpha-2 country code recorded for the event.",
"example": "GB",
"type": "string"
},
"source_description": {
"description": "Description of the audit event source.",
"enum": [
"Customer Dashboard",
"Developer API"
],
"example": "Customer Dashboard",
"format": "A human readable description of the `source`.",
"type": "string"
},
"source_ip": {
"description": "The IP address used to make the account change.",
"example": "192.0.2.0",
"format": "ipv4",
"type": "string"
},
"user_email": {
"description": "Email of the user whose account the audit event is associated with.",
"example": "user@example.org",
"format": "email",
"type": "string"
},
"user_id": {
"description": "The ID of the user that the audit event is associated with.",
"example": 1234567,
"type": "integer"
}
},
"type": "object"
},
"AuditEventType": {
"properties": {
"description": {
"description": "A description of the event type",
"example": "Application created.",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/EventTypes"
}
},
"type": "object"
},
"AuditEventTypesResp": {
"properties": {
"eventTypes": {
"description": "An array of audit event types.",
"items": {
"$ref": "#/components/schemas/AuditEventType"
},
"type": "array"
}
},
"type": "object"
},
"AuditResp": {
"properties": {
"_embedded": {
"description": "Container containing the `events` array.",
"properties": {
"events": {
"items": {
"$ref": "#/components/schemas/AuditEvent"
},
"type": "array"
}
},
"type": "object"
},
"_links": {
"$ref": "#/components/schemas/PaginationLinks"
},
"page": {
"$ref": "#/components/schemas/PaginationData"
}
},
"type": "object"
},
"CallbackUrl": {
"properties": {
"method": {
"description": "The HTTP method used to make a callback to your application",
"enum": [
"GET",
"POST"
],
"example": "GET",
"type": "string"
},
"url": {
"description": "The URL used for a callback to your application",
"example": "https://example.org/my-app-callback",
"format": "url",
"type": "string"
}
},
"type": "object"
},
"ContextAppCreate": {
"properties": {
"appId": {
"description": "UUID of the app that was created",
"example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"type": "string"
},
"created": {
"properties": {
"accountId": {
"description": "Which account the app is associated with",
"example": "abcdef01",
"type": "string"
},
"answer_url": {
"$ref": "#/components/schemas/CallbackUrl"
},
"appId": {
"description": "UUID of the app that was created",
"example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"type": "string"
},
"event_url": {
"$ref": "#/components/schemas/CallbackUrl"
},
"name": {
"description": "The name of the application created",
"example": "My Voice App",
"type": "string"
},
"type": {
"description": "The type of application created",
"example": "voice",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"ContextNumberLinking": {
"properties": {
"account": {
"description": "Which account the number is associated with",
"example": "abcdef01",
"type": "string"
},
"applicationId": {
"description": "UUID of the app the number is being linked/unlinked to",
"example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"type": "string"
},
"country": {
"description": "The country of the number",
"example": "GB",
"type": "string"
},
"msisdn": {
"description": "The phone number linked/unlinked to your application",
"example": "447000123456",
"type": "string"
}
},
"type": "object"
},
"ContextNumberUpdate": {
"properties": {
"country": {
"description": "The country of the number",
"type": "string"
},
"http": {
"description": "The URL of the endpoint the number has been forwarded to",
"example": "https://example.org/my-app-callback",
"format": "url",
"type": "string"
},
"msisdn": {
"description": "The phone number linked/unlinked to your application",
"example": "447000123456",
"type": "string"
},
"voice-type": {
"description": "The type of endpoint the number has been forwarded to",
"enum": [
"tel",
"sip",
"vxml",
"app"
],
"example": "app",
"type": "string"
},
"voice-value": {
"description": "The value of the endpoint the number has been forwarded to",
"example": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"type": "string"
}
},
"type": "object"
},
"ErrorBadRequest": {
"properties": {
"error": {
"description": "A human readable description of the error",
"example": "BadRequest",
"type": "string"
},
"message": {
"description": "A longer description of the error",
"example": "This was a bad request.",
"type": "string"
},
"status": {
"description": "The HTTP Status code of the error",
"example": 400,
"type": "integer"
}
},
"type": "object"
},
"ErrorForbidden": {
"properties": {
"error": {
"description": "A human readable description of the error",
"example": "Forbidden",
"type": "string"
},
"message": {
"description": "A longer description of the error",
"example": "An example goes here",
"type": "string"
},
"status": {
"description": "The HTTP Status code of the error",
"example": 403,
"type": "integer"
}
},
"type": "object"
},
"ErrorNotFound": {
"properties": {
"error": {
"description": "A human readable description of the error XXX",
"example": "Not Found",
"type": "string"
},
"message": {
"description": "A longer description of the error YYY",
"example": "Event with provided id: aaaaaaaa-bbbb-cccc-dddd-0123456789ab was not found",
"type": "string"
},
"status": {
"description": "The HTTP Status code of the error",
"example": 404,
"type": "integer"
}
},
"type": "object"
},
"ErrorUnauthorized": {
"properties": {
"error": {
"description": "A human readable description of the error",
"example": "Unauthorized",
"type": "string"
},
"message": {
"description": "A longer description of the error",
"example": "Full authentication is required. JWT was not found in \"Authorization\" HTTP header.",
"type": "string"
},
"status": {
"description": "The HTTP Status code of the error",
"example": 401,
"type": "integer"
}
},
"type": "object"
},
"EventLink": {
"description": "A link to this audit event object if you were to retrieve it individually.",
"properties": {
"self": {
"properties": {
"href": {
"description": "URI of this document.",
"example": "https://api.nexmo.com/beta/audit/events/aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"format": "uri",
"type": "string"
}
}
}
},
"type": "object"
},
"EventTypes": {
"description": "The type of the audit event.",
"enum": [
"USER_STATUS",
"USER_UPDATE",
"USER_BILLING_UPDATE",
"USER_CREATE",
"USER_LOGIN",
"USER_LOGOUT",
"USER_PRODUCT_SEARCH",
"USER_API_KEYS_UPDATE",
"ACCOUNT_SECRET_DELETE",
"ACCOUNT_SECRET_CREATE",
"ACCOUNT_UPDATE_SPAMMER",
"ACCOUNT_UPDATE_SETTINGS_API",
"NUMBER_ASSIGN",
"NUMBER_UPDATED",
"NUMBER_RELEASE",
"NUMBER_LINKED",
"NUMBER_UNLINKED",
"APP_CREATE",
"APP_UPDATE",
"APP_DELETE",
"APP_DISABLE",
"APP_ENABLE",
"IP_WHITELIST_CREATE",
"IP_WHITELIST_DELETE",
"AUTORELOAD_ENABLE",
"AUTORELOAD_UPDATE",
"AUTORELOAD_DISABLE"
],
"example": "APP_CREATE",
"type": "string"
},
"NoContent": {
"properties": {
"error": {
"description": "A human readable description of the error AAA",
"example": "No Content",
"type": "string"
},
"message": {
"description": "A longer description of the error BBB",
"example": "No content",
"type": "string"
},
"status": {
"description": "The HTTP Status code of the error",
"example": 204,
"type": "integer"
}
},
"type": "object"
},
"PaginationData": {
"description": "Page containing results.",
"properties": {
"number": {
"description": "Which page of the pagination sequence you are looking at.",
"example": 1,
"type": "integer"
},
"size": {
"default": 30,
"description": "The total number of items in this response (page).",
"example": 100,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"totalElements": {
"description": "The total number of items across all pages.",
"example": 120,
"type": "integer"
},
"totalPages": {
"description": "The number of pages of data in the response.",
"example": 2,
"type": "integer"
}
},
"type": "object"
},
"PaginationLinks": {
"description": "Container containing self, next and last page links.",
"properties": {
"last": {
"properties": {
"href": {
"description": "URI of the last document in the sequence.",
"example": "http://api.nexmo.com/beta/audit/events?page=2&size=30",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"next": {
"properties": {
"href": {
"description": "URI of the next document.",
"example": "http://api.nexmo.com/beta/audit/events?page=2&size=30",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"self": {
"properties": {
"href": {
"description": "URI of this document.",
"example": "http://api.nexmo.com/beta/audit/events",
"format": "uri",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"securitySchemes": {
"basicAuth": {
"scheme": "basic",
"type": "http"
}
}
}
}