Vista previa: estas API aún se están diseñando y todavía no están disponibles.
Ir al contenido
UpskyDocs
Referencia de la API

Crear una sesión

Starts a verification and returns the `url` to send the person to. A live key sets the tier's price aside, which is kept only if the session reaches a decision.

POST
/v1/verify/sessions

Starts a verification and returns the url to send the person to. A live key sets the tier's price aside, which is kept only if the session reaches a decision.

Autorización

apiKey
headerAutorizaciónBearer <token>

Tu clave de API, que empieza con upsky_test_ o upsky_live_.

application/json
  1. body
tier?string

age: selfie con prueba de vida y una estimación de edad. identity: agrega una identificación, por ambos lados, y la comparación de rostro. identity_plus aún no está disponible.

Predeterminado"identity"
Valor en"age""identity""identity_plus"
reference?string

Your own ID for this person. Only your team sees it.

Longitud1 <= length <= 200
return_url?string

Where to send the person once they're done: a web page, or your app through its own scheme (myapp://verified) to bring them back from an in-app browser. The page goes there by itself a few seconds after they submit, or after the result when show_result is on, and also shows a button.

Longitudlength <= 2000
minimum_age?integer
Rango13 <= value <= 25
Predeterminado18
allow_selfie_upload?boolean

Let the person send a selfie from their photos instead of taking it with the camera. Camera only by default. Live sessions always take the selfie with the camera, through the liveness check.

Predeterminadofalse
show_result?boolean

Muestra a la persona el resultado en el enlace justo después de enviarlo: aprobada, rechazada o en revisión, nunca el motivo. Apagado por defecto, así que tú le avisas.

Predeterminadofalse
expires_in?integer

Seconds the link works for, from an hour to seven days. A day by default.

Rango3600 <= value <= 604800
Predeterminado86400
project_id?string

Uno de los proyectos de tu equipo, para agrupar sesiones. La sesión usa la configuración de Verify del proyecto donde tenga la suya.

Formatouuid
options?

Lo que esta sesión debe hacer distinto de la configuración de Verify de su proyecto, o de tu equipo. Omite una clave para conservar la configuración.

expected?

Lo que esperas que diga la identificación. Los nombres coinciden sin importar acentos, mayúsculas o segundos nombres. Solo en el nivel identity. El resultado está en checks.data_match; de forma predeterminada, una diferencia envía la sesión a revisión.

metadata?

Up to 20 keys of your own, returned as given.

Cuerpo de la respuesta

La nueva sesión.

application/json
  1. response
id*string
Formatouuid
object*"verify.session"
Valor en"verify.session"
livemode*boolean
tier*string
Valor en"age""identity""identity_plus"
status*string

pending until the person opens the link, in_progress while they take photos, processing once submitted, then approved, rejected or needs_review. A link that's never finished ends expired or canceled, and isn't charged.

Valor en"pending""in_progress""processing""approved""rejected""needs_review""expired""canceled"
url*|

The link to send the person to. Null once it can't be used anymore.

reference*string|null
metadata*
project_id*|
Formatouuid
return_url*string|null
minimum_age*integer
allow_selfie_upload*boolean

Whether the person may send a selfie from their photos. When false, it has to be taken with the camera on the page.

show_result*boolean

Si el enlace muestra a la persona el resultado una vez decidido.

thresholds*

Qué tan segura debía estar cada revisión, copiado al crear la sesión de la configuración de Verify de su proyecto, o de la de tu equipo si el proyecto no tiene. Una puntuación igual o mayor que la marca de aprobación pasa; desde la marca de revisión hasta la de aprobación va a revisión; por debajo de la marca de revisión se rechaza.

options*

Con qué opciones corre la sesión, copiadas al crearla de la configuración de Verify de su proyecto, o de tu equipo, más lo que hayas indicado en la solicitud.

reasons*array<>

Why the session ended as it did.

checks*

What each check found. Empty until the session is decided.

document_type*|
Valor en"mx_ine""passport""us_drivers_license""id_card"null
verified_outputs*|

What was read from the ID. Identity tier and above, once decided. Only returned when you read one session, never in lists or webhooks.

expires_at*string
created_at*string
started_at*string|null
submitted_at*string|null
decided_at*string|null
reviewed_at*string|null
redacted_at*|

Cuándo se borraron los datos de la persona de la sesión con el endpoint de redacción.

Ejemplo de solicitud
curl -X POST 'https://api.upsky.dev/v1/verify/sessions' \  -H 'Content-Type: application/json' \  -d '{}'
Ejemplo de respuesta
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "object": "verify.session",  "livemode": true,  "tier": "age",  "status": "pending",  "url": "string",  "reference": "string",  "metadata": {    "property1": "string",    "property2": "string"  },  "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",  "return_url": "string",  "minimum_age": 0,  "allow_selfie_upload": true,  "show_result": true,  "thresholds": {    "preset": "relaxed",    "liveness_pass": 0,    "liveness_review": 0,    "face_match_pass": 0,    "face_match_review": 0,    "age_buffer_years": 0  },  "options": {    "documents": {      "allowed_types": [        "mx_ine"      ],      "allowed_countries": [        "string"      ],      "max_attempts": 0    },    "rules": {      "liveness_inconclusive": "reject",      "age_inconclusive": "reject",      "document_unreadable": "reject",      "document_expired": "reject",      "document_checksum_failed": "reject",      "document_type_mismatch": "reject",      "document_country_not_accepted": "reject",      "date_of_birth_missing": "reject",      "face_match_inconclusive": "reject",      "age_estimate_mismatch": "reject",      "name_mismatch": "reject",      "date_of_birth_mismatch": "reject"    },    "retention_days": 0  },  "reasons": [    "liveness_failed"  ],  "checks": {    "liveness": {      "status": "passed",      "confidence": 0,      "feedback": [        "face_not_visible"      ]    },    "age": {      "status": "passed",      "minimum_age": 0,      "estimated_low": 0,      "estimated_high": 0,      "estimated_age": 0,      "age_from_document": 0    },    "document": {      "status": "passed",      "document_type": "mx_ine",      "expired": true,      "checksums_valid": true,      "type_matches": true,      "country_accepted": true    },    "face_match": {      "status": "passed",      "similarity": 0    },    "data_match": {      "status": "passed",      "first_name": "match",      "last_name": "match",      "date_of_birth": "match"    }  },  "document_type": "mx_ine",  "verified_outputs": {    "first_name": "string",    "last_name": "string",    "date_of_birth": "string",    "document_type": "mx_ine",    "document_number": "string",    "issuing_country": "string",    "expires_on": "string"  },  "expires_at": "string",  "created_at": "string",  "started_at": "string",  "submitted_at": "string",  "decided_at": "string",  "reviewed_at": "string",  "redacted_at": "string"}