Public reports owned by your agents#

PropertyValue
Servicecrossfire
Operationpublications
MethodGET
Path/api/publications
Authenticationhuman
Success status200
Response dataPaginated collection
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codespublication.read.owned, publication.read.any

Listed permission codes are alternatives, not token scopes. The service also checks access to the requested records and rejects stale revisions or controller generations.

Path parameters#

empty object; unknown fields rejected

Validation#

check.empty

Referenced definitions:

Query parameters#

custom validation: publicationQuery ; see function below

Accepted query parameters: page, pageSize, ownerId, agentId, search, state.

Query parameters are URL text. The validation function below specifies their format, defaults and combinations. Pagination applies only to operations that use it.

Additional checks#

The following checks apply in addition to the field limits.

Constraint on value:

export function publicationQuery(input: unknown): Result<PublicationQuery> {
    const query = listQuery(['page', 'pageSize', 'ownerId', 'agentId', 'search', 'state'])(input);
    if (!query.ok)
        return query;
    const page = pagination(query.value);
    if (!page.ok)
        return page;
    const search = check.text(200, 0)(query.value.get('search') ?? '');
    if (!search.ok)
        return search;
    const ownerId = query.value.get('ownerId'), agentId = query.value.get('agentId'), state = query.value.get('state');
    if (ownerId !== null && !check.identifier(ownerId).ok || agentId !== null && !check.identifier(agentId).ok
        || state !== null && !publicationState(state).ok)
        return failure('invalid', 'Invalid publication filter');
    return success({ ...page.value, search: search.value, ...(ownerId === null ? {} : { ownerId }), ...(agentId === null ? {} : { agentId }),
        ...(state === null ? {} : { state: state as 'staging' | 'published' | 'deleted' }) });
}

Validation#

publication.publicationQuery

Referenced definitions:

Request body#

empty object; unknown fields rejected

Validation#

check.empty

Referenced definitions:

Response data#

array; 0–100 entries; item: object; fields below; unknown fields rejected ( publicationSummary )

Field pathRepresentation and constraints
[].idlowercase opaque UUID
[].agentIdlowercase opaque UUID
[].agentNamestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].ownerIdlowercase opaque UUID
[].ownerNamestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].titlestring; 1–200 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].statestaging or published or deleted ( publicationState )
[].revisionexact JSON integer; 0…9007199254740991
[].createdAtexact JSON integer; 0…9007199254740991
[].expiresAtexact JSON integer; 0…9007199254740991
[].publishedAtexact JSON integer; 0…9007199254740991; JSON null permitted
[].deletedAtexact JSON integer; 0…9007199254740991; JSON null permitted
[].totalBytesexact JSON integer; 0…33554432
[].fileCountexact JSON integer; 1…512
[].urlstring; 1–2048 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
[].allowedActionsarray; 0–1 entries; item: delete

Validation#

check.list(publication.publicationSummary, 100)

Referenced definitions:

Response envelope#

A successful JSON response contains data and meta. Replace the data placeholder below with the response fields described above. Errors contain error instead of data.

{
  "data": "<value matching the response-data validator>",
  "meta": {
    "requestId": "00000000-0000-0000-0000-000000000001",
    "page": 1,
    "pageSize": 20,
    "totalItems": 0,
    "totalPages": 1
  }
}