Create custom objects and fields with the Skedulo API
You can create and delete custom objects and fields in the Skedulo Pulse Platform using the Skedulo API, however, editing custom objects and fields via the API is not supported. See the Custom fields section of the Skedulo API Reference documentation for more information about using the /custom endpoints.
Note that unique custom fields are required for performing upsert operations, and they must be created using the Custom fields API. To learn more about how to perform upsert GraphQL operations, see the GraphQL upserts documentation.
Important
The /custom/standalone endpoint is only for use with the Skedulo Pulse Platform.
Skedulo for Salesforce users must create custom fields in Salesforce. See Creating custom objects in Salesforce for details.
Prerequisite
You are an administrator or user with the appropriate permissions and are properly authenticated to the Skedulo API.
Create a custom object and field via the Custom API
To create a custom object with a unique ID field, make the following request:
Operation: POST
Endpoint: /custom/standalone/schemas
Example request body:
{
"name": "NewCustomExternalObject",
"label": "Custom External Object",
"fields": [
{
"name": "Name",
"column": {
"type": "string"
}
},
{
"name": "UniqueID",
"column": {
"type": "string",
"unique": true
}
}
]
}
Expected response:
{
"result": {
"schema": {
"name": "NewCustomExternalObject",
"description": null,
"label": "Custom External Object",
"mapping": "__newcustomexternalobject",
"id": "aee80200-b04b-4a89-bbaf-bbf516f2d14d"
},
"fields": [
...
{
"id": "2998995f-9d31-4d7a-abc2-0dbb94e32ec0",
"name": "UniqueID",
"schemaName": "NewCustomExternalObject",
"label": null,
"description": null,
"fieldType": "string",
"mapping": "__uniqueid",
"referenceSchemaName": null,
"referenceSchemaFieldName": null,
"required": false,
"upsertKey": true,
"accessMode": "read_write",
"readOnly": false,
"maxLength": 255,
"precision": null,
"scale": null
}
]
}
}
Note that the UniqueID field has the "upsertKey": true value in the JSON response, which indicates that this field can be used for GraphQL upsert operations.
Add a custom field to an existing object
Custom fields can be unique fields that act as a secondary key and can be used to perform GraphQL upsert operations. A unique field created with the Skedulo API /custom/standalone/fields endpoint is automatically defined as valid for upsert operations.
To create a custom field for an existing object, make the following request:
Operation: POST
Endpoint: /custom/standalone/fields
Example request body:
{
"name": "NewCustomField",
"schemaName": "Resources",
"label": "NewCustomField",
"description": "A new custom field on the Resources object.",
"fieldType": "string",
"column": {
"type": "string",
"unique": true
}
}
Expected response:
Note that adding the "unique": true field to the request ensures that the new custom field can be upserted on, as indicated in the response that includes "upsertKey": true.
{
"result": {
"id": "e9d081a3-ec03-4515-847b-423465fff178",
"name": "NewCustomField",
"schemaName": "Resources",
"label": "NewCustomField",
"description": "A new custom field on the Resources object.",
"fieldType": "string",
"mapping": "__newcustomfield",
"referenceSchemaName": null,
"referenceSchemaFieldName": null,
"required": false,
"upsertKey": true,
"accessMode": "read_write",
"readOnly": false,
"maxLength": 255,
"precision": null,
"scale": null
}
}
Feedback
Was this page helpful?