openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 49.3 kB
JSON
{"openapi":"3.0.0","info":{"contact":{"x-twitter":"elmah_io"},"description":"This is the public REST API for elmah.io. All of the integrations communicates with elmah.io through this API.<br/><br/>For additional help getting started with the API, visit the following help articles:<br/><ul><li>[Using the REST API](https://docs.elmah.io/using-the-rest-api/)</li><li>[Where is my API key?](https://docs.elmah.io/where-is-my-api-key/)</li><li>[Where is my log ID?](https://docs.elmah.io/where-is-my-log-id/)</li><li>[How to configure API key permissions](https://docs.elmah.io/how-to-configure-api-key-permissions/)</li></ul>","title":"elmah.io API","version":"v3","x-apisguru-categories":["cloud"],"x-logo":{"url":"https://twitter.com/elmah_io/profile_image?size=original"},"x-origin":[{"format":"openapi","url":"https://api.elmah.io/swagger/docs/v3","version":"3.0"}],"x-providerName":"elmah.io"},"security":[{"api_key":[]}],"paths":{"/v3/deployments":{"get":{"description":"Required permission: `deployments_read`","operationId":"Deployments_GetAll","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Deployment"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/Deployment"},"type":"array"}},"text/plain":{"schema":{"items":{"$ref":"#/components/schemas/Deployment"},"type":"array"}}},"description":"Request for deployments successful."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the deployment API without deployment tracking enabled or trial expired."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fetch a list of deployments.","tags":["Deployments"]},"post":{"description":"Required permission: `deployments_write`","operationId":"Deployments_Create","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CreateDeployment"}},"application/json":{"schema":{"$ref":"#/components/schemas/CreateDeployment"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CreateDeployment"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateDeployment"}}},"description":"The deployment object to create."},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDeploymentResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateDeploymentResult"}},"text/plain":{"schema":{"$ref":"#/components/schemas/CreateDeploymentResult"}}},"description":"Deployment was created."},"400":{"description":"Model not valid."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the deployment API without deployment tracking enabled or trial expired."},"404":{"description":"Specified log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Create a new deployment.","tags":["Deployments"]}},"/v3/deployments/{id}":{"delete":{"description":"This endpoint doesn't clear the version number of messages already annotated with this deployment version.<br/><br/>Required permission: `deployments_delete`","operationId":"Deployments_Delete","parameters":[{"description":"The ID of the deployment to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Deployment was deleted."},"400":{"description":"Id not specified."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the deployment API without deployment tracking enabled or trial expired."},"404":{"description":"Deployment with specified id not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Delete a deployment by its ID.","tags":["Deployments"]},"get":{"description":"Required permission: `deployments_read`","operationId":"Deployments_Get","parameters":[{"description":"The ID of the deployment to fetch.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Deployment"}},"text/json":{"schema":{"$ref":"#/components/schemas/Deployment"}},"text/plain":{"schema":{"$ref":"#/components/schemas/Deployment"}}},"description":"Request for deployment successful."},"400":{"description":"Id not specified."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Deployment with specified id not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fetch a deployment by its ID.","tags":["Deployments"]}},"/v3/heartbeats/{logId}/{id}":{"post":{"description":"Required permission: `heartbeats_write`","operationId":"Heartbeats_Create","parameters":[{"description":"The ID of the heartbeat check.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The ID of the log containing the heartbeat check.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CreateHeartbeat"}},"application/json":{"schema":{"$ref":"#/components/schemas/CreateHeartbeat"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CreateHeartbeat"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateHeartbeat"}}},"description":"The details of the heartbeat."},"responses":{"200":{"description":"Heartbeat was created."},"400":{"description":"Model not valid."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the heartbeats API without heartbeats enabled or trial expired."},"404":{"description":"The specified log or heartbeat was not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Create a new heartbeat.","tags":["Heartbeats"]}},"/v3/logs":{"get":{"description":"Required permission: `logs_read`","operationId":"Logs_GetAll","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Log"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/Log"},"type":"array"}},"text/plain":{"schema":{"items":{"$ref":"#/components/schemas/Log"},"type":"array"}}},"description":"Request for logs successful."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fetch a list of logs.","tags":["Logs"]},"post":{"description":"Required permission: `logs_write`","operationId":"Logs_Create","requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CreateLog"}},"application/json":{"schema":{"$ref":"#/components/schemas/CreateLog"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CreateLog"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateLog"}}},"description":"The log object to create."},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLogResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateLogResult"}},"text/plain":{"schema":{"$ref":"#/components/schemas/CreateLogResult"}}},"description":"Log where successfully created."},"400":{"description":"Something wrong with the parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Create a new log.","tags":["Logs"]}},"/v3/logs/{id}":{"get":{"description":"Required permission: `logs_read`","operationId":"Logs_Get","parameters":[{"description":"The ID of the log to fetch.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Log"}},"text/json":{"schema":{"$ref":"#/components/schemas/Log"}},"text/plain":{"schema":{"$ref":"#/components/schemas/Log"}}},"description":"Request for log successful."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fetch a log by its ID.","tags":["Logs"]}},"/v3/logs/{id}/_diagnose":{"get":{"description":"Required permission: `messages_write`","operationId":"Logs_Diagnose","parameters":[{"description":"The ID of the log to diagnose.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array"}},"text/json":{"schema":{"items":{"type":"string"},"type":"array"}},"text/plain":{"schema":{"items":{"type":"string"},"type":"array"}}},"description":"Log was diagnosed."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Help diagnose logging problems.","tags":["Logs"]}},"/v3/logs/{id}/_disable":{"post":{"description":"Required permission: `logs_write`","operationId":"Logs_Disable","parameters":[{"description":"The ID of the log to disable.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Log was disabled."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Disable a log by its ID.","tags":["Logs"]}},"/v3/logs/{id}/_enable":{"post":{"description":"Required permission: `logs_write`","operationId":"Logs_Enable","parameters":[{"description":"The ID of the log to enable.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Log was enabled."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Enable a log by its ID.","tags":["Logs"]}},"/v3/messages/{logId}":{"delete":{"description":"Required permission: `messages_delete`","operationId":"Messages_DeleteAll","parameters":[{"description":"The ID of the log containing the message.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Search"},"responses":{"200":{"description":"Messages where deleted."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Deletes a list of messages by logid and query.","tags":["Messages"]},"get":{"description":"Required permission: `messages_read`","operationId":"Messages_GetAll","parameters":[{"description":"The ID of the log containing the messages.","in":"path","name":"logId","required":true,"schema":{"type":"string"}},{"description":"The page number of the result.","in":"query","name":"pageIndex","schema":{"default":0,"format":"int32","type":"integer"}},{"description":"The number of messages to load (max 100) or 15 if not set.","in":"query","name":"pageSize","schema":{"default":15,"format":"int32","type":"integer"}},{"description":"A full-text or Lucene query to limit the messages by.","in":"query","name":"query","schema":{"type":"string"}},{"description":"A start date and time to search from (not included).","in":"query","name":"from","schema":{"format":"date-time","type":"string"}},{"description":"An end date and time to search to (not included).","in":"query","name":"to","schema":{"format":"date-time","type":"string"}},{"description":"Include headers like server variables and cookies in the result (slower).","in":"query","name":"includeHeaders","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/MessagesResult"}},"text/plain":{"schema":{"$ref":"#/components/schemas/MessagesResult"}}},"description":"Log found and may contain messages."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fetch messages from a log.","tags":["Messages"]},"post":{"description":"Required permission: `messages_write`","operationId":"Messages_Create","parameters":[{"description":"The ID of the log which should contain the new message.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/CreateMessage"}},"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessage"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CreateMessage"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateMessage"}}},"description":"The message object to create."},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateMessageResult"}},"text/plain":{"schema":{"$ref":"#/components/schemas/CreateMessageResult"}}},"description":"Message was not created."},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateMessageResult"}},"text/plain":{"schema":{"$ref":"#/components/schemas/CreateMessageResult"}}},"description":"Message was successfully created."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"413":{"description":"Message too large. Messages must not exceed 256 kb. As additional information, some fields are trimmed down when processed on the backend."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Create a new message.","tags":["Messages"]}},"/v3/messages/{logId}/_bulk":{"post":{"description":"Required permission: `messages_write`","operationId":"Messages_CreateBulk","parameters":[{"description":"The ID of the log which should contain the new messages.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/*+json":{"schema":{"items":{"$ref":"#/components/schemas/CreateMessage"},"type":"array"}},"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateMessage"},"type":"array"}},"application/json-patch+json":{"schema":{"items":{"$ref":"#/components/schemas/CreateMessage"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateMessage"},"type":"array"}}},"description":"The messages to create."},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateBulkMessageResult"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/CreateBulkMessageResult"},"type":"array"}},"text/plain":{"schema":{"items":{"$ref":"#/components/schemas/CreateBulkMessageResult"},"type":"array"}}},"description":"Zero or more messages where successfully created. Check the response body for details."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Create one or more new messages.","tags":["Messages"]}},"/v3/messages/{logId}/_fix":{"post":{"description":"Required permission: `messages_write`","operationId":"Messages_FixAll","parameters":[{"description":"The ID of the log containing the messages.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/Search"},"responses":{"200":{"description":"Messages where marked as fixed."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Mark a list of messages as fixed by logid and query.","tags":["Messages"]}},"/v3/messages/{logId}/{id}":{"delete":{"description":"Required permission: `messages_delete`","operationId":"Messages_Delete","parameters":[{"description":"The ID of the message to delete.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The ID of the log containing the message.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Message where deleted."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log or message not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Delete a message by its ID.","tags":["Messages"]},"get":{"description":"Required permission: `messages_read`","operationId":"Messages_Get","parameters":[{"description":"The ID of the message to fetch.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The ID of the log containing the message.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Message"}},"text/json":{"schema":{"$ref":"#/components/schemas/Message"}},"text/plain":{"schema":{"$ref":"#/components/schemas/Message"}}},"description":"Message found."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Message not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fetch a message by its ID.","tags":["Messages"]}},"/v3/messages/{logId}/{id}/_fix":{"post":{"description":"Required permission: `messages_write`","operationId":"Messages_Fix","parameters":[{"description":"The ID of the message to fix.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The ID of the log containing the message.","in":"path","name":"logId","required":true,"schema":{"type":"string"}},{"description":"If set to true, all instances of the log message are set to fixed.","in":"query","name":"markAllAsFixed","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"Message was fixed."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Message not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fix a message by its ID.","tags":["Messages"]}},"/v3/messages/{logId}/{id}/_hide":{"post":{"description":"Required permission: `messages_write`","operationId":"Messages_Hide","parameters":[{"description":"The ID of the message to hide.","in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"The ID of the log containing the message.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Message was hidden."},"400":{"description":"Something wrong with the query parameters."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Message not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Hide a message by its ID.","tags":["Messages"]}},"/v3/sourcemaps/{logId}":{"post":{"description":"Required permission: `sourcemaps_write`","operationId":"SourceMaps_CreateOrUpdate","parameters":[{"description":"The ID of the log which should contain the minified JavaScript and source map.","in":"path","name":"logId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"MinifiedJavaScript":{"description":"The minified JavaScript file. Only files with an extension of .js and content type of text/javascript will be accepted.","format":"binary","type":"string"},"Path":{"description":"An URL to the online minified JavaScript file. The URL can be absolute or relative but will always be converted to a relative path (no protocol, domain, and query parameters).\r\nelmah.io uses this path to lookup any lines in a JS stack trace that will need de-minification.","format":"uri","maxLength":2048,"type":"string"},"SourceMap":{"description":"The source map file. Only files with an extension of .map and content type of application/json will be accepted.","format":"binary","type":"string"}},"required":["Path","SourceMap","MinifiedJavaScript"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Source map was successfully created."},"400":{"description":"Something wrong with the query parameters or form."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the logs API but the trial expired."},"404":{"description":"Log not found."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Create or update a translation between a minified JavaScript path to the minified JavaScript and source map files.","tags":["SourceMaps"]}},"/v3/uptimechecks":{"get":{"description":"Required permission: `uptimechecks_read`","operationId":"UptimeChecks_GetAll","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UptimeCheck"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/UptimeCheck"},"type":"array"}},"text/plain":{"schema":{"items":{"$ref":"#/components/schemas/UptimeCheck"},"type":"array"}}},"description":"Request for uptime checks successful."},"401":{"description":"API key not valid or no access to resource."},"402":{"description":"Tried to call the uptime checks API but the trial expired."},"429":{"description":"A maximum of 500 requests per minute and 3600 requests per hour are permitted"}},"summary":"Fetch a list of uptime checks. Currently in closed beta. Get in contact to get access to this endpoint.","tags":["UptimeChecks"]}}},"components":{"requestBodies":{"Search":{"content":{"application/*+json":{"schema":{"$ref":"#/components/schemas/Search"}},"application/json":{"schema":{"$ref":"#/components/schemas/Search"}},"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/Search"}},"text/json":{"schema":{"$ref":"#/components/schemas/Search"}}},"description":"A search object containing query, time filters etc."}},"schemas":{"Breadcrumb":{"description":"A breadcrumb represent a step preceding a log message.","properties":{"action":{"description":"An action representing the breadcrumb. You can set a custom action or use one of the built-in: click, submit, navigation, request, error.","type":"string"},"dateTime":{"description":"The date and time in UTC of the breadcrumb. If no date and time is provided, we will use the current date and time in UTC.","format":"date-time","type":"string"},"message":{"description":"A message representing the breadcrumb. This should elaborate on the action.","type":"string"},"severity":{"description":"An enum value representing the severity of this breadcrumb. The following values are allowed: Verbose, Debug, Information, Warning, Error, Fatal.","type":"string"}},"type":"object"},"CreateBulkMessageResult":{"properties":{"location":{"description":"The location of the created message if StatusCode equals Created.","format":"uri","type":"string"},"statusCode":{"description":"Status code of the individual messages as if it were being created through the non-bulk endpoint.\r\nIf a message was succesfully created, the status code will be 201 and location will contain an URL.\r\nIf a message was ignored, the status code will be 200 and the location will be empty.","format":"int32","type":"integer"}},"type":"object"},"CreateDeployment":{"properties":{"created":{"description":"When was this deployment created in UTC. Defaults to current time if not specified.","format":"date-time","type":"string"},"description":{"description":"Optional description of this deployment. Can be markdown or clear text.","maxLength":8192,"type":"string"},"logId":{"description":"As default, deployments are attached all logs of the organization. If you want a deployment to\r\nattach to a single log only, set this to the ID of that log.","type":"string"},"userEmail":{"description":"The email of the person responsible for creating this deployment. This can be the email taken from\r\nyour deployment server (like Azure DevOps or Octopus).","format":"email","maxLength":320,"type":"string"},"userName":{"description":"The name of the person responsible for creating this deployment. This can be the name taken from\r\nyour deployment server (like Azure DevOps or Octopus).","maxLength":256,"type":"string"},"version":{"description":"The version number of this deployment. The value of version can be a SemVer compliant string or any other\r\nsyntax that you are using as your version numbering scheme.","maxLength":256,"type":"string"}},"required":["version"],"type":"object"},"CreateDeploymentResult":{"properties":{"location":{"description":"The location of the created deployment.","format":"uri","type":"string"}},"type":"object"},"CreateHeartbeat":{"properties":{"application":{"description":"Optional string to identify which application logged this message. You can use this if you have multiple applications and services logging to the same log.\r\nIf not set, the application name \"Heartbeats\" will be set on all log messages generated from this heartbeat.","maxLength":256,"type":"string"},"reason":{"description":"If result is \"Degraded\" or \"Unhealthy\" you can use this property to specify why.","maxLength":8192,"type":"string"},"result":{"description":"The result of this heartbeat. Can be \"Healthy, \"Degraded\", or \"Unhealthy\". Defaults to \"Healthy\"","maxLength":9,"type":"string"},"took":{"description":"Optional long for specifying how many milliseconds it took to execute the task resulting in this heartbeat. This can be used to get a better overview\r\nof how long a scheduled task or service is running or to figure out if the grace period should be increased.","format":"int64","type":"integer"},"version":{"description":"Optional string to identify which version of your application logged this message. If not specified, any errors, warnings, or information messages will get\r\nthe newest version number created through deployment tracking as with normal log messages.","maxLength":256,"type":"string"}},"type":"object"},"CreateLog":{"properties":{"color":{"description":"Color of the log. The color must be one of the following (green on unknown value or missing):\r\ngreen, lightgreen, lime, yellow, orange, deeporange, red, pink, purple, deeppurple, blue, lightblue","type":"string"},"disabled":{"description":"Set to true to disable the log on creation. Defaults to false. A log can be enabled/disabled\r\nafterwards by calling the _disable and _enable endpoints.","type":"boolean"},"environmentName":{"description":"Environment name of the new log. Must match an environment name (case insensitive).\r\nIf a matching environment name was not found or the property is not set, the log\r\nwill appear under \"Other\" in the UI.","type":"string"},"name":{"description":"Name of the new log.","maxLength":256,"type":"string"}},"required":["name"],"type":"object"},"CreateLogResult":{"properties":{"location":{"description":"The location of the created log.","format":"uri","type":"string"}},"type":"object"},"CreateMessage":{"properties":{"application":{"description":"Used to identify which application logged this message. You can use this if you have multiple applications and services logging to the same log","type":"string"},"breadcrumbs":{"description":"A list of breadcrumbs preceding this log message.","items":{"$ref":"#/components/schemas/Breadcrumb"},"type":"array"},"category":{"description":"The log message category. Category can be a string of choice but typically contain a logging category set by a logging framework like NLog or Serilog.\r\nWhen logging through a logging framework, this field will be provided by the framework and not something that needs to be set manually.","type":"string"},"code":{"description":"Code can be used to include source code related to the log message. The code will typically span from a few lines before the line causing the log message\r\nto a few lines after. For now, all lines above 21 will be removed. This makes room for showing 10 lines before the logging line, the logging line, and\r\n10 lines after the logging line. Don't include a very large string in this property since that will quickly make the entire messages exceed the max limit\r\nof 256 kb.","type":"string"},"cookies":{"description":"A key/value pair of cookies. This property only makes sense for logging messages related to web requests.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"correlationId":{"description":"CorrelationId can be used to group similar log messages together into a single discoverable batch. A correlation ID could be a session ID from ASP.NET Core,\r\na unique string spanning multiple microsservices handling the same request, or similar.","type":"string"},"data":{"description":"A key/value pair of user-defined fields and their values. When logging an exception, the Data dictionary of\r\nthe exception is copied to this property. You can add additional key/value pairs, by modifying the Data\r\ndictionary on the exception or by supplying additional key/values to this API.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"dateTime":{"description":"The date and time in UTC of the message. If you don't provide us with a value in dateTime, we will set the current date and time in UTC.","format":"date-time","type":"string"},"detail":{"description":"A longer description of the message. For errors this could be a stacktrace, but it's really up to you what to log in there.","type":"string"},"form":{"description":"A key/value pair of form fields and their values. This property makes sense if logging message related to users inputting data in a form.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"hostname":{"description":"The hostname of the server logging the message.","type":"string"},"method":{"description":"If message relates to a HTTP request, you may send the HTTP method of that request. If you don't provide us with a method, we will try to find a key named REQUEST_METHOD in serverVariables.","type":"string"},"queryString":{"description":"A key/value pair of query string parameters. This property makes sense if logging message related to a HTTP request.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"serverVariables":{"description":"A key/value pair of server values. Server variables are typically related to handling requests in a webserver but could be used for other types of information as well.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"severity":{"description":"An enum value representing the severity of this message. The following values are allowed: Verbose, Debug, Information, Warning, Error, Fatal","type":"string"},"source":{"description":"The source of the code logging the message. This could be the assembly name.","type":"string"},"statusCode":{"description":"If the message logged relates to a HTTP status code, you can put the code in this property. This would probably only be relevant for errors,\r\nbut could be used for logging successful status codes as well.","format":"int32","type":"integer"},"title":{"description":"The textual title or headline of the message to log.","type":"string"},"titleTemplate":{"description":"The title template of the message to log. This property can be used from logging frameworks that supports\r\nstructured logging like: \"{user} says {quote}\". In the example, titleTemplate will be this string and title\r\nwill be \"Gilfoyle says It's not magic. It's talent and sweat\".","type":"string"},"type":{"description":"The type of message. If logging an error, the type of the exception would go into type but you can put anything in there, that makes sense for your domain.","type":"string"},"url":{"description":"If message relates to a HTTP request, you may send the URL of that request. If you don't provide us with an URL, we will try to find a key named URL in serverVariables.","type":"string"},"user":{"description":"An identification of the user triggering this message. You can put the users email address or your user key into this property.","type":"string"},"version":{"description":"Versions can be used to distinguish messages from different versions of your software. The value of version can be a SemVer compliant string or any other\r\nsyntax that you are using as your version numbering scheme.","type":"string"}},"type":"object"},"CreateMessageResult":{"properties":{"location":{"description":"The location of the created message.","format":"uri","type":"string"}},"type":"object"},"Deployment":{"properties":{"created":{"description":"When was this deployment created.","format":"date-time","type":"string"},"createdBy":{"description":"The elmah.io id of the user creating this deployment. Since deployments are created on a subscription,\r\nthe CreatedBy will contain the id of the user with the subscription.","type":"string"},"description":{"description":"Sescription of this deployment in markdown or clear text.","type":"string"},"id":{"description":"The ID of this deployment.","type":"string"},"logId":{"description":"If the deployment is attached a single log, this property is set to the ID of that log.\r\nIf null, the deployment is attached all logs on the organization.","type":"string"},"userEmail":{"description":"The email of the person responsible for creating this deployment.","type":"string"},"userName":{"description":"The name of the person responsible for creating this deployment.","type":"string"},"version":{"description":"The version number of this deployment. The value of version can be a SemVer compliant string or any other\r\nsyntax that you are using as your version numbering scheme.","type":"string"}},"type":"object"},"Item":{"description":"Represents a key value pair.","properties":{"key":{"description":"The key of the item.","type":"string"},"value":{"description":"The value of the item.","type":"string"}},"type":"object"},"Log":{"properties":{"color":{"description":"Color of the log. The color will always be one of the following (green being the default):\r\ngreen, lightgreen, lime, yellow, orange, deeporange, red, pink, purple, deeppurple, blue, lightblue","type":"string"},"disabled":{"description":"Returns true if the log is currently disabled. A log can be disabled either through the API\r\nor in the elmah.io UI.","type":"boolean"},"environmentName":{"description":"Environment name this log is in or \"Other\" if not in an environment.\r\n\"Other\" is chosen over null to mimic the experience in the elmah.io UI.","type":"string"},"id":{"description":"ID of the log.","type":"string"},"name":{"description":"Name of the log.","type":"string"}},"type":"object"},"Message":{"properties":{"application":{"description":"Used to identify which application logged this message. You can use this if you have multiple applications and services logging to the same log","type":"string"},"breadcrumbs":{"description":"A list of breadcrumbs preceding this log message.","items":{"$ref":"#/components/schemas/Breadcrumb"},"type":"array"},"category":{"description":"The log message category. Category can be a string of choice but typically contain a logging category set by a logging framework like NLog or Serilog.","type":"string"},"code":{"description":"Code can be used to include source code related to the log message. The code will typically span from a few lines before the line causing the log message\r\nto a few lines after. For now, all lines above 21 will be removed. This makes room for showing 10 lines before the logging line, the logging line, and\r\n10 lines after the logging line. Don't include a very large string in this property since that will quickly make the entire messages exceed the max limit\r\nof 256 kb.","type":"string"},"cookies":{"description":"A key/value pair of cookies. This property only makes sense for logging messages related to web requests.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"correlationId":{"description":"CorrelationId can be used to group similar log messages together into a single discoverable batch. A correlation ID could be a session ID from ASP.NET Core,\r\na unique string spanning multiple microsservices handling the same request, or similar.","type":"string"},"data":{"description":"A key/value pair of user-defined fields and their values. When logging an exception, the Data dictionary of\r\nthe exception is copied to this property. You can add additional key/value pairs, by modifying the Data\r\ndictionary on the exception or by supplying additional key/values to this API.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"dateTime":{"description":"The date and time in UTC of the message. If you don't provide us with a value in dateTime, we will set the current date and time in UTC.","format":"date-time","type":"string"},"detail":{"description":"A longer description of the message. For errors this could be a stacktrace, but it's really up to you what to log in there.","type":"string"},"form":{"description":"A key/value pair of form fields and their values. This property makes sense if logging message related to users inputting data in a form.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"hostname":{"description":"The hostname of the server logging the message.","type":"string"},"id":{"description":"The ID of this message.","type":"string"},"method":{"description":"If message relates to a HTTP request, you may send the HTTP method of that request. If you don't provide us with a method, we will try to find a key named REQUEST_METHOD in serverVariables.","type":"string"},"queryString":{"description":"A key/value pair of query string parameters. This property makes sense if logging message related to a HTTP request.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"serverVariables":{"description":"A key/value pair of server values. Server variables are typically related to handling requests in a webserver but could be used for other types of information as well.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"severity":{"description":"An enum value representing the severity of this message. The following values are allowed: Verbose, Debug, Information, Warning, Error, Fatal","type":"string"},"source":{"description":"The source of the code logging the message. This could be the assembly name.","type":"string"},"statusCode":{"description":"If the message logged relates to a HTTP status code, you can put the code in this property. This would probably only be relevant for errors,\r\nbut could be used for logging successful status codes as well.","format":"int32","type":"integer"},"title":{"description":"The textual title or headline of the message to log.","type":"string"},"titleTemplate":{"description":"The title template of the message to log. This property can be used from logging frameworks that supports\r\nstructured logging like: \"{user} says {quote}\". In the example, titleTemplate will be this string and title\r\nwill be \"Gilfoyle says It's not magic. It's talent and sweat\".","type":"string"},"type":{"description":"The type of message. If logging an error, the type of the exception would go into type but you can put anything in there, that makes sense for your domain.","type":"string"},"url":{"description":"If message relates to a HTTP request, you may send the URL of that request. If you don't provide us with an URL, we will try to find a key named URL in serverVariables.","type":"string"},"user":{"description":"An identification of the user triggering this message. You can put the users email address or your user key into this property.","type":"string"},"version":{"description":"Versions can be used to distinguish messages from different versions of your software. The value of version can be a SemVer compliant string or any other\r\nsyntax that you are using as your version numbering scheme.","type":"string"}},"type":"object"},"MessageOverview":{"properties":{"application":{"description":"Used to identify which application logged this message. You can use this if you have multiple applications and services logging to the same log","type":"string"},"breadcrumbs":{"description":"A list of breadcrumbs preceding this log message.","items":{"$ref":"#/components/schemas/Breadcrumb"},"type":"array"},"category":{"description":"The log message category. Category can be a string of choice but typically contain a logging category set by a logging framework like NLog or Serilog.","type":"string"},"code":{"description":"Code can be used to include source code related to the log message. The code will typically span from a few lines before the line causing the log message\r\nto a few lines after. For now, all lines above 21 will be removed. This makes room for showing 10 lines before the logging line, the logging line, and\r\n10 lines after the logging line. Don't include a very large string in this property since that will quickly make the entire messages exceed the max limit\r\nof 256 kb.","type":"string"},"cookies":{"description":"A key/value pair of cookies. This property only makes sense for logging messages related to web requests.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"correlationId":{"description":"CorrelationId can be used to group similar log messages together into a single discoverable batch. A correlation ID could be a session ID from ASP.NET Core,\r\na unique string spanning multiple microsservices handling the same request, or similar.","type":"string"},"data":{"description":"A key/value pair of user-defined fields and their values. When logging an exception, the Data dictionary of\r\nthe exception is copied to this property. You can add additional key/value pairs, by modifying the Data\r\ndictionary on the exception or by supplying additional key/values to this API.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"dateTime":{"description":"The date and time in UTC of the message. If you don't provide us with a value in dateTime, we will set the current date and time in UTC.","format":"date-time","type":"string"},"detail":{"description":"A longer description of the message. For errors this could be a stacktrace, but it's really up to you what to log in there.","type":"string"},"form":{"description":"A key/value pair of form fields and their values. This property makes sense if logging message related to users inputting data in a form.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"hostname":{"description":"The hostname of the server logging the message.","type":"string"},"id":{"description":"The ID of this message.","type":"string"},"method":{"description":"If message relates to a HTTP request, you may send the HTTP method of that request. If you don't provide us with a method, we will try to find a key named REQUEST_METHOD in serverVariables.","type":"string"},"queryString":{"description":"A key/value pair of query string parameters. This property makes sense if logging message related to a HTTP request.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"serverVariables":{"description":"A key/value pair of server values. Server variables are typically related to handling requests in a webserver but could be used for other types of information as well.","items":{"$ref":"#/components/schemas/Item"},"type":"array"},"severity":{"description":"An enum value representing the severity of this message. The following values are allowed: Verbose, Debug, Information, Warning, Error, Fatal","type":"string"},"source":{"description":"The source of the code logging the message. This could be the assembly name.","type":"string"},"statusCode":{"description":"If the message logged relates to a HTTP status code, you can put the code in this property. This would probably only be relevant for errors,\r\nbut could be used for logging successful status codes as well.","format":"int32","type":"integer"},"title":{"description":"The textual title or headline of the message to log.","type":"string"},"titleTemplate":{"description":"The title template of the message to log. This property can be used from logging frameworks that supports\r\nstructured logging like: \"{user} says {quote}\". In the example, titleTemplate will be this string and title\r\nwill be \"Gilfoyle says It's not magic. It's talent and sweat\".","type":"string"},"type":{"description":"The type of message. If logging an error, the type of the exception would go into type but you can put anything in there, that makes sense for your domain.","type":"string"},"url":{"description":"If message relates to a HTTP request, you may send the URL of that request. If you don't provide us with an URL, we will try to find a key named URL in serverVariables.","type":"string"},"user":{"description":"An identification of the user triggering this message. You can put the users email address or your user key into this property.","type":"string"},"version":{"description":"Versions can be used to distinguish messages from different versions of your software. The value of version can be a SemVer compliant string or any other\r\nsyntax that you are using as your version numbering scheme.","type":"string"}},"type":"object"},"MessagesResult":{"properties":{"messages":{"description":"Log messages.","items":{"$ref":"#/components/schemas/MessageOverview"},"type":"array"},"total":{"description":"The total number of log messages found.","format":"int32","type":"integer"}},"type":"object"},"Search":{"properties":{"from":{"description":"Search from this date.","format":"date-time","type":"string"},"query":{"description":"Lucene query.","type":"string"},"to":{"description":"Search to this date.","format":"date-time","type":"string"}},"type":"object"},"UptimeCheck":{"properties":{"id":{"description":"ID of the uptime check.","type":"string"},"name":{"description":"Name of the uptime check.","type":"string"},"status":{"description":"Current status of the uptime check.","type":"string"},"url":{"description":"Url of the uptime check.","type":"string"}},"type":"object"}},"securitySchemes":{"api_key":{"description":"All requests on the elmah.io API needs to include an API key. The API key can be provided as part of the query string or as a request header. The name of the API key needs to be <code>api_key</code>.<br/><br/>Additional resources:<br/><ul><li>[Where is my API key?](https://docs.elmah.io/where-is-my-api-key/)</li><li>[How to configure API key permissions](https://docs.elmah.io/how-to-configure-api-key-permissions/)</li></ul>","in":"query","name":"api_key","type":"apiKey"}}}}