api with documentation