Ingest Endpoints
Ingest endpoints let external systems push data into Vigdis. Each endpoint is a secret URL that accepts JSON payloads and creates or updates records automatically. No API key headers needed — the URL itself is the credential.
Create an endpoint
- Go to Settings > Ingest Endpoints.
- Click Create, give the endpoint a name, and pick the entity type it targets (e.g., Deal, Contact).
- Copy the generated URL. This is the only credential you need — anyone with the URL can push data.
Treat ingest URLs like passwords. Anyone with the URL can create records in your workspace.
Send data
POST a JSON payload to the endpoint URL. The fields object maps field slugs to values:
POST /api/v1/ingest/<token>
Content-Type: application/json
{
"fields": {
"name": "Ola Nordmann",
"email": "ola@acme.no",
"phone": "+4799887766"
}
}
The endpoint detail page in Settings shows an example payload with all available fields for that entity type.
Create related records
If the target entity type has reference fields (e.g., a Deal referencing a Contact), you can create or match related records in the same request using the related key:
{
"fields": {
"title": "Acme Renewal",
"value": 50000
},
"related": {
"contact": {
"name": "Ola Nordmann",
"email": "ola@acme.no"
}
}
}
Keys under related must match a reference field slug on the primary entity type. The response tells you what happened to each entity:
{
"record": { "id": "...", "action": "created" },
"related": {
"contact": { "id": "...", "action": "updated", "matched_on": ["email"] }
}
}
Matching on unique fields
If any of your fields are marked unique (in Settings > Fields), the system matches incoming data against existing records before creating new ones:
- No match — a new record is created.
- Match — the existing record is updated with the incoming field values.
- Conflicting matches (two unique fields point to different records) — the request fails and nothing is changed.
Matching normalizes values before comparing: emails are lowercased, phone numbers are stripped of spaces and dashes, text is trimmed.
If no unique fields exist on the entity type, every request creates a new record. The endpoint detail page shows which fields are unique.
Manage endpoints
- Enable / disable — Toggle an endpoint on its detail page. Disabled endpoints return 404 to callers.
- Regenerate token — Rotates the secret URL. The old URL stops working immediately.
- Activity log — The detail page shows recent requests with status codes and a summary of what happened (record created, updated, or error details).
Errors
| Status | Meaning |
|---|---|
| 200 | Record created or updated successfully |
| 400 | Validation error or unique field conflict |
| 404 | Invalid or disabled endpoint |
| 413 | Payload exceeds 100 KB |