Skip to main content

Dimmi Public API (1.0.0)

Download OpenAPI specification:Download

External, organization-scoped API for Dimmi cases and documents. Authenticate with Authorization: Bearer dk_live_<key_id>.<secret>.

admin

List API keys for the calling organisation

Authorizations:
JWTAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an API key (returns secret exactly once)

Authorizations:
JWTAuth

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "environment": "string",
  • "display_key": "string",
  • "secret": "string",
  • "full_token": "string",
  • "scopes": [
    ],
  • "rate_limit_per_min": 0,
  • "expires_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z"
}

Revoke an API key

Authorizations:
JWTAuth
path Parameters
key_id
required
string <uuid>

Responses

List webhooks for the calling organisation

Authorizations:
JWTAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a webhook (returns secret once)

Authorizations:
JWTAuth

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "events": null,
  • "description": "string",
  • "active": true,
  • "secret": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Retrieve a webhook

Authorizations:
JWTAuth
path Parameters
webhook_id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "events": [
    ],
  • "description": "string",
  • "active": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a webhook

Authorizations:
JWTAuth
path Parameters
webhook_id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "events": [
    ],
  • "description": "string",
  • "active": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete a webhook

Authorizations:
JWTAuth
path Parameters
webhook_id
required
string <uuid>

Responses

List recent delivery attempts for a webhook

Authorizations:
JWTAuth
path Parameters
webhook_id
required
string <uuid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

assignments

List cross-border assignments

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
query Parameters
cursor
string
host_country
string
journey_kind
string
page_size
integer
person_id
string

Responses

Response samples

Content type
application/json
{}

Retrieve an assignment

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
assignment_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "journey_kind": "string",
  • "home_country": "string",
  • "host_country": "string",
  • "start_date": "2019-08-24",
  • "end_date": "2019-08-24",
  • "applicant_email": "user@example.com",
  • "person_id": "string",
  • "case_ids": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

cases

List cases in the organization

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
query Parameters
case_kind
string

extension | family

category
string

immigration | social_security | relocation

certificate_type
string

a1 | s1

cursor
string

Pagination cursor.

external_reference
string

Filter by your own ID for the case.

jurisdiction
string
lifecycle_stage
string
needs_attention
string
ongoing
string
page_size
integer

Page size (max 100).

person_id
string
search
string
status
string

Filter by status. One of: biometrics, draft, in_progress, permit_acquired, permit_expired, permit_expires_soon, processing, ready_to_submit, submitted

updated_since
string

ISO-8601 timestamp; only cases updated since.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create a case (typed JSON for client parity, or multipart contract upload)

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "status": "string",
  • "type": "string",
  • "jurisdiction": "string",
  • "scheme_key": "string",
  • "display_number": "string",
  • "applicant": {
    },
  • "person_id": "string",
  • "company": {
    },
  • "permit": {
    },
  • "employment": {
    },
  • "assignment_id": "string",
  • "is_extension": true,
  • "parent_case_id": "string",
  • "linked_cases": [
    ],
  • "assignment": {
    },
  • "has_documents": true,
  • "external_reference": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve a single case

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
case_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "status": "string",
  • "type": "string",
  • "jurisdiction": "string",
  • "scheme_key": "string",
  • "display_number": "string",
  • "applicant": {
    },
  • "person_id": "string",
  • "company": {
    },
  • "permit": {
    },
  • "employment": {
    },
  • "assignment_id": "string",
  • "is_extension": true,
  • "parent_case_id": "string",
  • "linked_cases": [
    ],
  • "assignment": {
    },
  • "has_documents": true,
  • "external_reference": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Complete the start-case wizard for a draft case

POST /api/v1/cases/{id}/complete — finish start-case wizard / Policy approvals.

Authorizations:
ApiKeyAuth
path Parameters
case_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "status": "string",
  • "type": "string",
  • "jurisdiction": "string",
  • "scheme_key": "string",
  • "display_number": "string",
  • "applicant": {
    },
  • "person_id": "string",
  • "company": {
    },
  • "permit": {
    },
  • "employment": {
    },
  • "assignment_id": "string",
  • "is_extension": true,
  • "parent_case_id": "string",
  • "linked_cases": [
    ],
  • "assignment": {
    },
  • "has_documents": true,
  • "external_reference": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List documents for a case

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
case_id
required
string
query Parameters
cursor
string

The pagination cursor value.

page_size
integer

Number of results to return per page.

Responses

Response samples

Content type
application/json
{}

Upload a document to a case

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
case_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "case_id": "string",
  • "type": "string",
  • "file_name": "string",
  • "mime_type": "string",
  • "size_bytes": "string",
  • "uploaded_at": "2019-08-24T14:15:22Z",
  • "download_url": "string",
  • "download_url_expires_at": "string"
}

certificates

List certificates (employee records and social-security cases)

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
query Parameters
cursor
string
ongoing
string
page_size
integer
person_id
string
source
string

employee_record or case

type
string

a1 or s1

Responses

Response samples

Content type
application/json
{}

Retrieve a certificate

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
certificate_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "source": "string",
  • "type": "string",
  • "status": "string",
  • "person_id": "string",
  • "case_id": "string",
  • "valid_from": "string",
  • "valid_until": "string",
  • "jurisdiction": "string",
  • "has_document": true
}

company-certification-cases

Create a company certification case

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth

Responses

documents

Retrieve document metadata + signed download URL

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
document_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "case_id": "string",
  • "type": "string",
  • "file_name": "string",
  • "mime_type": "string",
  • "size_bytes": "string",
  • "uploaded_at": "2019-08-24T14:15:22Z",
  • "download_url": "string",
  • "download_url_expires_at": "string"
}

Redirect (302) to a fresh presigned download URL

Issues a fresh presigned URL via 302 so partner integrations can download files.

Authorizations:
ApiKeyAuth
path Parameters
document_id
required
string

Responses

people

List people (employees) in the organisation

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
query Parameters
cursor
string
page_size
integer
search
string

Responses

Response samples

Content type
application/json
{}

Retrieve a person

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
person_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "email": "string",
  • "full_name": "string",
  • "job_title": "string",
  • "department": "string",
  • "nationality": "string",
  • "permit": {
    },
  • "active_certificates": [
    ],
  • "in_progress_cases": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

permits

List issued permits

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
query Parameters
cursor
string
jurisdiction
string
page_size
integer
person_id
string
search
string
status
string
valid_until_after
string
valid_until_before
string

Responses

Response samples

Content type
application/json
{}

Retrieve a permit

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
permit_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "string",
  • "status": "string",
  • "case_id": "string",
  • "person_id": "string",
  • "applicant": {
    },
  • "jurisdiction": "string",
  • "scheme_key": "string",
  • "type": "string",
  • "valid_from": "string",
  • "valid_until": "string",
  • "has_document": true,
  • "updated_at": "2019-08-24T14:15:22Z"
}

schemes

List supported schemes (DK)

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth

Responses

short-term-cases

Create short-term visitor cases (one per member)

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth

Responses

webhooks

List webhooks for the calling API key org

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a webhook (returns secret once)

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "events": null,
  • "description": "string",
  • "active": true,
  • "secret": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Retrieve a webhook

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
webhook_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "events": [
    ],
  • "description": "string",
  • "active": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a webhook

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
webhook_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "events": [
    ],
  • "description": "string",
  • "active": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete a webhook

Common base for /api/v1/* views: API-key auth, throttle, JSON-only error envelope.

Authorizations:
ApiKeyAuth
path Parameters
webhook_id
required
string

Responses