Base configuration entities

You can generate endpoints for base configuration entities that do not have endpoints. For example, suppose that the base configuration of PolicyCenter had a data model entity named TextMessage that was used to store text messages sent to an associated contact. Also, suppose that there were no endpoints for this entity in Cloud API. In this case, you could use the REST endpoint generator to generate endpoints for the TextMessage entity.

The REST endpoint generator prompts

The prompts associated with generating endpoints for base configuration entities are the same as the prompts for a custom entity.

The generated resource name

The REST endpoint generator automatically adds an "Ext" suffix to the resource name. For example, if you generate endpoints for the theoretical TextMessage entity, the resource name would be TextMessageExt. This suffix is added to prevent conflicts that could arise in the future if Guidewire provides base configuration endpoints for the entity.

Note: When the REST endpoint generator prompts you for the entity name, provide the entity name as it appears in the Data Dictionary. Do not add the "Ext" suffix. The suffix becomes a part of the resource name, but the prompt is asking for the data model entity name.

The generated endpoint paths

As is the case with custom entities, the paths of generated endpoints are based on the resource name.

  • The path contains an initial lower-case letter.
  • Underscores are replaced by hyphens.
  • In general, capital letters are converted to lower case letters with a hyphen in front of them.

The REST endpoint generator adds an "Ext" to the resource name, and therefore the paths contain -ext and Ext. For example, if you generated endpoints for the theoretical TextMessage entity, the endpoints would be:

  • GET /text-messages-ext
  • POST /text-messages-ext
  • GET /text-messages-ext/{textMessageExtId}
  • PATCH /text-messages-ext/{textMessageExtId}
  • DELETE /text-messages-ext/{textMessageExtId}

What if some future release adds endpoints for the base configuration entity?

Suppose you generate endpoints for a base configuration entity that has no endpoints, such as the theoretical TextMessage entity. Then, you upgrade to a release in which Guidewire does provide endpoints for that entity. In this case, there would be two resources for the TextMessage entity:

  • A TextMessageExt resource created by the REST endpoint generator that is used by the generated endpoints.
  • A TextMessage resource created by Guidewire that is used by the base configuration endpoints.

There would also be two sets of endpoints:

  • The paths for the generated set would use an "-ext"/"Ext" suffix, such as:
    • GET /text-messages-ext
    • POST /text-messages-ext
    • GET /text-messages-ext/{textMessageExtId}
    • PATCH /text-messages-ext/{textMessageExtId}
    • DELETE /text-messages-ext/{textMessageExtId}
  • The paths for the Guidewire set would not use an "-ext"/"Ext" suffix, such as:
    • GET /text-messages
    • POST /text-messages
    • GET /text-messages/{textMessageId}
    • PATCH /text-messages/{textMessageId}
    • DELETE /text-messages/{textMessageId}

Thus, in this future release, you would be able to continue using the endpoints you generated with the functionality you configured. You could also use the endpoints that Guidewire generated.

Endpoints may correspond to unsupported operations

The REST endpoint generator always generates POST, PATCH, and DELETE endpoints for the target entity. However, some base configuration entities may not support all of these operations. For example, the theoretical TextMessage entity may not support DELETEs. In these situations, the endpoints for the unsupported operations will not work.

When an endpoint corresponds to an unsupported operation, you may want to consider removing it from the <api>_ext-1.0.swagger.yaml file to prevent caller applications from attempting to use it.

Base configuration subtype entities

In some cases, a supertype entity may have some subtypes which have base configuration endpoints and other subtypes which do not. In this case, you can generate endpoints for any subtype that does not have base configuration endpoints, even if the supertype or some of the other subtypes do have generated endpoints.

Prohibited entities

You cannot generate endpoints for base configuration entities that already have endpoints. This is true for both entities with endpoints created by Guidewire and entities with endpoints generated by you.

Some InsuranceSuite applications also have base configuration entities that do not have endpoints and that you cannot generate endpoints for. If you name one of these entities at the first prompt, the REST endpoint generator responds with an error message similar to the following:

You cannot generate endpoints for the '<namedEntity>' entity. The REST endpoint generator  
does not allow endpoint generation for the following entities and their subtypes 
[<list_of_prohibited_entitied>]