> For the complete documentation index, see [llms.txt](https://api-docs.visadoc.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-docs.visadoc.co/api-reference/applications.md).

# Applications

## Start a visa application after a traveller picks a visa option from an assessment — the point where a check becomes a visa application to fulfill. Note: the assessment and entry-option IDs must match the type the assessment returned (currently numbers, not UUIDs).

> Start a visa application after a traveller picks a visa option from an assessment — the point where a check becomes a visa application to fulfill. Note: the assessment and entry-option IDs must match the type the assessment returned (currently numbers, not UUIDs).\
> \<br />\<br />\
> \<b>Authentication:\</b> required

```json
{"openapi":"3.0.0","info":{"title":"v3","version":"0.0.1"},"servers":[{"url":"https://api.visadoc.co/api:v3"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/applications/new":{"post":{"operationId":"v3/applications/new|POST","summary":"Start a visa application after a traveller picks a visa option from an assessment — the point where a check becomes a visa application to fulfill. Note: the assessment and entry-option IDs must match the type the assessment returned (currently numbers, not UUIDs).","description":"Start a visa application after a traveller picks a visa option from an assessment — the point where a check becomes a visa application to fulfill. Note: the assessment and entry-option IDs must match the type the assessment returned (currently numbers, not UUIDs).\n<br /><br />\n<b>Authentication:</b> required","tags":["applications"],"parameters":[],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"type":"object","description":""}}}},"400":{"description":"Input Error. Check the request payload for issues."},"401":{"description":"Unauthorized"},"403":{"description":"Access denied. Additional privileges are needed access the requested resource."},"404":{"description":"Not Found. The requested resource does not exist."},"429":{"description":"Rate Limited. Too many requests."},"500":{"description":"Unexpected error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"assessment_id":{"type":"string","format":"uuid","description":"Assessment UUID"},"entry_option_id":{"type":"string","format":"uuid","description":"entry_option UUID"},"applicant_id":{"type":"string","format":"uuid","description":""},"access_ids":{"type":"array","items":{"type":"string","format":"uuid","description":""},"minItems":"1","maxItems":"0"}},"required":["assessment_id","entry_option_id","applicant_id","access_ids"]}},"multipart/form-data":{"schema":{"type":"object","properties":{"assessment_id":{"type":"string","format":"uuid","description":"Assessment UUID"},"entry_option_id":{"type":"string","format":"uuid","description":"entry_option UUID"},"applicant_id":{"type":"string","format":"uuid","description":""},"access_ids":{"type":"array","items":{"type":"string","format":"uuid","description":""},"minItems":"1","maxItems":"0"}},"required":["assessment_id","entry_option_id","applicant_id","access_ids"]}}}}}}}}
```

Display all visa application cases in your scope and where each one stands — your main dashboard and work queue. The two fields that drive it are status (the stage a case is at) and payment\_status (paid or not); filter on them to build views like "in progress" or "unpaid", but you can filter by any output value.\
\
Example: status=\["Documents"] shows every case waiting on documents. Returns pages of results.
-----------------------------------------------------------------------------------------------

> Display all visa application cases in your scope and where each one stands — your main dashboard and work queue. The two fields that drive it are status (the stage a case is at) and payment\_status (paid or not); filter on them to build views like "in progress" or "unpaid", but you can filter by any output value.\
> \
> Example: status=\["Documents"] shows every case waiting on documents. Returns pages of results.\
> \<br />\<br />\
> \<b>Authentication:\</b> required

```json
{"openapi":"3.0.0","info":{"title":"v3","version":"0.0.1"},"servers":[{"url":"https://api.visadoc.co/api:v3"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/applications/search":{"post":{"operationId":"v3/applications/search|POST","summary":"Display all visa application cases in your scope and where each one stands — your main dashboard and work queue. The two fields that drive it are status (the stage a case is at) and payment_status (paid or not); filter on them to build views like \"in progress\" or \"unpaid\", but you can filter by any output value.\n\nExample: status=[\"Documents\"] shows every case waiting on documents. Returns pages of results.","description":"Display all visa application cases in your scope and where each one stands — your main dashboard and work queue. The two fields that drive it are status (the stage a case is at) and payment_status (paid or not); filter on them to build views like \"in progress\" or \"unpaid\", but you can filter by any output value.\n\nExample: status=[\"Documents\"] shows every case waiting on documents. Returns pages of results.\n<br /><br />\n<b>Authentication:</b> required","tags":["applications"],"parameters":[],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"type":"object","properties":{"itemsReceived":{"type":"integer","format":"int64","description":""},"curPage":{"type":"integer","format":"int64","description":""},"nextPage":{"type":"integer","format":"int64","description":"","nullable":true},"prevPage":{"type":"integer","format":"int64","description":"","nullable":true},"offset":{"type":"integer","format":"int64","description":""},"itemsTotal":{"type":"integer","format":"int64","description":""},"pageTotal":{"type":"integer","format":"int64","description":""},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":""},"created_at":{"type":"number","format":"timestamptz","description":"","default":"now"},"destination":{"type":"string","description":""},"residency":{"type":"string","description":""},"location":{"type":"string","description":""},"nationality":{"type":"string","description":""},"return_date":{"type":"string","format":"date","description":"","nullable":true},"departure_date":{"type":"string","format":"date","description":"","nullable":true},"requested_activity":{"type":"string","description":""},"reference_number":{"type":"string","description":""},"status":{"type":"string","description":"","enum":["created","draft","New Application","Documents","Profile","Application Form","Submission to Embassy","In Embassy","Decision Made","Border Entry"]},"profile":{"type":"string","format":"uuid","description":"","nullable":true},"visa":{"type":"string","format":"uuid","description":"","nullable":true},"company_id":{"type":"string","format":"uuid","description":"","nullable":true},"assessment":{"type":"string","format":"uuid","description":"","nullable":true},"access_user_id":{"type":"array","items":{"type":"string","format":"uuid","description":""},"nullable":true},"created_by":{"type":"string","format":"uuid","description":"","nullable":true},"assignee_id":{"type":"string","format":"uuid","description":"","nullable":true},"request_access_id":{"type":"array","items":{"type":"string","format":"uuid","description":""},"nullable":true},"payment_link":{"type":"string","description":""},"payment_status":{"type":"string","description":"","enum":["paid","failed","processing"]},"price":{"type":"integer","format":"int64","description":""},"booking_time":{"type":"number","format":"timestamptz","description":"","nullable":true},"embassy_reference_id":{"type":"string","description":""},"business_owner":{"type":"boolean","description":"","default":"false"},"eta_confirmation_number":{"type":"string","description":""},"visa_json":{"type":"object","description":"","nullable":true},"api_user_id":{"type":"string","format":"uuid","description":"","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":""},"created_at":{"type":"integer","format":"int64","description":""},"name":{"type":"string","description":"","nullable":true},"first_name":{"type":"string","description":""},"last_name":{"type":"string","description":""},"email":{"type":"string","description":""},"role":{"type":"string","description":"","enum":["Manager","Applicant","superAdmin","Admin","Sales"]}},"nullable":true}}}}}}}}},"400":{"description":"Input Error. Check the request payload for issues."},"401":{"description":"Unauthorized"},"403":{"description":"Access denied. Additional privileges are needed access the requested resource."},"404":{"description":"Not Found. The requested resource does not exist."},"429":{"description":"Rate Limited. Too many requests."},"500":{"description":"Unexpected error"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"page":{"type":"integer","format":"int64","description":""},"per_page":{"type":"integer","format":"int64","description":"","default":"25"},"filters":{"type":"object","description":"","nullable":true}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"page":{"type":"integer","format":"int64","description":""},"per_page":{"type":"integer","format":"int64","description":"","default":"25"},"filters":{"type":"object","description":"","nullable":true}}}}}}}}}}
```

## Retrieve visa application details. The canonical state of a single case: its current lifecycle status, the traveller, the trip (destination and dates), pricing and payment\_status, and the chosen visa. Use it to render the case-detail screen and to poll progress as the case advances.

> Retrieve visa application details. The canonical state of a single case: its current lifecycle status, the traveller, the trip (destination and dates), pricing and payment\_status, and the chosen visa. Use it to render the case-detail screen and to poll progress as the case advances.\
> \<br />\<br />\
> \<b>Authentication:\</b> required

```json
{"openapi":"3.0.0","info":{"title":"v3","version":"0.0.1"},"servers":[{"url":"https://api.visadoc.co/api:v3"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/applications/{application_id}":{"get":{"operationId":"v3/applications/{application_id}|GET","summary":"Retrieve visa application details. The canonical state of a single case: its current lifecycle status, the traveller, the trip (destination and dates), pricing and payment_status, and the chosen visa. Use it to render the case-detail screen and to poll progress as the case advances.","description":"Retrieve visa application details. The canonical state of a single case: its current lifecycle status, the traveller, the trip (destination and dates), pricing and payment_status, and the chosen visa. Use it to render the case-detail screen and to poll progress as the case advances.\n<br /><br />\n<b>Authentication:</b> required","tags":["applications"],"parameters":[{"name":"application_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success!","content":{"application/json":{"schema":{"type":"object","description":""}}}},"400":{"description":"Input Error. Check the request payload for issues."},"401":{"description":"Unauthorized"},"403":{"description":"Access denied. Additional privileges are needed access the requested resource."},"404":{"description":"Not Found. The requested resource does not exist."},"429":{"description":"Rate Limited. Too many requests."},"500":{"description":"Unexpected error"}}}}}}
```
