{
  "opencollection": "1.0.0",
  "info": {
    "name": "Workday Extend Workday Custom Objects API",
    "version": "v1"
  },
  "request": {
    "auth": {
      "type": "oauth2",
      "flow": "authorization_code",
      "authorizationUrl": "https://{baseUrl}/authorize",
      "accessTokenUrl": "https://{baseUrl}/oauth2/{tenant}/token",
      "credentials": {
        "clientId": "{{clientId}}",
        "clientSecret": "{{clientSecret}}"
      }
    }
  },
  "items": [
    {
      "info": {
        "name": "Custom Object Definitions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Workday Extend List custom object definitions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/customObjectDefinitions",
            "params": [
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of results to return"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "Number of results to skip for pagination"
              },
              {
                "name": "search",
                "value": "",
                "type": "query",
                "description": "Search term to filter results"
              }
            ]
          },
          "docs": "Returns a collection of custom object type definitions configured in the tenant, including their schemas, field definitions, and parent object associations."
        },
        {
          "info": {
            "name": "Workday Extend Create a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/customObjectDefinitions",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new custom object type definition with specified fields and attributes. The definition determines the schema for all instances of this custom object type."
        },
        {
          "info": {
            "name": "Workday Extend Retrieve a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/customObjectDefinitions/:definitionId",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the custom object definition"
              }
            ]
          },
          "docs": "Returns the details of a specific custom object type definition including its full field schema, validation rules, and parent object associations."
        },
        {
          "info": {
            "name": "Workday Extend Update a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/customObjectDefinitions/:definitionId",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the custom object definition"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates an existing custom object type definition. Changes to the schema may affect existing custom object instances."
        },
        {
          "info": {
            "name": "Workday Extend Delete a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/customObjectDefinitions/:definitionId",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the custom object definition"
              }
            ]
          },
          "docs": "Deletes a custom object type definition. All instances of this custom object type must be deleted before the definition can be removed."
        }
      ]
    },
    {
      "info": {
        "name": "Custom Object Fields",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Workday Extend List custom object fields",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/customObjectDefinitions/:definitionId/fields",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the custom object definition"
              }
            ]
          },
          "docs": "Returns the collection of fields defined in the specified custom object definition, including field types, validation rules, and constraints."
        },
        {
          "info": {
            "name": "Workday Extend Add a field to a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/customObjectDefinitions/:definitionId/fields",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the custom object definition"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Adds a new field to the custom object definition. The field will be available on all new and existing instances of this custom object type."
        }
      ]
    },
    {
      "info": {
        "name": "Custom Object Instances",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Workday Extend Retrieve custom object data for a worker",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/workers/:workerId/customObjects/:customObjectName",
            "params": [
              {
                "name": "workerId",
                "value": "",
                "type": "path",
                "description": "The unique Workday identifier of the worker"
              },
              {
                "name": "customObjectName",
                "value": "",
                "type": "path",
                "description": "The name of the custom object type"
              }
            ]
          },
          "docs": "Returns the custom object instance data attached to the specified worker. Supports both single-instance and multi-instance custom objects. For multi-instance objects, returns a collection of instances."
        },
        {
          "info": {
            "name": "Workday Extend Create or update custom object data for a worker",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/workers/:workerId/customObjects/:customObjectName",
            "params": [
              {
                "name": "workerId",
                "value": "",
                "type": "path",
                "description": "The unique Workday identifier of the worker"
              },
              {
                "name": "customObjectName",
                "value": "",
                "type": "path",
                "description": "The name of the custom object type"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates or updates the custom object instance data attached to the specified worker. If the custom object does not exist for the worker, it is created. Otherwise, the existing data is updated with the provided values."
        },
        {
          "info": {
            "name": "Workday Extend Delete custom object data for a worker",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/workers/:workerId/customObjects/:customObjectName",
            "params": [
              {
                "name": "workerId",
                "value": "",
                "type": "path",
                "description": "The unique Workday identifier of the worker"
              },
              {
                "name": "customObjectName",
                "value": "",
                "type": "path",
                "description": "The name of the custom object type"
              }
            ]
          },
          "docs": "Deletes the custom object instance data attached to the specified worker."
        },
        {
          "info": {
            "name": "Workday Extend Retrieve custom object data for an organization",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/organizations/:organizationId/customObjects/:customObjectName",
            "params": [
              {
                "name": "organizationId",
                "value": "",
                "type": "path",
                "description": "The unique Workday identifier of the organization"
              },
              {
                "name": "customObjectName",
                "value": "",
                "type": "path",
                "description": "The name of the custom object type"
              }
            ]
          },
          "docs": "Returns the custom object instance data attached to the specified organization. Supports both single-instance and multi-instance custom objects."
        },
        {
          "info": {
            "name": "Workday Extend Create or update custom object data for an organization",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{baseUrl}/api/customObjects/v1/{tenant}/organizations/:organizationId/customObjects/:customObjectName",
            "params": [
              {
                "name": "organizationId",
                "value": "",
                "type": "path",
                "description": "The unique Workday identifier of the organization"
              },
              {
                "name": "customObjectName",
                "value": "",
                "type": "path",
                "description": "The name of the custom object type"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates or updates the custom object instance data attached to the specified organization."
        }
      ]
    }
  ],
  "bundled": true
}