DocsGet started
Quickstart
Provision an agency workspace, understand the DMW-aligned defaults that are seeded for you, and take one applicant from intake to a live pipeline card.
A new workspace is not an empty one. Provisioning seeds the whole DMW-aligned operating vocabulary — stages, document types, checklist items, the fee catalog and a set of automation rules — so the first applicant you type in already has a pipeline to move through. Everything seeded is per-agency data and editable; none of it is hard-coded behaviour.
Create the workspace#
Signing up creates the organization and its first OWNER user in one step. The owner is the only role with access to the subscription.
Provide the agency details
Agency name, your DMW licence number, the owner name and email, and a password. The API validates the password against a policy and returns
fieldErrors.passworddescribing anything missing rather than a generic rejection.Accept the terms
acceptTermsmust be literallytrue. The request is rejected outright otherwise — this is a consent record, not a checkbox.Sign in on the staff surface
Log in with
surface: "STAFF". The same email address can exist independently on the applicant and employer surfaces, so the surface is part of the identity, not a preference.
curl -X POST "$API_URL/v1/auth/signup" \
-H "Content-Type: application/json" \
-d '{
"agencyName": "Pacific Crest Manpower Services",
"dmwLicenseNo": "POEA-123-LB-456789-R",
"ownerName": "Ana Reyes",
"ownerEmail": "ana@pacificcrest.ph",
"contactPhone": "+63285551234",
"password": "...",
"confirmPassword": "...",
"acceptTerms": true
}'
# 201 { "ok": true, "data": { "slug": "pacific-crest-manpower-services" } }/signup in the browser renders the login screen. Workspaces are provisioned through the API or by an operator. If you are evaluating HRTEQ, ask us to provision one for you.What gets seeded#
Provisioning runs seedOrganizationDefaults, which is idempotent — running it again will not duplicate rows. Every item below belongs to your organization alone.
| Seeded | Count | What it is for | Reference |
|---|---|---|---|
| Stage definitions | 22 | 16 active stages from Lead to Contract Completed, plus 6 terminal stages, each with entry requirements and an owning role. | Stage reference |
| Document types | 27 | Applicant-level and application-level documents, each flagged for expiry tracking and portal upload. | Document types |
| Checklist items | 19 | 16 operational items plus 3 role sign-offs that ROLE_SIGNOFF requirements resolve to. | Stage reference |
| Fee items | 17 | Worker-collectible documentation costs, the restricted placement fee, and employer-billable items in USD. | Fees and payments |
| Automation rules | 10 | Routing on stage change, expiry warnings, departure countdowns, and a stale-application nudge. | Automation rules |
Set the organization record#
A handful of fields on the organization affect compliance and presentation. Fill them in before your first intake.
dmwLicenseNoandlicenseExpiresAt- Your licence number and its expiry. Keep the expiry current — it is the agency-level equivalent of a document that must not lapse.
timezone- Defaults to
Asia/Manila. Every scheduled sweep runs in this timezone, so a wrong value shifts your expiry scans and morning digest. currency- Defaults to
PHP. Worker charges are posted in it; employer-billable fee items are seeded inUSDindependently. brandColorandcareersIntro- Presentation for the published job board. They do not affect the pipeline.
Take one applicant through#
The fastest way to understand the model is to walk one person through the first few stages and watch the gate refuse you.
Create the applicant
Applicants → Add applicant. First and last name plus either a mobile number or an email. Data privacy consent is recorded at creation and cannot be skipped. See Applicants.
Endorse them to a position
An applicant on their own has no stage. Creating an application against a
JobOrderPositionis what puts a card on the board at theLEADstage. See Core concepts.Try to move it to Screening
Screening requires a contact number on file and a verified résumé. If the résumé is not uploaded and verified, the move is refused with
409 GATE_BLOCKEDand the exact unmet requirements. That refusal is the product working.Upload and verify the résumé
Upload it on the applicant, then verify it in the Documents queue. A document only satisfies a requirement once its status is
VERIFIED— and, if the type tracks expiry, only while it is unexpired.Watch it advance
When the last requirement on the immediate next stage is satisfied, the application advances on its own and the move is recorded as
application.stage_advanced. See Stage gates.
Getting the rest of the team in#
Subscription.seats exists and is not enforced. Today additional staff accounts come from a seeded or operator-provisioned database. Read Roles and permissions so the model is clear before you plan around it.Where to go next#
Core concepts
Applicant, application, job order, position, principal — and why the lifecycle lives on the application.
Stage gates
The five requirement types, blocking versus advisory, and how an override is recorded.
Documents
Upload, verification, expiry, and the limits the API enforces on files.
Fees and payments
What may lawfully be charged to a worker, and what may not.
