HTTP Status Codes
The FamilySearch API makes full use of existing standards for HTTP status codes. The following table contains explanations of what the status codes mean in the context of the FamilySearch API.
Status | Message | Example Request | Description |
---|---|---|---|
200 | OK | Read Person | The request was successful. This is usually returned when making a simple GET request. |
201 | Created | Person Create | A new resource was successfully created, such as a person, relationship, or source. |
204 | No Content | Update Person Conclusion | The request was successful but nothing was created and nothing was available to return. This occurs when updating a resource (such as a person) or when asking for a list of resources that is empty (no search results or no relationships). |
301 | Moved Permanently | Merge Person | The requested resource was merged into another resource. When this occurs, a Location header and a X-Entity-Forwarded-Id header that point to the new resource will be provided. |
303 | See Other | Read Current User Person | A resource was requested that always forwards to an another resource, such as Current User Person and Preferred Spouse Relationship. |
304 | Not Modified | Caching The Person | This is provided as the result of a successful conditional GET. |
307 | Temporary Redirect | Person Portait | This is provided as the result of a successful GET to a resource that has an alternative URL. |
400 | Bad Request | Search Persons With Warnings and Errors | An invalid request was made. A Warning header is usually returned to explain what went wrong. Common causes are malformed XML or JSON, correctly formatted XML or JSON with incorrect data (such as a date with no original value), or an incorrectly formatted search or match query. |
401 | Unauthorized | The user is not properly authenticated. Either the access token was not sent or the token has expired. | |
403 | Forbidden | A resource was requested that the user does not have permission to access. | |
404 | Not Found | Read Not Found Person | A resource was requested that does not exist. You may have an incorrect URI or are requesting a resource that was deleted. This may also be provided when requesting notes, sources, or discussions for a person who is living. |
404 | Not Found on Accelerator | The request was not understood by the networking and routing infrastructure. It is usually caused by improper or unusual formatting of HTTP headers. Please contact developer support to help resolve the issue. | |
405 | Method Not Allowed | The HTTP method being used (such as GET or POST) is not supported by the resource. Review the docs for the resource to see which methods are allowed. | |
406 | Not Acceptable | An invalid content type is being used in the Accept header. Review the valid list of content types in the resource's documentation. | |
409 | Conflict | This is returned when attempting to create a relationship that already exists, a conclusion that already exists, or if an attempt is made to update the same resource at the same time as somebody else and the other update was applied first. | |
410 | Gone | Read Deleted Person | The resource you are requesting or operating on has been deleted. In the case of GET requests, the resource is still provided in the body of the request. |
412 | Precondition Failed | The server wasn't able to fulfill the precondition given in one or more of the request-header fields. | |
415 | Unsupported Media Type | You specified an invalid data format (media type) in the Content-Type header. | |
417 | Expectation Failed | The server wasn't able to fulfill the expectation provided by the Expect header. Probably a bug; report the error. | |
429 | Too Many Requests | The user is being rate limited because the user has used too much processing time recently. | |
500 | Internal Server Error | An unexpected error occurred on the server-side. FamilySearch monitors server logs and addresses all identified issues, but we encourage you to report the error. | |
503 | Service Unavailable | A needed service is unavailable. FamilySearch monitors server logs and addresses all identified issues, but we encourage you to report the error. | |
504 | Gateway Timeout | A request to a needed service failed to respond within a specified time period. Report the error if the 504 persists for a specific resource for longer than an hour. |
Updated about 2 months ago