Standard request errors are:
- Authentication: The system could not authenticate the user and/or group in the request.
- Authorization: The requester is not authorized to perform the action, or access one or more of the DOIs in the request
- RegistryReadOnly: The Registry is in read-only mode. If the primary system goes down, the mirror systems are still available for reading. Certain system administration tasks (synchronization with a backup, bulk export, etc.) may also have this result.
- SystemError: The Registry is unable to deal with the request for some internal reason.
- InvalidRequest: The request URL is invalid, or contains unrecognized or invalid HTTP headers, or contains unrecognized or invalid information.
- BadDOI: The request contains a DOI that is syntactically correct but has an invalid checksum or is not recognized by the system. Syntactically malformed DOIs generate a SyntaxError. The bad DOI is included as a detail.
- SyntaxError: The XML in the request does not pass schema validation.
- ValidationError: The XML in the request is syntactically correct but fails other validation rules, or the request would result in an object that violates the validation rules, or the object passed in is inappropriate for the call. The detail field can be:
- IncompatibleCreationTypes: A call to GetModificationBase() failed because metadata needed for the requested type is not present on the object.
- NotRemovable: Returned on failed attempt to remove a relationship. This can occur either when the relationship does not exist, or when its removal would result in an invalid object or hierarchy.
- AliasNotAllowed: An aliased DOI was passed to a function that does not accept aliases.
- IncompatibleAliasTarget: A DOI is being aliased to an incompatible object.
- NotInDev: The call failed because an attempt was made to promote an object that was not in the InDev state. Also includes the offending DOI as a detail. See Promote().
Other common errors are:
- BadToken: The token sent to GetStatus() was not recognized.
- BadQuery: The query string was malformed.
- NoParent: The object sent to GetParent() is itself the root of the tree.
- NoChildren: The object sent to GetChildren() is itself a leaf of the tree.
- ResultTooLong: A result was too large to fit in a HTTP response. This can be caused by requesting too large a page size in queries (generally > 100).
- BadParty: The Party ID submitted as part of a request was invalid.
- BadUser: The User ID submitted as part of a request was invalid.
For more information on EIDR error codes, see “Error Types” in the EIDR Registry Technical Overview and “Codes and Descriptions” in the EIDR HTTP API Reference.