# Docs

## GET /v1/customers/{customerId}/docs/{documentId}

> Get Customer Document

```json
{"openapi":"3.0.3","info":{"title":"Aquanow CAMS REST API","version":"1.0"},"servers":[{"url":"https://cams.aquanow.com/api","description":"production"},{"url":"http://localhost:3001/api","description":"local"},{"url":"https://camsapi-dev.aquanow.com/api","description":"dev"},{"url":"https://camsapi-staging.aquanow.com/api","description":"staging"},{"url":"https://cams.cert.aquanow.com/api","description":"cert"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"responses":{"400":{"description":"Validation Error"},"401":{"description":"Unauthorized"},"403":{"description":"Insufficient Privileges"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"properties":{"id":{"type":"string"}}}}}},"4XX":{"description":"Client error"},"5XX":{"description":"Server error"}}},"paths":{"/v1/customers/{customerId}/docs/{documentId}":{"get":{"summary":"Get Customer Document","tags":["Customers"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"4XX":{"$ref":"#/components/responses/4XX"},"5XX":{"$ref":"#/components/responses/5XX"}},"operationId":"GetCustomerDocumentById"}}}}
```

## Submit documentation to onboard a Customer

> Upload a new document associated with a specific customer using their Customer ID.

```json
{"openapi":"3.0.3","info":{"title":"Aquanow CAMS REST API","version":"1.0"},"servers":[{"url":"https://cams.aquanow.com/api","description":"production"},{"url":"http://localhost:3001/api","description":"local"},{"url":"https://cams.dev.aquanow.com/api","description":"dev"},{"url":"https://cams.staging.aquanow.com/api","description":"staging"},{"url":"https://cams.cert.aquanow.com/api","description":"cert"},{"url":"https://marketdata.aquanow.com","description":"production market data"},{"url":"https://marketdata.staging.aquanow.com","description":"staging market data"},{"url":"https://marketdata.dev.aquanow.com","description":"dev market data"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"DocumentType":{"type":"string","enum":["PASSPORT","NATIONAL_ID_FRONT","NATIONAL_ID_BACK"]},"DocumentFormat":{"type":"string","enum":["PDF","JPG","PNG","JSON","JFIF"]},"CustomerStatus":{"type":"string","enum":["ONBOARDING","ACTIVE","INACTIVE","ONBOARDING_FAILED"]},"OnboardingStatus":{"type":"string","enum":["PENDING_DOCUMENTATION_RECEIPT","PROCESSING","FAILED","UNDER_REVIEW","ONBOARDED","OFFBOARDED"]},"Documents":{"title":"Documents","type":"array","description":"Customer documents","items":{"type":"object","properties":{"documentType":{"type":"string","enum":["PASSPORT","NATIONAL_ID_FRONT","NATIONAL_ID_BACK"]},"documentStatus":{"$ref":"#/components/schemas/DocumentStatus"}}}},"DocumentStatus":{"type":"string","enum":["PENDING_RECEIPT","VERIFIED","UNREADABLE","INVALID","MISMATCH","PENDING_RESUBMISSION","NOT_APPLICABLE"]}},"responses":{"400":{"description":"Validation Error"},"401":{"description":"Unauthorized"},"403":{"description":"Insufficient Privileges"},"4XX":{"description":"Client error"},"5XX":{"description":"Server error"}}},"paths":{"/v1/customers/{customerId}/docs":{"post":{"summary":"Submit documentation to onboard a Customer","description":"Upload a new document associated with a specific customer using their Customer ID.","tags":["Customers"],"parameters":[{"name":"customerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"The customer ID of the customer"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["documentType","documentFormat","file"],"properties":{"documentType":{"$ref":"#/components/schemas/DocumentType"},"documentFormat":{"$ref":"#/components/schemas/DocumentFormat"},"file":{"type":"string","format":"binary","description":"The document file to be uploaded, maximum size of 10MB"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"customerStatus":{"$ref":"#/components/schemas/CustomerStatus"},"onboardingStatus":{"$ref":"#/components/schemas/OnboardingStatus"},"documents":{"$ref":"#/components/schemas/Documents"}}}}}},"202":{"description":"Accepted"},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"413":{"description":"Payload too large"},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"},"documentStatus":{"type":"string","enum":["EXPIRED","UNREADABLE","INVALID","MISMATCH"]}}}}}},"4XX":{"$ref":"#/components/responses/4XX"},"5XX":{"$ref":"#/components/responses/5XX"}},"operationId":"SubmitCustomerDocs"}}}}
```

