{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/workday-payroll/json-schema/workday-payroll-agent-card-and-tools-a5967cb3b88b10001f7a6900b0d90000-schema.json",
  "title": "agentCardAndTools_a5967cb3b88b10001f7a6900b0d90000",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/workday-payroll-agentdefinition-api-openapi.yml#/components/schemas/agentCardAndTools_a5967cb3b88b10001f7a6900b0d90000",
  "allOf": [
    {
      "required": [
        "description",
        "name",
        "skills",
        "url",
        "version"
      ],
      "type": "object",
      "properties": {
        "overview": {
          "type": "string",
          "description": "The overview message for the agent.",
          "x-workday-type": "Text",
          "x-workday-confidence-level": "Exotic"
        },
        "defaultInputModes": {
          "type": "array",
          "description": "The set of interaction modes that the agent supports across all skills. This can be overridden per-skill. Supported media types for input.",
          "items": {
            "$ref": "#/$defs/defaultInputModes_71f497191133100013c9a17716d50000"
          },
          "x-workday-type": "Multi-instance"
        },
        "id": {
          "type": "string",
          "description": "Agent Definition ID. Used to link Agent Versions.",
          "x-workday-type": "Text"
        },
        "version": {
          "type": "string",
          "description": "The version of the agent - format is up to the provider.",
          "x-workday-type": "Text"
        },
        "documentationUrl": {
          "type": "string",
          "description": "A URL to documentation for the agent.",
          "x-workday-type": "Text"
        },
        "capabilities": {
          "$ref": "#/$defs/capabilities_799da24a09dd10000e3a424ec7340000"
        },
        "externalTenantID": {
          "type": "string",
          "description": "Used to identify the tenant for agents not owned or managed by Workday.",
          "x-workday-type": "Text",
          "x-workday-confidence-level": "Exotic"
        },
        "externalAgentID": {
          "type": "string",
          "description": "External system’s identifier for agents not owned or managed by Workday.",
          "x-workday-type": "Text",
          "x-workday-confidence-level": "Exotic"
        },
        "provider": {
          "$ref": "#/$defs/provider_799da24a09dd10000b827743c6f40000"
        },
        "iconUrl": {
          "type": "string",
          "description": "A URL to an icon for the agent.",
          "x-workday-type": "Text"
        },
        "workdayConfig": {
          "type": "array",
          "description": "Identify Workday Resources to be used in Agent Skills.",
          "items": {
            "$ref": "#/$defs/workdayConfig_881e3f87712810000d1cfd55ee0d0001"
          },
          "x-workday-type": "Multi-instance"
        },
        "skills": {
          "type": "array",
          "description": "Skills are a unit of capability that an agent can perform.",
          "items": {
            "$ref": "#/$defs/skills_881e3f87712810000d1cfd55ee0d0000"
          },
          "x-workday-type": "Multi-instance"
        },
        "description": {
          "type": "string",
          "description": "A human-readable description of the agent. Used to assist users and other agents in understanding what the agent can do.",
          "x-workday-type": "Text"
        },
        "url": {
          "type": "string",
          "description": "A URL to the address the agent is hosted at.",
          "x-workday-type": "Text"
        },
        "name": {
          "type": "string",
          "description": "Human readable name of the agent.",
          "x-workday-type": "Text"
        },
        "supportsAuthenticatedExtendedCard": {
          "type": "boolean",
          "description": "true if the agent supports providing an extended agent card when the user is authenticated. Defaults to false if not specified.",
          "x-workday-type": "Boolean"
        },
        "platform": {
          "$ref": "#/$defs/platform_ca94626efa9010003262e35486130000"
        },
        "defaultOutputModes": {
          "type": "array",
          "description": "Supported media types for output.",
          "items": {
            "$ref": "#/$defs/defaultOutputModes_71f497191133100013c9a17716d50001"
          },
          "x-workday-type": "Multi-instance"
        }
      }
    }
  ],
  "$defs": {
    "INSTANCE_MODEL_REFERENCE": {
      "required": [
        "id"
      ],
      "type": "object",
      "properties": {
        "id": {
          "pattern": "^(([0-9a-f]{32})|(\\S+=\\S+))$",
          "type": "string",
          "description": "Workday Id or Reference Id of the instance."
        },
        "descriptor": {
          "type": "string",
          "description": "The display name of the instance",
          "readOnly": true
        },
        "href": {
          "type": "string",
          "description": "A link to the instance",
          "readOnly": true
        }
      }
    },
    "agentCapabilites_799da24a09dd10000e37766515630000": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "pushNotifications": {
              "type": "boolean",
              "description": "true if the agent can notify updates to client.",
              "x-workday-type": "Boolean"
            },
            "stateTransitionHistory": {
              "type": "boolean",
              "description": "true if the agent exposes status change history for tasks.",
              "x-workday-type": "Boolean"
            },
            "streaming": {
              "type": "boolean",
              "description": "true if the agent supports SSE.",
              "x-workday-type": "Boolean"
            }
          }
        }
      ]
    },
    "agentPlatform_aa793a5c168d1000143f8b9f05c50000": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "reference_id": {
              "type": "string",
              "description": "Reference ID for the Instance of Agent Platform",
              "x-workday-type": "Text"
            },
            "descriptor": {
              "type": "string",
              "description": "The display name of the instance"
            },
            "id": {
              "type": "string",
              "description": "Workday Id or Reference Id of the instance."
            }
          }
        }
      ]
    },
    "agentSkillResource_881e3f87712810000d1ba8a0a0510000": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "workdayResources": {
              "type": "array",
              "description": "List of Workday Resources used by this agents skill.",
              "items": {
                "$ref": "#/$defs/workdayResources_881e3f877128100010fb617ba5260000"
              },
              "x-workday-type": "Multi-instance"
            },
            "skillId": {
              "type": "string",
              "description": "Unique identifier for the agent's skill.",
              "x-workday-type": "Text"
            },
            "executionMode": {
              "$ref": "#/$defs/executionMode_d785eba56e9c10003761356522e00000"
            }
          }
        }
      ]
    },
    "agentSkillTag_71f49719113310002d130aa875ca0000": {
      "allOf": [
        {
          "required": [
            "tag"
          ],
          "type": "object",
          "properties": {
            "tag": {
              "type": "string",
              "description": "Will be used by the client as a hint to understand how the skill can be used.",
              "x-workday-type": "Text"
            }
          }
        }
      ]
    },
    "agentSkill_881e3f87712810000d0bf06dae650000": {
      "allOf": [
        {
          "required": [
            "description",
            "id",
            "name"
          ],
          "type": "object",
          "properties": {
            "tags": {
              "type": "array",
              "description": "Set of tagwords describing classes of capabilities for this specific skill.",
              "items": {
                "$ref": "#/$defs/tags_71f49719113310002d148ce3f5370002"
              },
              "x-workday-type": "Multi-instance"
            },
            "inputModes": {
              "type": "array",
              "description": "The set of interaction modes that the skill supports (if different than the default).",
              "items": {
                "$ref": "#/$defs/inputModes_71f49719113310002d148ce3f5370001"
              },
              "x-workday-type": "Multi-instance"
            },
            "outputModes": {
              "type": "array",
              "description": "Supported media types for output.",
              "items": {
                "$ref": "#/$defs/outputModes_71f49719113310002d148ce3f5370000"
              },
              "x-workday-type": "Multi-instance"
            },
            "description": {
              "type": "string",
              "description": "Description of the skill - will be used by the client or a human as a hint to understand what the skill does.",
              "x-workday-type": "Text"
            },
            "id": {
              "type": "string",
              "description": "Unique identifier for the agent's skill.",
              "x-workday-type": "Text"
            },
            "name": {
              "type": "string",
              "description": "Human readable name of the skill.",
              "x-workday-type": "Text"
            }
          }
        }
      ]
    },
    "agent_resource_2e69afd4e86c10001ad2755763bc0000": {
      "description": "The Workday Resource for this Tools if applicable.",
      "allOf": [
        {
          "$ref": "#/$defs/workdayResource_2e69afd4e86c10001fae2831c6da0000"
        },
        {
          "type": "object"
        }
      ]
    },
    "capabilities_799da24a09dd10000e3a424ec7340000": {
      "description": "Optional capabilities supported by the agent.",
      "allOf": [
        {
          "$ref": "#/$defs/agentCapabilites_799da24a09dd10000e37766515630000"
        },
        {
          "type": "object"
        }
      ]
    },
    "defaultInputModes_71f497191133100013c9a17716d50000": {
      "allOf": [
        {
          "$ref": "#/$defs/mimeType_71f4971911331000139693324a560000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Mime Type (Derived)"
            }
          }
        }
      ]
    },
    "defaultOutputModes_71f497191133100013c9a17716d50001": {
      "allOf": [
        {
          "$ref": "#/$defs/mimeType_71f4971911331000139693324a560000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Mime Type (Derived)"
            }
          }
        }
      ]
    },
    "executionMode_d785eba56e9c10003761356522e00000": {
      "description": "The Execution Mode this Skill is operating in. Either Ambient, or Delegate.",
      "allOf": [
        {
          "$ref": "#/$defs/INSTANCE_MODEL_REFERENCE"
        },
        {
          "type": "object"
        }
      ]
    },
    "inputModes_71f49719113310002d148ce3f5370001": {
      "allOf": [
        {
          "$ref": "#/$defs/mimeType_71f4971911331000139693324a560000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Mime Type (Derived)"
            }
          }
        }
      ]
    },
    "mimeType_71f4971911331000139693324a560000": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "maxLength": 80,
              "type": "string",
              "description": "Supported media type.",
              "x-workday-type": "Text"
            }
          }
        }
      ]
    },
    "outputModes_71f49719113310002d148ce3f5370000": {
      "allOf": [
        {
          "$ref": "#/$defs/mimeType_71f4971911331000139693324a560000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Mime Type (Derived)"
            }
          }
        }
      ]
    },
    "platform_ca94626efa9010003262e35486130000": {
      "description": "The platform of the agent.",
      "allOf": [
        {
          "$ref": "#/$defs/agentPlatform_aa793a5c168d1000143f8b9f05c50000"
        },
        {
          "type": "object"
        }
      ]
    },
    "provider_799da24a09dd10000b827743c6f40000": {
      "description": "The service provider of the agent",
      "allOf": [
        {
          "$ref": "#/$defs/INSTANCE_MODEL_REFERENCE"
        },
        {
          "type": "object"
        }
      ]
    },
    "skillTools_881e3f877128100010f2ba3820a20000": {
      "allOf": [
        {
          "required": [
            "description",
            "tool_name"
          ],
          "type": "object",
          "properties": {
            "description": {
              "type": "string",
              "description": "Description of the Operation.",
              "x-workday-type": "Text",
              "x-workday-confidence-level": "Exotic"
            },
            "agent_resource": {
              "$ref": "#/$defs/agent_resource_2e69afd4e86c10001ad2755763bc0000"
            },
            "tool_name": {
              "type": "string",
              "description": "Name of the Operation.",
              "x-workday-type": "Text",
              "x-workday-confidence-level": "Exotic"
            },
            "tools": {
              "type": "array",
              "description": "Any related Workday Securable Items used by the Workday Resource.",
              "items": {
                "$ref": "#/$defs/tools_a81e152b86021000158c36e9bbdc0001"
              },
              "x-workday-type": "Multi-instance"
            }
          }
        }
      ]
    },
    "skills_881e3f87712810000d1cfd55ee0d0000": {
      "allOf": [
        {
          "$ref": "#/$defs/agentSkill_881e3f87712810000d0bf06dae650000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Agent Definition Skill (Derived)"
            }
          }
        }
      ]
    },
    "tags_71f49719113310002d148ce3f5370002": {
      "allOf": [
        {
          "$ref": "#/$defs/agentSkillTag_71f49719113310002d130aa875ca0000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Agent Definition Skill Tag (Derived)"
            }
          }
        }
      ]
    },
    "tools_a81e152b86021000158c36e9bbdc0001": {
      "allOf": [
        {
          "$ref": "#/$defs/workdayTool_a81e152b86021000158aa15c84900000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Secured (All) (Derived)"
            }
          }
        }
      ]
    },
    "workdayConfig_881e3f87712810000d1cfd55ee0d0001": {
      "allOf": [
        {
          "$ref": "#/$defs/agentSkillResource_881e3f87712810000d1ba8a0a0510000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Agent Definition Skill (Derived)"
            }
          }
        }
      ]
    },
    "workdayResource_2e69afd4e86c10001fae2831c6da0000": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "descriptor": {
              "type": "string",
              "description": "The display name of the instance"
            },
            "id": {
              "type": "string",
              "description": "The id for Agent Resource (Derived)"
            }
          }
        }
      ]
    },
    "workdayResources_881e3f877128100010fb617ba5260000": {
      "allOf": [
        {
          "$ref": "#/$defs/skillTools_881e3f877128100010f2ba3820a20000"
        },
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "The id for Agent Tool (Derived)"
            }
          }
        }
      ]
    },
    "workdayTool_a81e152b86021000158aa15c84900000": {
      "allOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Workday Id or Reference Id of the instance."
            },
            "descriptor": {
              "type": "string",
              "description": "The display name of the instance"
            }
          }
        }
      ]
    }
  }
}