Error Codes – cURL / HTTP / OpenADR Compliance

Error Code Type Name Description
0 cURL CURLE_OK All fine. Proceed as usual.
1 cURL CURLE_UNSUPPORTED_PROTOCOL The URL you passed to libcurl used a protocol that this libcurl does not support. The support might be a compile-time option that you didn’t use, it can be a misspelled protocol string or just a protocol libcurl has no code for.
2 cURL CURLE_FAILED_INIT Very early initialization code failed. This is likely to be an internal error or problem, or a resource problem where something fundamental couldn’t get done at init time.
3 cURL CURLE_URL_MALFORMAT The URL was not properly formatted.
4 cURL CURLE_NOT_BUILT_IN A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision. This means that a feature or option was not enabled or explicitly disabled when libcurl was built and in order to get it to function you have to get a rebuilt libcurl.
5 cURL CURLE_COULDNT_RESOLVE_PROXY Couldn’t resolve proxy. The given proxy host could not be resolved.
6 cURL CURLE_COULDNT_RESOLVE_HOST Couldn’t resolve host. The given remote host was not resolved.
7 cURL CURLE_COULDNT_CONNECT Failed to connect() to host or proxy.
8 cURL CURLE_FTP_WEIRD_SERVER_REPLY After connecting to a FTP server, libcurl expects to get a certain reply back. This error code implies that it got a strange or bad reply. The given remote server is probably not an OK FTP server.
9 cURL CURLE_REMOTE_ACCESS_DENIED We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory.
10 cURL CURLE_FTP_ACCEPT_FAILED While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar.
11 cURL CURLE_FTP_WEIRD_PASS_REPLY After having sent the FTP password to the server, libcurl expects a proper reply. This error code indicates that an unexpected code was returned.
12 cURL CURLE_FTP_ACCEPT_TIMEOUT During an active FTP session while waiting for the server to connect, theCURLOPT_ACCEPTTIMEOUT_MS (or the internal default) timeout expired.
13 cURL CURLE_FTP_WEIRD_PASV_REPLY libcurl failed to get a sensible result back from the server as a response to either a PASV or a EPSV command. The server is flawed.
14 cURL CURLE_FTP_WEIRD_227_FORMAT ( FTP servers return a 227-line as a response to a PASV command. If libcurl fails to parse that line, this return code is passed back.
15 cURL CURLE_FTP_CANT_GET_HOST An internal failure to lookup the host used for the new connection.
16 cURL CURLE_HTTP2 A problem was detected in the HTTP2 framing layer. This is somewhat generic and can be one out of several problems, see the error buffer for details.
17 cURL CURLE_FTP_COULDNT_SET_TYPE Received an error when trying to set the transfer mode to binary or ASCII.
18 cURL CURLE_PARTIAL_FILE A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn’t match the previously given size.
19 cURL CURLE_FTP_COULDNT_RETR_FILE This was either a weird reply to a ‘RETR’ command or a zero byte transfer complete.
21 cURL CURLE_QUOTE_ERROR When sending custom “QUOTE” commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command.
22 cURL CURLE_HTTP_RETURNED_ERROR This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server returns an error code that is >= 400.
23 cURL CURLE_WRITE_ERROR An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback.
25 cURL CURLE_UPLOAD_FAILED Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server’s explanation for this.
26 cURL CURLE_READ_ERROR There was a problem reading a local file or an error returned by the read callback.
27 cURL CURLE_OUT_OF_MEMORY A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occurs.
28 cURL CURLE_OPERATION_TIMEDOUT Operation timeout. The specified time-out period was reached according to the conditions.
30 cURL CURLE_FTP_PORT_FAILED The FTP PORT command returned error. This mostly happens when you haven’t specified a good enough address for libcurl to use. See CURLOPT_FTPPORT.
31 cURL CURLE_FTP_COULDNT_USE_REST The FTP REST command returned error. This should never happen if the server is sane.
33 cURL CURLE_RANGE_ERROR The server does not support or accept range requests.
34 cURL CURLE_HTTP_POST_ERROR This is an odd error that mainly occurs due to internal confusion.
35 cURL CURLE_SSL_CONNECT_ERROR A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others.
36 cURL CURLE_BAD_DOWNLOAD_RESUME The download could not be resumed because the specified offset was out of the file boundary.
37 cURL CURLE_FILE_COULDNT_READ_FILE A file given with FILE:// couldn’t be opened. Most likely because the file path doesn’t identify an existing file. Did you check file permissions?
38 cURL CURLE_LDAP_CANNOT_BIND LDAP cannot bind. LDAP bind operation failed.
41 cURL CURLE_FUNCTION_NOT_FOUND Function not found. A required zlib function was not found.
42 cURL CURLE_ABORTED_BY_CALLBACK Aborted by callback. A callback returned “abort” to libcurl.
43 cURL CURLE_BAD_FUNCTION_ARGUMENT Internal error. A function was called with a bad parameter.
45 cURL CURLE_INTERFACE_FAILED Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections’ source IP address with CURLOPT_INTERFACE.
47 cURL CURLE_TOO_MANY_REDIRECTS Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit withCURLOPT_MAXREDIRS.
48 cURL CURLE_UNKNOWN_OPTION An option passed to libcurl is not recognized/known. Refer to the appropriate documentation. This is most likely a problem in the program that uses libcurl. The error buffer might contain more specific information about which exact option it concerns.
49 cURL CURLE_TELNET_OPTION_SYNTAX A telnet option string was Illegally formatted.
51 cURL CURLE_PEER_FAILED_VERIFICATION The remote server’s SSL certificate or SSH md5 fingerprint was deemed not OK.
52 cURL CURLE_GOT_NOTHING Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.
53 cURL CURLE_SSL_ENGINE_NOTFOUND The specified crypto engine wasn’t found.
54 cURL CURLE_SSL_ENGINE_SETFAILED Failed setting the selected SSL crypto engine as default!
55 cURL CURLE_SEND_ERROR Failed sending network data.
56 cURL CURLE_RECV_ERROR Failure with receiving network data.
58 cURL CURLE_SSL_CERTPROBLEM problem with the local client certificate.
59 cURL CURLE_SSL_CIPHER Couldn’t use specified cipher.
60 cURL CURLE_SSL_CACERT Peer certificate cannot be authenticated with known CA certificates.
61 cURL CURLE_BAD_CONTENT_ENCODING Unrecognized transfer encoding.
63 cURL CURLE_FILESIZE_EXCEEDED Maximum file size exceeded.
64 cURL CURLE_USE_SSL_FAILED Requested FTP SSL level failed.
65 cURL CURLE_SEND_FAIL_REWIND When doing a send operation curl had to rewind the data to retransmit, but the rewinding operation failed.
66 cURL CURLE_SSL_ENGINE_INITFAILED Initiating the SSL Engine failed.
67 cURL CURLE_LOGIN_DENIED The remote server denied curl to login (Added in 7.13.1)
68 cURL CURLE_TFTP_NOTFOUND File not found on TFTP server.
69 cURL CURLE_TFTP_PERM Permission problem on TFTP server.
70 cURL CURLE_REMOTE_DISK_FULL Out of disk space on the server.
71 cURL CURLE_TFTP_ILLEGAL Illegal TFTP operation.
73 cURL CURLE_REMOTE_FILE_EXISTS File already exists and will not be overwritten.
74 cURL CURLE_TFTP_NOSUCHUSER This error should never be returned by a properly functioning TFTP server.
75 cURL CURLE_CONV_FAILED Character conversion failed.
76 cURL CURLE_CONV_REQD Caller must register conversion callbacks.
77 cURL CURLE_SSL_CACERT_BADFILE Problem with reading the SSL CA cert (path? access rights?)
78 cURL CURLE_REMOTE_FILE_NOT_FOUND The resource referenced in the URL does not exist.
79 cURL CURLE_SSH An unspecified error occurred during the SSH session.
80 cURL CURLE_SSL_SHUTDOWN_FAILED Failed to shut down the SSL connection.
81 cURL CURLE_AGAIN Socket is not ready for send/recv wait till it’s ready and try again. This return code is only returned fromcurl_easy_recv and curl_easy_send (Added in 7.18.2)
82 cURL CURLE_SSL_CRL_BADFILE Failed to load CRL file (Added in 7.19.0)
83 cURL CURLE_SSL_ISSUER_ERROR Issuer check failed (Added in 7.19.0)
84 cURL CURLE_FTP_PRET_FAILED The FTP server does not understand the PRET command at all or does not support the given argument. Be careful when using CURLOPT_CUSTOMREQUEST, a custom LIST command will be sent with PRET CMD before PASV as well. (Added in 7.20.0)
85 cURL CURLE_RTSP_CSEQ_ERROR Mismatch of RTSP CSeq numbers.
86 cURL CURLE_RTSP_SESSION_ERROR Mismatch of RTSP Session Identifiers.
87 cURL CURLE_FTP_BAD_FILE_LIST Unable to parse FTP file list (during FTP wildcard downloading).
88 cURL CURLE_CHUNK_FAILED Chunk callback reported error.
89 cURL CURLE_NO_CONNECTION_AVAILABLE (For internal use only, will never be returned by libcurl) No connection available, the session will be queued. (added in 7.30.0)
90 cURL CURLE_SSL_PINNEDPUBKEYNOTMATCH Failed to match the pinned key specified with CURLOPT_PINNEDPUBLICKEY.
200 HTTP Response Code OK Any response that the endpoint was able to handle completely and send a valid OpenADR response payload. This includes responses that may indicate an error at the application level (e.g., ‘you gave me an invalid event ID.’) Errors that indicate a failure at the transport level are handled by the transport-level HTTP error Codes:
404 HTTP Response Code Not Found The VEN or VTN does not support the requested operation. The requestor must not re-send the request.
406 HTTP Response Code Not Acceptable If a payload is sent that does not validate against the EI scema, or if a request content-type is unsupported. The requestor must not re-send the request without first modifying it.
500 HTTP Response Code Internal Servor Error Undefined or unexpected servor error. The requestor may retry the request after a quiesce period.
501 HTTP Response Code Not Implemented If any request is made with an unsupported HTTP method. The requestor must not re-send the request without fixing the HTTP method
503 HTTP Response Code Service Unavailable indicates that the server is temporarily unavailable, possibly due to inability to handle the current request load. This error in particular must indicate to the requestor that it must execute quiesce logic in order to not put further strain on the server. The requestor must retry the request after the proper quiesce period.
450 Compliance Error Code Out Of Sequence (event ordering, uid ordering, modification number sequencing)
451 Compliance Error Code Not allowed (changing an event in the past)
452 Compliance Error Code Invalid ID (eventID, optID, requestID, registrationID, etc.)
453 Compliance Error Code Not recognized (reportName, signalName, etc.)
454 Compliance Error Code Invalid Data (out of range signal or report data)
459 Compliance Error Code Compliance Error- Other
460 Deployment Error Signal Not Supported (recognized, but not supported)
461 Deployment Error Report Not Supported (recognized, but not supported)
462 Deployment Error Target Mismatch (cannot resolve target/market context to VEN or its resources)
463 Deployment Error Not Registered/Authorized
469 Deployment Error Deployment Error-Other