7.5 KiB
| title | source | author | published | created | description | tags | |
|---|---|---|---|---|---|---|---|
| Scalar API Reference | https://apidocs.omg.dev.oliver.solutions/#tag/briefs/GET/briefs/{id} | 2026-05-07 |
|
v2.0.0
OAS 3.0.3
REST API for the OMG marketing operations platform. Manages briefs, deliverables, projects, tasks, file uploads, and library batch operations.
Authentication: Every request must include an X-Api-Key header. Requests are routed through the TYK gateway, which resolves the tenant and user context from the key before forwarding to the API.
Response format:
- Success:
{ "data": { ... }, "message": "..." }— HTTP 200 or 201 - Error: RFC 7807 Problem Details —
{ "type": "about:blank", "title": "...", "status": 4xx/5xx, "detail": "..." }
HTTP status semantics:
200Read, update, delete succeeded201Resource created400Invalid or missing request parameters403Authentication failure (missing or invalid headers)404Resource not found422Valid parameters but business logic rejected the operation500Unexpected server error
https://api.omg.dev.oliver.solutions/{tenantID}/v2
API server
Client Libraries
Briefs
Create, read, update and delete marketing briefs
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/briefs' \
--request POST \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN' \
--data '{
"brief_title": "Q3 Campaign Brief",
"slipstream": "",
"brief_summary": "Overview of the Q3 campaign requirements",
"brief_deadline": "2026-06-30",
"external_reference": "EXT-REF-001",
"business_area": "UK/Marketing/Digital"
}'
{
"data": {},
"message": "Brief created successfully"
}
Path Parameters
Responses
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/briefs/1' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN'
{
"data": {},
"message": "Brief created successfully"
}
Partial update. Include status: "change_request" to trigger a status transition — all other fields are ignored in that case. Without status, updates any combination of the other fields.
Path Parameters
All fields optional. Include 'status' to trigger a status transition instead of a field update.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/briefs/1' \
--request PATCH \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN' \
--data '{
"brief_summary": "",
"brief_deadline": "",
"cancel": 0,
"status": "change_request"
}'
{
"data": {},
"message": "Brief created successfully"
}
Path Parameters
Responses
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/briefs/1' \
--request DELETE \
--header 'X-Api-Key: YOUR_SECRET_TOKEN'
{
"data": {},
"message": "Brief created successfully"
}
Deliverables (Collapsed)
Read and update job deliverables
Tasks
Create planning tasks
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/tasks' \
--request POST \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN' \
--data '{
"name": "Design review",
"start_date": "2026-05-01T00:00:00Z",
"end_date": "2026-05-15T00:00:00Z",
"parent_planning_id": 42
}'
{
"data": {},
"message": "Brief created successfully"
}
Projects (Collapsed)
Create and read planning projects and their deliverables
Library (Collapsed)
Client-specific library batch operations
Users
Read, update and manage user records and avatars
Returns a single full user record matched by either email or staffid. Exactly one parameter must be supplied. The result is scoped to the authenticated tenant.
Query Parameters
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/user?email=&staffid=1' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN'
{
"data": {},
"message": "Brief created successfully"
}
Returns the full user record for the given ID. Returns 404 if the user does not exist or does not belong to the authenticated tenant.
Path Parameters
Responses
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/user/1' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN'
{
"data": {},
"message": "Brief created successfully"
}
Updates one or more user_dom_small fields on the user record. Only the fields present in the request body are changed; omitted fields are left unchanged. At least one field must be supplied. owning_agency_id and job_role are validated against existing FK values when provided.
Path Parameters
At least one field must be supplied. Only the fields present in the body are updated; omitted fields are left unchanged.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/user/1' \
--request PUT \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN' \
--data '{
"first_name": "Jane",
"last_name": "Smith",
"email_address": "jane.smith@example.com",
"owning_agency_id": 7,
"owning_agency_name": "Oliver London",
"job_role": 12,
"job_role_name": "Senior Designer"
}'
{
"data": {},
"message": "Brief created successfully"
}
Accepts a multipart JPEG upload and stores it as the user's avatar. If the user already has an avatar the existing ECM document is updated in place; otherwise a new one is created. Background workers generate fixed-size thumbnails after upload. Returns the new avatar URL.
Path Parameters
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/user/1/avatar' \
--request POST \
--header 'Content-Type: multipart/form-data' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN' \
--form 'avatar='
{
"data": {},
"message": "Brief created successfully"
}
List users
Returns all active standard users for the authenticated tenant as an array of user_dom_small objects. Pass search to filter by contains match across first_name, last_name, email, owning_agency_name, and job_role_name.
Query Parameters
Responses
- application/json
- application/json
- application/json
curl 'https://api.omg.dev.oliver.solutions/{tenantID}/v2/users?search=' \
--header 'X-Api-Key: YOUR_SECRET_TOKEN'
{
"data": {
"data": [
{
"id": 42,
"first_name": "Jane",
"last_name": "Smith",
"email_address": "jane.smith@example.com",
"owning_agency_id": 7,
"owning_agency_name": "Oliver London",
"job_role": 12,
"job_role_name": "Senior Designer"
}
],
"total_set": 120
},
"message": "Users retrieved successfully"
}
Debug (Collapsed)
Development and smoke-test endpoints