Getting started¶
This is the step by step actions (intended for developers and integrators) required to start using the API and hold an event at a facility.
-
Get a tenant provisioned by Veridas, either in the sandbox or production environment.
-
Veridas Customer Success will submit you a
Postman environmentwith the following data:*
baseUrlfor API calls.*
iamUrlfor Auth 2.0 JWT token generation.*
clientandsecretfor Auth 2.0 Client Credentials Flow for JWT token generation.*
x-dasgate-tenant-id: the name of the tenant provisioned.*
x-api-key -
Veridas will create facilities for you, and give you the ids. Example:
* some facility:
TENANT_ID:ar-b:estadiomonumental -
Implement a way to obtain your JWT token and add it as an Authorization Bearer header in your API requests.
-
Enroll your users by submitting, for each of them, a
selfiein base64 and theacs_id. For each user:* Send
POST /singlesrequest* Make sure you save the relation
acs_idanduser_id, so you can later add users as attendees.POST /api/public/singles HTTP/1.1 Content-Type: application/json x-dasgate-tenant-id: TENANT_ID Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c content-length: XX { "acs_id": "member-123456", "acs_id_schema": "string64", "portrayal_type": "selfie", "selfie": "data:image/jpeg;base64,/9j/4AAQ...", "deliver_by_email": false }And the expected response HTTP 201
{ "onboarding_id": "79027c7f-ef3d-4d25-a08e-9f08ab544042", "acs_id": "member-123456", "user_id": "2c9aa737-2e8d-472a-b06f-594e709a0317", "status": "finished", "result": { "outcome": "accepted", "reason": null } } -
Create an event for a future time range, providing the facility Veridas has provided as
zone_id.* Send
POST /events* Save the
event_idso you can later add attendees.POST /api/public/events HTTP/1.1 Content-Type: application/json x-dasgate-tenant-id: TENANT_ID Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c content-length: XX { "name": "My event", "zone_id": "TENANT_ID:ar-b:estadiomonumental", "starts_at": "2025-06-07T10:00", "ends_at": "2025-06-07T23:00" }And the expected response HTTP 201. Notice that the response contains
starts_atandends_atinstead ofdate.{ "event_id": "d92deefb-764e-462c-a0ef-fe9598b6572e", "name": "My event", "zone_id": "TENANT_ID:ar-b:estadiomonumental", "starts_at": "2025-06-07T10:00:00-03:00", "ends_at": "2025-06-07T23:00:00-03:00" } -
Add enrolled users as attendees to the event. This will enable credentials distribution to access points. For each enrolled user that is attending to the event:
* Send
POST /attendeeswith the following attributes in the payload:*
event_id: obtained in the response when creating the event.*
user_id: obtained in the response when enrolling a new userPOST /api/public/attendees HTTP/1.1 Content-Type: application/json x-dasgate-tenant-id: TENANT_ID Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c content-length: XX { "event_id": "d92deefb-764e-462c-a0ef-fe9598b6572e", "user_id": "2c9aa737-2e8d-472a-b06f-594e709a0317" }And the expected response HTTP 201
{ "event_id": "d92deefb-764e-462c-a0ef-fe9598b6572e", "user_id": "2c9aa737-2e8d-472a-b06f-594e709a0317", "acs_id": "member-123456", "attendee_id": "d92deefb-764e-462c-a0ef-fe9598b6572e_2c9aa737-2e8d-472a-b06f-594e709a0317", "credential_types": [ "face" ] } -
For each attendee added to the event, credentials will be distributed to those access points that belong to event's facility.
About event datetimes and duration¶
The current version of the API and credential distribution protocol have some restrictions on event duration:
- Event time range (determined by
starts_atandends_at) is used to create distributable collections that are published so access points can replicate them. These datetimes are naive and converted server-side to the timezone of the facility holding the event.
- Prefer
starts_atandends_atin requests. Ifdateis provided, the API infers a same-day event.
- Datetime format follows ISO 8601. We store datetimes as UTC internally in our system, taking into account the facility's timezone.
- Currently only one event at a time can exist per facility. Events can be created for the same facility as long as they don't overlap, and access points will know when to replicate and delete collections, according to
starts_atandends_atdatetimes.