## Resubmit documentation to onboard a Customer

> Resubmit documentation to onboard a Customer

```json
{"openapi":"3.0.3","info":{"title":"Aquanow CAMS REST API","version":"1.0"},"servers":[{"url":"https://cams.aquanow.com/api","description":"production"},{"url":"http://localhost:3001/api","description":"local"},{"url":"https://cams.dev.aquanow.com/api","description":"dev"},{"url":"https://cams.staging.aquanow.com/api","description":"staging"},{"url":"https://cams.cert.aquanow.com/api","description":"cert"},{"url":"https://marketdata.aquanow.com","description":"production market data"},{"url":"https://marketdata.staging.aquanow.com","description":"staging market data"},{"url":"https://marketdata.dev.aquanow.com","description":"dev market data"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer"}},"schemas":{"DocumentType":{"type":"string","enum":["PASSPORT","NATIONAL_ID_FRONT","NATIONAL_ID_BACK"]},"DocumentFormat":{"type":"string","enum":["PDF","JPG","PNG","JSON","JFIF"]},"CustomerStatus":{"type":"string","enum":["ONBOARDING","ACTIVE","INACTIVE","ONBOARDING_FAILED"]},"OnboardingStatus":{"type":"string","enum":["PENDING_DOCUMENTATION_RECEIPT","PROCESSING","FAILED","UNDER_REVIEW","ONBOARDED","OFFBOARDED"]},"Documents":{"title":"Documents","type":"array","description":"Customer documents","items":{"type":"object","properties":{"documentType":{"type":"string","enum":["PASSPORT","NATIONAL_ID_FRONT","NATIONAL_ID_BACK"]},"documentStatus":{"$ref":"#/components/schemas/DocumentStatus"}}}},"DocumentStatus":{"type":"string","enum":["PENDING_RECEIPT","VERIFIED","UNREADABLE","INVALID","MISMATCH","PENDING_RESUBMISSION","NOT_APPLICABLE"]}},"responses":{"400":{"description":"Validation Error"},"401":{"description":"Unauthorized"},"403":{"description":"Insufficient Privileges"},"4XX":{"description":"Client error"},"5XX":{"description":"Server error"}}},"paths":{"/v1/customers/{customerId}/docs":{"put":{"summary":"Resubmit documentation to onboard a Customer","description":"Resubmit documentation to onboard a Customer","tags":["Customers"],"parameters":[{"name":"customerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"The customer ID of the customer"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["documentType","documentFormat","file"],"properties":{"documentType":{"$ref":"#/components/schemas/DocumentType"},"documentFormat":{"$ref":"#/components/schemas/DocumentFormat"},"file":{"type":"string","format":"binary","description":"The document file to be uploaded, maximum size of 2MB"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","format":"uuid"},"customerStatus":{"$ref":"#/components/schemas/CustomerStatus"},"onboardingStatus":{"$ref":"#/components/schemas/OnboardingStatus"},"documents":{"$ref":"#/components/schemas/Documents"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"413":{"description":"Payload too large"},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"},"documentStatus":{"type":"string","enum":["EXPIRED","UNREADABLE","INVALID","MISMATCH"]}}}}}},"4XX":{"$ref":"#/components/responses/4XX"},"5XX":{"$ref":"#/components/responses/5XX"}},"operationId":"ResubmitCustomerDocs"}}}}
```
