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.
39 Curl CURLE_LDAP_SEARCH_FAILED  LDAP search 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.
72 Curl CURLE_TFTP_UNKNOWNID  Unknown TFTP transfer ID.
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.
91 Curl CURLE_SSL_INVALIDCERTSTATUS  Status returned failure when asked with CURLOPT_SSL_VERIFYSTATUS.
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