# Resource Service API



<EndpointIndex
  names={[
  	'fetchResourceGroup',
  	'fetchResourceGroups',
  	'createResourceGroup',
  	'updateResourceGroup',
  	'retire',
  	'fetchResource',
  	'fetchMultipleResources',
  	'fetchMultipleResourcesByType',
  ]}
  titles={{
  	fetchResourceGroup: 'Fetch a Resource Group',
  	fetchResourceGroups: 'Fetch all Resource Groups',
  	createResourceGroup: 'Create a Resource Group',
  	updateResourceGroup: 'Update a Resource Group',
  	retire: 'Retire a ResourceGroup',
  	fetchResource: 'Fetch a Resource',
  	fetchMultipleResources: 'Fetch Multiple Resources',
  	fetchMultipleResourcesByType: 'Fetch Multiple Resources by Type',
  }}
/>

Resource Groups [#resource-groups]

Fetch a Resource Group [#fetch-a-resource-group]

<ApiEndpoint name="fetchResourceGroup" title="Fetch a Resource Group" />

<ApiSchema name="ResourceGroupResponse" />

Fetch all Resource Groups [#fetch-all-resource-groups]

<ApiEndpoint name="fetchResourceGroups" title="Fetch all Resource Groups" />

<ApiSchema name="ResourceGroupListResponse" />

Create a Resource Group [#create-a-resource-group]

<ApiEndpoint name="createResourceGroup" title="Create a Resource Group" />

<ApiSchema name="ResourceGroupCreateRequest" />

Update a Resource Group [#update-a-resource-group]

<ApiEndpoint name="updateResourceGroup" title="Update a Resource Group" />

<ApiSchema name="ResourceGroupUpdateRequest" />

Retire a ResourceGroup [#retire-a-resourcegroup]

<ApiEndpoint name="retire" title="Retire a ResourceGroup" />

Resources [#resources]

Fetch a Resource [#fetch-a-resource]

<ApiEndpoint name="fetchResource" title="Fetch a Resource" />

<ApiSchema name="ResourceResponse" />

<ApiSchema name="BasicResourceResponse" />

Fetch Multiple Resources [#fetch-multiple-resources]

<ApiEndpoint name="fetchMultipleResources" title="Fetch Multiple Resources" />

Fetch Multiple Resources by Type [#fetch-multiple-resources-by-type]

<ApiEndpoint name="fetchMultipleResourcesByType" title="Fetch Multiple Resources by Type" />

<ApiSchema name="ResourceListResponse" />

<ApiSchema name="TemplateResponse" />


## API Reference

GET /resource/{tenantLocator}/groups/{locator} — fetchResourceGroup
Tags: resource-groups-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 ResourceGroupResponse — OK

GET /resource/{tenantLocator}/groups/list — fetchResourceGroups
Tags: resource-groups-controller
Permissions: list
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query) — When false, returns a bare array.
  excludeRetired (boolean, query) — Default value true.
  excludeActive (boolean, query) — Default value false.
Responses:
  200 ResourceGroupListResponse — OK

POST /resource/{tenantLocator}/groups — createResourceGroup
Tags: resource-groups-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (ResourceGroupCreateRequest):
Responses:
  200 ResourceGroupResponse — OK

PATCH /resource/{tenantLocator}/groups/{locator} — updateResourceGroup
Tags: resource-groups-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (ResourceGroupUpdateRequest):
Responses:
  200 ResourceGroupResponse — OK

PATCH /resource/{tenantLocator}/groups/{locator}/retire — retire
Tags: resource-groups-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

GET /resource/{tenantLocator}/resources/{name} — fetchResource
Tags: resources-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  name (string, path, required)
  byStaticName (boolean, query)
  date (datetime, query)
  jurisdiction (string, query)
Responses:
  200 ResourceResponse — OK

GET /resource/{tenantLocator}/resources/list — fetchMultipleResources
Tags: resources-controller
Permissions: list
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query) — When false, returns a bare array.
Responses:
  200 ResourceListResponse — OK

GET /resource/{tenantLocator}/resources/type/{type}/list — fetchMultipleResourcesByType
Tags: resources-controller
Permissions: list
Parameters:
  tenantLocator (uuid, path, required)
  type (string, path, required)
  offset (integer, query)
  count (integer, query)
  extended (boolean, query) — When false, returns a bare array.
Responses:
  200 ResourceListResponse — OK

ResourceGroupResponse
Properties:
  locator (ulid, required)
  name (string, required)
  retired (boolean, required)
  selectionStartTime (datetime, required)
  resourceNames (string[], required)
  createdBy (uuid, required)
  createdAt (datetime, required)

ResourceGroupListResponse
Properties:
  listCompleted (boolean, required)
  items (ResourceGroupResponse[], required)

ResourceGroupCreateRequest
Properties:
  name (string, required)
  selectionStartTime (datetime, required)
  resourceNames (string[], required)

ResourceGroupUpdateRequest
Properties:
  name (string, required)
  selectionStartTime (datetime, required)
  removeResources (string[], required)
  addResources (string[], required)

ResourceResponse
Properties:
  name (string, required)
  staticName (string)
  resourceType (Enum constraintTable | customFont | documentTemplate | documentTemplateSnippet | rangeTable | secret | staticDocument | table, required)
  lookupTableLocator (ulid)
  template (string)
  staticDocumentLocator (ulid)
  templateFormat (Enum liquid | velocity)
  createdBy (uuid, required)
  createdAt (datetime, required)
  scope (Enum transaction | policy | term | segment | invoice)
  trigger (Enum validated | priced | accepted | underwritten | issued | generated)
  format (Enum text | html | pdf | jpg | jpeg | doc | docx | xls | xlsx | csv | txt | zip)
  rendering (Enum dynamic | prerendered)
  jurisdictions (string[], required)

BasicResourceResponse
Properties:
  name (string, required)
  staticName (string)
  resourceType (Enum constraintTable | customFont | documentTemplate | documentTemplateSnippet | rangeTable | secret | staticDocument | table, required)
  lookupTableLocator (ulid)
  rangeTableLocator (ulid)
  constraintTableLocator (ulid)
  template (string)
  staticDocumentLocator (ulid)
  fontLocator (ulid)
  riskAssessmentCriteriaLocator (ulid)
  uiConfigLocator (ulid)
  templateFormat (Enum liquid | velocity)
  createdBy (uuid, required)
  createdAt (datetime, required)
  jurisdictions (string[], required)

ResourceListResponse
Properties:
  listCompleted (boolean, required)
  items (ResourceResponse[], required)

TemplateResponse
Properties:
  file (object)
  template (string)