obsidian/raw/_processed/Scalar API Reference.md
2026-05-09 17:44:30 +01:00

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
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"
}'
{
  "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