{"note":"OpenAPI conversion -- returning structured metadata","name":"elmah-io","description":"elmah.io API","version":"v3","base_url":"","endpoints":24,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api elmah.io API\n@version v3\n@auth ApiKey api_key in query\n@endpoints 24\n@hint download_for_search\n@toc deployments(4), heartbeats(1), installations(1), logs(7), messages(9), sourcemaps(1), uptimechecks(1)\n\n@group deployments\n@endpoint GET /v3/deployments\n@desc Fetch a list of deployments.\n@returns(200) Request for deployments successful.\n@errors {401: API key not valid or no access to resource., 402: Tried to call the deployment API without deployment tracking enabled or trial expired., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/deployments\n@desc Create a new deployment.\n@optional {body: map # The deployment object to create.}\n@returns(201) Deployment was created.\n@errors {400: Model not valid., 401: API key not valid or no access to resource., 402: Tried to call the deployment API without deployment tracking enabled or trial expired., 404: Specified log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint GET /v3/deployments/{id}\n@desc Fetch a deployment by its ID.\n@required {id: any # The ID of the deployment to fetch.}\n@returns(200) Request for deployment successful.\n@errors {400: Id not specified., 401: API key not valid or no access to resource., 402: Deployment with specified id not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint DELETE /v3/deployments/{id}\n@desc Delete a deployment by its ID.\n@required {id: any # The ID of the deployment to delete.}\n@returns(204) Deployment was deleted.\n@errors {400: Id not specified., 401: API key not valid or no access to resource., 402: Tried to call the deployment API without deployment tracking enabled or trial expired., 404: Deployment with specified id not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endgroup\n\n@group heartbeats\n@endpoint POST /v3/heartbeats/{logId}/{id}\n@desc Create a new heartbeat.\n@required {id: any # The ID of the heartbeat check., logId: any # The ID of the log containing the heartbeat check.}\n@optional {body: map # The details of the heartbeat.}\n@returns(200) Heartbeat was created.\n@errors {400: Model not valid., 401: API key not valid or no access to resource., 402: Tried to call the heartbeats API without heartbeats enabled or trial expired., 404: The specified log or heartbeat was not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endgroup\n\n@group installations\n@endpoint POST /v3/installations/{logId}\n@desc Create a new installation.\n@required {logId: any # The ID of the log containing the installation.}\n@optional {body: map # The installation object to create.}\n@returns(200) Installation was created.\n@errors {400: Model not valid., 401: API key not valid or no access to resource., 404: Specified log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endgroup\n\n@group logs\n@endpoint GET /v3/logs\n@desc Fetch a list of logs.\n@returns(200) Request for logs successful.\n@errors {401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/logs\n@desc Create a new log.\n@optional {body: map # The log object to create.}\n@returns(201) Log where successfully created.\n@errors {400: Something wrong with the parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint GET /v3/logs/{id}\n@desc Fetch a log by its ID.\n@required {id: any # The ID of the log to fetch.}\n@returns(200) Request for log successful.\n@errors {401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint DELETE /v3/logs/{id}\n@desc Delete a log by its ID.\n@required {id: any # The ID of the log to delete.}\n@returns(204) Log was deleted.\n@errors {400: Id not specified., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 409: Log contains data and cannot be deleted., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/logs/{id}/_disable\n@desc Disable a log by its ID.\n@required {id: any # The ID of the log to disable.}\n@returns(200) Log was disabled.\n@errors {401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/logs/{id}/_enable\n@desc Enable a log by its ID.\n@required {id: any # The ID of the log to enable.}\n@returns(200) Log was enabled.\n@errors {401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint GET /v3/logs/{id}/_diagnose\n@desc Help diagnose logging problems.\n@required {id: any # The ID of the log to diagnose.}\n@returns(200) Log was diagnosed.\n@errors {401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endgroup\n\n@group messages\n@endpoint GET /v3/messages/{logId}\n@desc Fetch messages from a log.\n@required {logId: any # The ID of the log containing the messages.}\n@optional {pageIndex: any # The page number of the result. When using pageIndex and pageSize only 10,000 messages can be returned. For example, if setting pageSize to 100 and pageIndex to 100, no log messages will be returned. To request more than 10,000 log messages you should use the searchAfter property instead., pageSize: any # The number of messages to load (max 100) or 15 if not set., query: any # A full-text or Lucene query to limit the messages by., from: any # A start date and time to search from (not included)., to: any # An end date and time to search to (not included)., includeHeaders: any # Include headers like server variables and cookies in the result (slower)., searchAfter: any # Search after is an alternative to using pageIndex that will let you get more than 10,000 messages. Each search result contains a searchAfter property that should be set on future requests to continue from the end of the previous request, but only until the returned list of log messages is empty. When using searchAfter any value in the pageIndex property will be ignored.}\n@returns(200) Log found and may contain messages.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint DELETE /v3/messages/{logId}\n@desc Deletes a list of messages by logid and query.\n@required {logId: any # The ID of the log containing the message.}\n@optional {body: map # A search object containing query, time filters etc.}\n@returns(200) Messages where deleted.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/messages/{logId}\n@desc Create a new message.\n@required {logId: any # The ID of the log which should contain the new message.}\n@optional {body: map # The message object to create.}\n@returns(200) Message was not created.\n@returns(201) Message was successfully created.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 413: Message too large. Messages must not exceed 256 kb. As additional information, some fields are trimmed down when processed on the backend., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint GET /v3/messages/{logId}/{id}\n@desc Fetch a message by its ID.\n@required {id: any # The ID of the message to fetch., logId: any # The ID of the log containing the message.}\n@returns(200) Message found.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Message not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint DELETE /v3/messages/{logId}/{id}\n@desc Delete a message by its ID.\n@required {id: any # The ID of the message to delete., logId: any # The ID of the log containing the message.}\n@returns(200) Message where deleted.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log or message not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/messages/{logId}/_fix\n@desc Mark a list of messages as fixed by logid and query.\n@required {logId: any # The ID of the log containing the messages.}\n@optional {body: map # A search object containing query, time filters etc.}\n@returns(200) Messages where marked as fixed.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/messages/{logId}/{id}/_hide\n@desc Hide a message by its ID.\n@required {id: any # The ID of the message to hide., logId: any # The ID of the log containing the message.}\n@returns(200) Message was hidden.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Message not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/messages/{logId}/{id}/_fix\n@desc Fix a message by its ID.\n@required {id: any # The ID of the message to fix., logId: any # The ID of the log containing the message.}\n@optional {markAllAsFixed: any # If set to true, all instances of the log message are set to fixed.}\n@returns(200) Message was fixed.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Message not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endpoint POST /v3/messages/{logId}/_bulk\n@desc Create one or more new messages.\n@required {logId: any # The ID of the log which should contain the new messages.}\n@optional {body: [map] # The messages to create.}\n@returns(200) Zero or more messages where successfully created. Check the response body for details.\n@errors {400: Something wrong with the query parameters., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endgroup\n\n@group sourcemaps\n@endpoint POST /v3/sourcemaps/{logId}\n@desc Create or update a translation between a minified JavaScript path to the minified JavaScript and source map files.\n@required {logId: any # The ID of the log which should contain the minified JavaScript and source map., Path: any # 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 elmah.io uses this path to lookup any lines in a JS stack trace that will need de-minification., SourceMap: any # The source map file. Only files with an extension of .map and content type of application/json will be accepted., MinifiedJavaScript: any # The minified JavaScript file. Only files with an extension of .js and content type of text/javascript will be accepted.}\n@returns(200) Source map was successfully created.\n@errors {400: Something wrong with the query parameters or form., 401: API key not valid or no access to resource., 402: Tried to call the logs API but the trial expired., 404: Log not found., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endgroup\n\n@group uptimechecks\n@endpoint GET /v3/uptimechecks\n@desc Fetch a list of uptime checks. Currently in closed beta. Get in contact to get access to this endpoint.\n@returns(200) Request for uptime checks successful.\n@errors {401: API key not valid or no access to resource., 402: Tried to call the uptime checks API but the trial expired., 429: A maximum of 500 requests per minute and 3600 requests per hour are permitted}\n\n@endgroup\n\n@end\n"}