Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Remove deprecated endpoint and update new changes

...

URL/api/users
DescriptionCreate a new user
MethodPUT
Content-typeapplication/json
Url Param---
Request Body Data
{
email: xxx,
firstName: xxx,
lastName: xxx,
surveyData: xxx
}
Response


Response BodyCode

{

message: "Password set email has been sent."

}

200

{

message: "Malformatted JSON"

}

400

{

message: "There was a problem sending the password set email. Please try again later."

}

500

{

message: "User already exists!"

}

500


Cookie---

...

URL/api/auth
DescriptionUser login
MethodPOST
Content-typeapplication/json
Url Param--
Request Body Data
{
email: xxx,
password: xxx,
firstName: xxx,
lastName: xxx
}
Response


Response BodyCode

{

loginResponseType: “loginResponseTypeSuccess”,

message: "User successfully authenticated.",

accessToken: xxx,

email: xxx,

firstName: xxx,

lastName: xxx

}

201

{

loginResponseType: "loginResponseTypeInvalidPassword",

message: "Failed login",

displayMessage: "Incorrect email or password."

}

401

{

message: "There was a problem sending the password set email. Please try again later"

}

500

{

loginResponseType: "loginResponseTypePasswordNotSet",

message: "User password has not been set.",

displayMessage: "Please check your email for a link to set your account password."

}



Cookie

---

...

URL/api/users/<email>/resetpassword
DescriptionReset password with given new password
MethodPOST
Url Paramemail: email for the user to reset password
Request Body Data
{
password: xxx
}

Note: password field takes the new password to be reset, not the old password.
Response


Response BodyCode

{

message: "Successfully updated password"

}

200

{

message: "Invalid email address provided"

}

400

{

message: "Unauthorized: you do not have access to reset this user's password"

}

401


Cookie---

...

URL/api/samples/
Description

GET: Fetching all samples created from a user

PUT: Inserting a new sample

Fetching multiple Samples at the same time or Inserting a Sample.    

[Poop Sample Response]

HeaderAPI_KEY, Authorization
Content-typemultipart/form-data
MethodPUT | GET
Url Param

--

Request Body Data

GET

---

PUT
{

sampleData: {

sampleBarcodeID: xxx,

milkBarcodeID:xxx,

surveyData: {...} 

},

image: xxx

}

Note: SampleData should send as form-data text, and the image should be form-data file.

Response

PUT

  • { message: “Sample data recorded!” } - 200: Success
  • { message: "Bad request: no image or sample data" } - 400
  • { message: "Bad request: no sample data"} - 401
  • { message: "Bad request: no barcode ID"} - 402
  • { message: "Bad request: no survey data"} - 403


GET
{ sampleList: [ { id: xxx, dateTime: xxx, surveyData: [xx, xx], image: img, email: xxx},
                          { id: xxx, dateTime: xxx, surveyData: [xx, xx], image: img, email: xxx},
                          {}…..{} ] }
200: Success


{ sample: { id: xxx, dateTime: xxx, hasPict: xxx, hasSurvey: xxx, hasContainer: xxx } }
200: Success
{ message: ”This user does not have access to this sample data” }
403: Unauthorized
{ message: ”No such sample exists” }
404: Resource Not Found{ message: ”This user does not have access to this sample data” }
403: Unauthorized
URL/api/sample/<sample_id>(deprecated)
DescriptionFetching the image of a Specific Sample Response
HeaderAPI_KEY, Authorization
MethodGET
Url Param

sample_id=[string]

Request Body Data

PUT
{ sampleData: xxx, image: xxx}

Note: SampleData should send as form-data text, and the image should be form-data file.

Response


{ message: ”No such sample exists” }
404: Resource Not FoundURL
/api/sample/<barcode_id>
DescriptionFetching a Specific Sample Responsespecific sample with barcode id
HeaderAPI_KEY, Authorization
MethodGET
Url Param

barcode_id=[string]<barcode_id> : ID for the sample to update (string) 

Request Body Data

--

Response

{ sample: { id: xxx, dateTime: xxx, hasPict: xxx, hasSurvey: xxx, hasContainer: xxx } }
200: Success

{ message: ”sample id is invalid” }
400: Invalid


{ message: ”This user does not have access to this sample data” }
403: Unauthorized

{ message: ”No such sample exists” }
404: Resource Not Found

...

URL/api/sample/<barcode_id>/image
DescriptionFetching the image of a Specific Sample Responsespecific sample 
HeaderAPI_KEY, Authorization
MethodGET
Url Param

barcode_id=[string]<barcode_id> : ID for the sample to update (string) 

Request Body Data

--

Response

image/png

200:Succeed


{ message: ”This user does not have access to this sample data” }
403: Unauthorized

{ message: ”No such sample exists” }
404: Resource Not Found

...

URL/api/sample/count_this_week
DescriptionReturn the total number the user uploaded this week
HeaderAPI_KEY, Authorization
MethodGET
Url Param
Request Body Data

--

Response

{ "sampleCount": int } - 200



URL/api/sample/
<sample
<barcode_id>/updatesurvey 
DescriptionUpdate survey for the given sample id
Content-Typemultipart/form-data
HeaderAPI_KEY, Authorization
Method
GETsample_id
PUT
Url Param
Request Body Data

<barcode_id> : ID for the sample to update (string)

Request Body Data

surveyData: list of new survey data

Response

{message: "Bad request: no survey data to update"} - 404

{message: "sample id is invalid"} - 400

{message: "successfully updated survey data"} - 200


URL/api/sample/count_total
DescriptionReturn the total number of samples the user uploaded
HeaderAPI_KEY, Authorization
MethodGET
Url Param--
Request Body Data

--

Response

{ "sampleCount": int } - 200

...