## VideoID External mode overview In **External mode** VideoID, digital evidence is collected on your side and uploaded to the One-Shot API. You create a VideoID request, then upload **evidences** (data + images + OCR + security checks) and the **video** file. When all evidence is uploaded, the request status becomes `VIDEOREVIEW`. An RAO approves the request; then the flow continues as in [eIDAS VideoID](/products/namirialpkiaas/one-shot/enterprise-documentation/products-and-modules/workflows/videoid-eidas) (upload documents, contract, OTP, sign, retrieve). Partial upload sets status to `VIDEOINCOMPLETE`; upload failure can set `VIDEOERROR`. ## Steps 1. **Create a new VideoID signature request** Call [Create Videoid](/products/namirialpkiaas/one-shot/openapi#operation/call_create_videoid_api_v1_videoid_post) (`POST /oneshot/api/v1/videoid`) with JSON: `mobile_phone_number`, `email`, `registration_authority`, `profile` (e.g. `PFnubeQAFCiudadano`). Response returns `videoid_link` (or similar id) and `request_pk`. Request is in `VIDEOPENDING`. 2. **Upload data and video** - **Evidences**: [Upload Videoid Evidences](/products/namirialpkiaas/one-shot/openapi#operation/call_upload_videoid_evidences_api_v1_videoid__videoid_pk__evidences_post) (`POST /oneshot/api/v1/videoid/{videoid_pk}/evidences`) with JSON body containing: - `acceptance`: e.g. terms and conditions acceptance, IP, user-agent, URLs, date. - `videoid_data`: `images` (e.g. document_front, document_rear, document_photo, document_owner as base64), `ocr_data` (given_name, surname_1, surname_2, mobile_phone_number, email, serial_number, id_document_type, id_document_country, etc.), `security_checks` (e.g. otp_validation, documents_match, liveliness), `similarity_level`. - **Video**: [Upload Videoid Video](/products/namirialpkiaas/one-shot/openapi#operation/call_upload_videoid_video_api_v1_videoid__videoid_pk__video_post) (`POST /oneshot/api/v1/videoid/{videoid_pk}/video`) with `multipart/form-data` and `video=@sample_video.mp4`. When all required evidence and video are uploaded, status becomes `VIDEOREVIEW`. To retrieve the uploaded video, use [Download Videoid Video](/products/namirialpkiaas/one-shot/openapi#operation/call_download_videoid_video_api_v1_videoid__videoid_pk__video_get) (see [API reference](/products/namirialpkiaas/one-shot/openapi)). 3. **Request approval** Call [Approve Videoid](/products/namirialpkiaas/one-shot/openapi#operation/call_approve_videoid_api_v1_videoid__videoid_pk__approve_post) (or the approve endpoint indicated in the API for this flow) with RAO credentials or token. Status becomes `ENROLLREADY`. To reject, use [Refuse Videoid](/products/namirialpkiaas/one-shot/openapi#operation/call_refuse_videoid_api_v1_videoid__videoid_pk__refuse_post). 4. **Upload documents** — [Upload Document](/products/namirialpkiaas/one-shot/openapi#operation/call_upload_document_api_v1_document__request_pk__post) (`POST /oneshot/api/v1/document/{request_pk}`) with file(s). 5. **Retrieve service contract** — [Get Request Contract](/products/namirialpkiaas/one-shot/openapi#operation/call_get_request_contract_api_v1_contract__request_pk__get) (`GET /oneshot/api/v1/contract/{request_pk}`). 6. **Generate OTP (Uanataca SMS only)** — [Generate OTP](/products/namirialpkiaas/one-shot/openapi#operation/call_generate_otp_api_v1_otp__request_pk__post) (`POST /oneshot/api/v1/otp/{request_pk}`). 7. **Sign the document** — [Sign](/products/namirialpkiaas/one-shot/openapi#operation/call_sign_api_v1_sign__request_pk__post) (`POST /oneshot/api/v1/sign/{request_pk}`) with `secret` or `ext_unlock_type`/`ext_unlock_value`. 8. **Retrieve signed document** — [Get Document](/products/namirialpkiaas/one-shot/openapi#operation/call_get_document_api_v1_document__request_pk___document_uid__get) (`GET /oneshot/api/v1/document/{request_pk}/signed/{document_uid}`). 9. **Delete documents from the Optimizer** — [Delete Document](/products/namirialpkiaas/one-shot/openapi#operation/call_delete_document_api_v1_document__request_pk___document_uid__delete) (`DELETE /oneshot/api/v1/document/{request_pk}/{document_uid}`). Back up any file you need before deleting. ## Data objects in detail - **acceptance**: Client acceptance parameters (terms, privacy policy, IP, URL, user-agent, date). Customizable JSON. - **videoid_data.images**: Pictures of the ID document and face selfie (base64). - **videoid_data.ocr_data**: Text extracted from the ID (OCR). - **videoid_data.security_checks**: Validation flags (e.g. underage, match, liveness). - **videoid_data.similarity_level**: Similarity between document photo and selfie (e.g. 0–100 or "high"). See the [API reference](/products/namirialpkiaas/one-shot/enterprise-documentation/developer-documentation/api/api-reference) for the exact field names and formats. ## Related documentation - [Workflows overview](/products/namirialpkiaas/one-shot/enterprise-documentation/products-and-modules/workflows/overview) - [eIDAS VideoID](/products/namirialpkiaas/one-shot/enterprise-documentation/products-and-modules/workflows/videoid-eidas) — When the user identifies on Uanataca's VideoID link - [Webhooks](/products/namirialpkiaas/one-shot/enterprise-documentation/developer-documentation/callbacks/webhooks) - [API reference](/products/namirialpkiaas/one-shot/openapi)