Visena Documentation
Partner API

Resource

Project template

The reusable definitions that projects — engagements — are created from: a project template fixes a new project's type and the classifications available to it, carries its price and hourly-rate model, and supplies the defaults and per-company rules the project inherits. Read-only through the API: list and fetch.

The endpoint reference below is kept in English in both language trees. It mirrors the API contract verbatim and there is no generator to rebuild it from, so a translated copy would drift from the API the first time an endpoint changes.

Endpoints

Two read-only endpoints, in the order they are documented below.

Every endpoint on this page can additionally answer the shared errors — 401, 403, 404 (unknown instance) and 500. They are documented once, under Errors and troubleshooting.

List project templates (offset-paginated)

GET /{instanceName}/api/v1/{locale}/project-template

Offset/limit paging with a real total, ordered by name. Optional filters: isActive, templateTypeId. RFC 8288 navigation links are in the body.

Parameters

Parameter In Type Description
offset query integer
default 0
Zero-based item offset.
limit query integer Maximum items to return per page.
isActive query boolean Filter on active state.
templateTypeId query string

Responses

Status Description
200 A page of project templates with totals and navigation links.
ProjectTemplateOffsetListResponse · application/json
400 Invalid paging parameter, or a filter id is not a valid id.

Example

curl
curl "https://api.visena.example/acme/api/v1/en/project-template?offset=0&limit=20" \
  -H "Authorization: Bearer $TOKEN"

Get a project template

GET /{instanceName}/api/v1/{locale}/project-template/{templateId}

Returns the full template. 404 if unknown; 400 if the id cannot be unmasked.

Parameters

Parameter In Type Description
templateId required path string Masked template id.

Responses

Status Description
200 The project template.
ProjectTemplateDto · application/json
400 The id is not a valid id.
404 No project template with that id.

Example

curl
curl "https://api.visena.example/acme/api/v1/en/project-template/tM2qL6" \
  -H "Authorization: Bearer $TOKEN"

Object shapes

The response bodies used above, in the order they are first referenced.

ProjectTemplateOffsetListResponse

Field Type Description
totalItems integer Total number of matching project templates.
totalPages integer Total number of pages at the current page size.
page integer Zero-based index of the current page.
size object Page size actually applied.
items array of ProjectTemplateListItemDto The project templates on this page.
links ProjectTemplateListLinks

ProjectTemplateListItemDto

The project templates on this page.

Field Type Description
id string (masked id)
name string
description string Free-text description, if any.
projectType string, one of PROJECT_TYPE_PROJECT PROJECT_TYPE_ASSIGNMENT
templateTypeId string (masked id)
templateTypeName string Template type display name.
isActive boolean
year object Default project year, if set.
numProjects integer Number of projects created from this template.
isGlobalProjectsAllowed boolean
isMultipleActiveProjectsPerYearForCompanyAllowed boolean

RFC 8288 navigation links.

Field Type Description
self string URL of the current page.
first string URL of the first page.
prev string URL of the previous page, if any.
next string URL of the next page, if any.
last string URL of the last page.

ProjectTemplateDto

Field Type Description
id string (masked id)
name string
suggestedName string Suggested project name pattern, if any.
description string Free-text description, if any.
templateTypeId string (masked id)
templateTypeName string Template type display name.
projectType string, one of PROJECT_TYPE_PROJECT PROJECT_TYPE_ASSIGNMENT
isActive boolean
year object Default project year, if set.
isGlobalProjectsAllowed boolean Whether projects without a company (global projects) are allowed.
isMultipleActiveProjectsPerYearForCompanyAllowed boolean Whether more than one active project per year per company is allowed.
isDefaultPublicAccess boolean Whether projects default to public access.
priceModel string, one of PRICE_MODEL_FIXED_PRICE PRICE_MODEL_HOURLY_RATE
hourlyRateModel string, one of HOURLY_RATE_MODEL_FIXED HOURLY_RATE_MODEL_PROJECT_SPECIFIC
isChargable boolean
externalReference string