352 lines
No EOL
7.5 KiB
Markdown
352 lines
No EOL
7.5 KiB
Markdown
---
|
|
title: "Scalar API Reference"
|
|
source: "https://apidocs.omg.dev.oliver.solutions/#tag/briefs/GET/briefs/{id}"
|
|
author:
|
|
published:
|
|
created: 2026-05-07
|
|
description:
|
|
tags:
|
|
- "clippings"
|
|
---
|
|
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:**
|
|
|
|
- `200` Read, update, delete succeeded
|
|
- `201` Resource created
|
|
- `400` Invalid or missing request parameters
|
|
- `403` Authentication failure (missing or invalid headers)
|
|
- `404` Resource not found
|
|
- `422` Valid parameters but business logic rejected the operation
|
|
- `500` Unexpected 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"
|
|
}'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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"
|
|
}'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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
|
|
}'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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"
|
|
}'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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='
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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'
|
|
```
|
|
|
|
```json
|
|
{
|
|
"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 |