Create a Solution
Solutions
A Solution is the set of user-specified configuration options that allows TIBCO Scribe® to perform a specific task, such as replicating or integrating entities or fields from a source account to a target database. Solutions contain an Agent, mapping instructions, and Connection information. These items function in concert to move data from one datastore to another. Each Solution type provides different functionality and options. See Solutions in the TIBCO Scribe® Help.
Preparing a Solution
When creating or modifying a Solution, you must run a prepare command for the Solution. This is a lengthy process that gathers all the Connections used in the Solution, gathers all the metadata that the Solution requires, and tries to compile each Map. This requires that the Agent and any Connections that the Solution uses are up, available, and valid. Because this is an asynchronous process, the method returns information that includes an ID that you can use to query the results of the POST prepare Solution method with GET /v1/orgs/{orgId}/solutions/{solutionId}/prepare/{prepareId}.
When running the POST prepare Solution method on a Solution that was cloned or that contains imported Maps, TIBCO Scribe® updates any Event Maps during the compile process with a new Endpoint URL based on the new Map IDs and the Data Center associated with the Organization. Be sure to update any applications that send messages to TIBCO Scribe® with the new URL.
Other endpoints associated with Solutions include:
- Maps — Maps are a set of instructions used by TIBCO Scribe® that run sequentially to integrate or migrate data. Use the Maps endpoints to view, create, modify, delete, run, or lock and unlock Maps. See Managing Maps in the TIBCO Scribe® Help.
- Blocks — Blocks are used in Maps to represent individual operations. For example, the Query Block, allows you to create an operation similar to a SQL SELECT statement to define which source entity and source records should be included in the Map.
Before using the TIBCO Scribe® API to create, update, or delete Maps or Solutions, review the following How Do I... topics:
- Solution MapLinks
- Copy Or Clone A Solution To Another Organization
- Copy Or Clone A Solution Using Shared Resources
- Create Or Modify A Solution Or Map
- Manually Load Metadata
Use the Solutions endpoints to view, create, modify, and delete Solution information.
Endpoints—Use the links in the Endpoints section below to access the TIBCO Scribe® Swagger page and try out the API against your Organization.
Fields for Solutions Endpoints—Review the field definition table below the list of Endpoints for detailed field level information.
Considerations
In some cases there are special considerations or use cases for specific endpoints that you should know about before you use the endpoint.
Solutions with Shared Resources
If you copy or clone a Solution with the byReference parameter enabled, the source and target Solutions share resources. Some API methods are not supported for these types of Solutions. See Copy Or Clone A Solution Using Shared Resources for considerations related to Solutions with shared resources.
POST /v1/orgs/{orgId}/solutions
- The created Solution is incomplete until a Solutions POST prepare command is issued against it.
PUT /v1/orgs/{orgId}/solutions/{solutionId}
- Use the index value to change the order of Maps. You cannot add or remove Maps.
- Modifying a source Connection in a Replication Solution requires redefining entities. TIBCO recommends creating a new Replication Solution if you need to modify either the source or the target Connection in your Replication Solution. If you choose to do the modification, be sure to specify Source entities again.
- Modifying a Replication Solution generates an error if the mapLinks are not included. However, Replication Solutions do not contain Maps, and have no associated mapLinks.
Workaround: Make sure mapLinks is entered as follows in the model:
"mapLinks": [],
POST /v1/orgs/{orgId}/solutions/{solutionId}/cloneAsync
- To clone a Solution successfully, all Maps in the source Solution must be valid, and the destination Organization must use the same Connection type and names. The cloned Solution is incomplete until a Solutions POST prepare command is issued against it.
- The most recent revision of each Map in the Solution is used.
POST /v1/orgs/{orgId}/solutions/{solutionId}/clone
- This method is being deprecated in a future release. Best practice is to use the POST /v1/orgs/{orgId}/solutions/{solutionId}/cloneAsync method instead.
PUT /v1/orgs/{orgId}/solutions/{solutionId}/schedule
- The model for a Solution schedule supports a complex hierarchy. See the TIBCO Scribe® user interface to identify the required fields for the defined schedule type.
POST /v1/orgs/{orgId}/solutions/{solutionId}/start
- This call is ignored if the Solution is running. Use this command instead of Commands POST start.
POST /v1/orgs/{orgId}/solutions/{solutionId}/startmonitor
- Use this call to return the number of records processed so far while a Solution is executing.
POST /v1/orgs/{orgId}/solutions/{solutionId}/stop
- If you stop a running Solution with a Map that contains a Wait Block, the Solution does not stop until the time configured in the Wait Block has elapsed.
Endpoints
Return a list of Solutions
Delete a Solution
Return information about a Solution
Modify a Solution
Copy an entire Solution into another Organization (Replaced by CloneAsync)
Copy an entire Solution into another Organization asynchronously
Return the status of the asynchronous clone command
Return information about Connections for a Solution
Prepare a Solution to run
Return the status of a Solution prepare command
Return information about a schedule for a Solution
Modify a schedule for a Solution
Start a Solution execution
Start monitoring a Solution when it runs
Stop a Solution execution
Stop monitoring a Solution when it runs
Fields for Solutions Endpoints
The list of fields defined in this table is comprehensive across all Solutions endpoints. See Endpoints for a list of Solutions endpoints with links to the associated Swagger page.
Name |
Description |
Endpoints |
---|---|---|
Parameters |
||
byReference query boolean |
Solutions cloned or copied with this parameter enabled share resources with the source Solution, such as Maps. Default is false. See Copy Or Clone A Solution Using Shared Resources.
Note: Not supported for Replication and Event Solutions. |
|
checkForBulk query boolean |
Enables bulk processing for a Replication Solution if supported by the connections in the Solution. Default value is false.
|
|
destAgentId query integer |
ID of the Agent assigned to execute this Solution in the target Organization to which you are sending a cloned Solution. Required. See Copy Or Clone A Solution To Another Organization. |
|
destOrgId query integer |
ID of the Organization to which you are sending a cloned Solution. Required. See Copy Or Clone A Solution To Another Organization. |
|
limit query integer |
Maximum number of Solutions to return. Default value is 100. See Reading Resources for more information on offset and limit parameters. |
|
offset query integer |
Number of Solutions to skip before returning results. Default value is 0. See Reading Resources for more information on offset and limit parameters. |
|
model body model |
Model for the Solution. Required Model for the Solution Schedule. Required |
|
orgId path integer |
Unique ID for each Organization. Required |
All |
prepareId path string |
ID of the Solution Prepare job started with the POST /v1/orgs/{orgId}/solutions/{solutionId}/prepare method. |
|
solutionId path string |
GUID/UUID of the Solution. Required |
|
solutionNameFilter query string |
Filters data by the name of a specific Solution. |
|
solutionType query string |
Filters data by the type of Solution. See solutionType for a list of types. |
|
solutionStatusFilter query string |
Filters data by the status of a specific Solution. See status for a list of statuses. |
|
sortName query string |
Sort Solutions by one of the following items:
Default value is Name. See sortOrder to set ascending or descending record order. |
|
sortOrder query string |
Sets the order of records when sorted using sortName. Default is asc.
|
|
Response |
||
agentId response string |
GUID / UUID of the Agent assigned to execute this Solution. |
|
clonedSolutionId response string |
GUID/UUID of the new Solution created using the asynchronous clone command. |
|
connectionID response string |
GUID/UUID of a Connection used in one or more Maps in the Solution. |
|
connectionIdForSource response string |
GUID/UUID of the source Connection in a Replication Services Solution. For other types of Solutions the Connection information is stored in an associated Map. See Maps. |
|
connectionIdForTarget response string |
GUID/UUID of the target Connection in a Replication Services Solution. For other types of Solutions the Connection information is stored in an associated Map. See Maps. |
|
connectionName response string |
User-specified name of a Connection used in one or more Maps in the Solution. |
|
connectorID response string |
GUID/UUID of the Connector for a Connection used in one or more Maps in the Solution. |
|
connectorLogoUrl response string |
URL where the logo for the Connector is stored. |
|
connectorName response string |
Displays the name of the Connector, such as Eloqua, Microsoft SQL Server, or Microsoft Dynamics GP, for a Connection used in one or more Maps in the Solution. See Connections in the TIBCO Scribe® Help for a complete list. |
|
creationDate response string |
Date and time in UTC time that the asynchronous Solution clone command was sent. Date and time in UTC time that the prepare command was sent. Date and time in UTC time that the Solution was created. This date is returned in the Solution model, but is not required when creating or modifying a Solution. It is updated or created automatically as needed. |
|
response string |
Date and time in UTC time that the Solution is scheduled to execute. |
|
response string |
When setting a recurring schedule for a Solution, this field contains a set of options selected for the days the Solution executes. See the recurringOptions model for the Recurring scheduleOption. Fields include: |
|
response string |
Used to set a recurring schedule for a Solution. When the daysOption is set to DaysInterval, this field indicates the start date for the first execution of a Solution. The daysInterval field is used to count from the date of execution to determine the date of the next execution of the Solution. |
|
response integer |
Used to set a recurring schedule for a Solution. When the daysOption is set to DaysInterval, this field indicates the number of days between one execution of a Solution and the next. |
|
response array/integer |
Used to set a recurring schedule for a Solution. When the daysOption is set to DaysOfMonth, this field lists the specific days of the month during which the Solution should execute. |
|
response array/string |
Used to set a recurring schedule for a Solution. When the daysOption is set to DaysOfWeek, this field lists the specific days of the week during which the Solution should execute. |
|
response string |
When setting a recurring schedule for a Solution, this field indicates the option selected for the days the Solution executes. Options include:
|
|
description response string |
User-specified description for the Solution. |
|
response array |
List of entities to be included in the next execution of this Replication Services Solution included in the RSEntitySelection model. |
|
hasError response boolean |
Indicates whether or not the Solution has any errors.
|
|
response integer |
When setting a recurring schedule for a Solution with the timeOption set to TimeOfDay, this field indicates the number of minutes past the hour that the Solution should execute. |
|
id response string |
GUID/UUID of the Object. Objects include:
|
|
inProgressStartTime response string |
Date/Time when a Solution that is currently running started. |
|
isComplete response boolean |
Indicates whether the asynchronous clone or the prepare process for a Solution is complete. See Copy Or Clone A Solution To Another Organization or Preparing a Solution.
|
|
isDisabled response boolean |
Indicates whether or not the Solution is disabled.
|
|
response boolean |
Used to set a recurring schedule for a Solution. When the daysOption is set to DaysOfMonth, this field indicates whether or not the Solution should execute on the last day of the month.
|
|
lastModificationDate response string |
Date and time in UTC time of the last time the Solution was modified. This date is returned in the Solution model, but is not required when creating or modifying a Solution. It is updated or created automatically as needed. |
|
lastRunTime response string |
Date and time in UTC time of the last time the Solution ran. |
|
response array |
Array of Maps with errors in the Solution being prepared. See Preparing a Solution. Message field within this model may include the text of the error, or the top level message field may contain the error. Fields include: |
|
mapId response integer |
ID of the Map with errors in the Solution being prepared. See Preparing a Solution. |
|
mapLinks response string |
One or more MapLinkModels included in the Solution. See Maps for individual field definitions. |
|
response string |
Name of the Map with errors in the Solution being prepared. This field is part of the mapErrorModels. See Preparing a Solution. |
|
response string |
Status message returned by the asynchronous clone or the prepare Solution process, such as, Starting Preparation or the text for an error. See Copy Or Clone A Solution To Another Organization, Copy Or Clone A Solution Using Shared Resources, or Preparing a Solution. Error message included in mapErrorModels for Maps with errors. |
|
minAgentVersion response string |
Minimum Agent version required to execute this Solution. |
|
modificationBy response string |
Last user to modify the Solution. When set to Cloud this indicates that TIBCO Scribe® itself modified the Solution last, such as to update the Solution status. |
|
name response string |
User-specified name of the Solution. Must be unique. If a duplicate name is used, TIBCO Scribe® appends a space and a number to make the duplicate unique. |
|
nextRunTime response string |
Date and time in UTC time of the next time the Solution is scheduled to execute. |
|
reasonDisabled response integer |
Indicates why a Solution is disabled, such as by the user or by the system when a TIBCO Scribe® Subscription ends.
|
|
response string |
Model for the Recurring scheduleOption. Fields include: |
|
response array |
Settings that are specific only to Replication Services Solutions. |
|
response string |
Model for the RunOnce scheduleOption. Fields include: |
|
response string |
Type of execution schedule configured for the Solution. Options include:
See Scheduling A Solution in the TIBCO Scribe® Help. |
|
response string |
Indicates which entity selection option is configured for a Replication Services Solution in the RSEntitySelection model.
|
|
solutionAgentType response string |
Indicates which type of Agent is configured for the Solution. Types include:
|
|
solutionCloneType response string |
Solutions can be copied with the byReference parameter enabled or disabled. If enabled, source and target Solutions share resources and cannot be edited. Values for this parameter indicate the Solution type. See Copy Or Clone A Solution Using Shared Resources. Types include:
|
|
solutionId response string |
GUID/UUID of the Solution being cloned or prepared. See Copy Or Clone A Solution To Another Organization, Copy Or Clone A Solution Using Shared Resources, or Preparing a Solution. |
|
response string |
Type of Solution, includes:
|
|
response string |
Solution's current status. Options include:
|
|
response integer |
When setting a recurring schedule for a Solution with the timeOption set to TimeInterval, this field indicates the specific number of minutes or hours between Solution executions. |
|
response string |
When setting a recurring schedule for a Solution with the timeOption set to TimeInterval, this field indicates the units of measurement for the interval selected in the timeInterval field. Options include: None, Minutes, Hours. |
|
response string |
When setting a recurring schedule for a Solution with the timeOption set to TimeOfDay, this field indicates the specific time that the Solution should execute. |
|
response string |
When setting a recurring schedule for a Solution, this field indicates the option selected for the time of day the Solution executes. Options include:
|
|
response string |
When setting a recurring schedule for a Solution, this field contains a set of options selected for the times of day the Solution executes. See the recurringOptions model for the Recurring scheduleOption. Fields include: |
|
response string |
When setting a recurring schedule for a Solution, this field indicates the Time Zone used for the Solution execution times. See Solution Schedule RecurringModel Timezone. |
|
See