arcade-mcp/toolkits/datadog_api/arcade_datadog_api/wrapper_tools/CreateOnCallSchedule.json
jottakka f05560bbf4
[MOAR][DATADOG] Adding DataDog starter toolkit (+590) (#633)
Co-authored-by: Francisco Liberal <francisco@arcade.dev>
2025-10-20 15:49:48 -03:00

637 lines
40 KiB
JSON

{
"name": "CreateOnCallSchedule",
"fully_qualified_name": "DatadogApi.CreateOnCallSchedule@0.1.0",
"description": "Create a new on-call schedule in Datadog.\n\nThis tool is used to create a new on-call schedule in Datadog. It should be called when there is a need to set up a schedule for on-call duties, allowing teams to manage availability and response times. The tool returns a confirmation of the schedule created along with its details.",
"toolkit": {
"name": "ArcadeDatadogApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "schedule_data",
"required": true,
"description": "JSON object containing details for creating an on-call schedule, including attributes like name, layers, and time zone, and relationships like associated teams.",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"data": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attributes": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"layers": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"effective_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date/time when this layer becomes active (in ISO 8601)."
},
"end_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date/time after which this layer no longer applies (in ISO 8601)."
},
"interval": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"days": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of days in each rotation cycle."
},
"seconds": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Any additional seconds for the rotation cycle (up to 30 days)."
}
},
"inner_properties": null,
"description": "Defines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour."
},
"members": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"user": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The user's ID."
}
},
"inner_properties": null,
"description": "Identifies the user participating in this layer as a single object with an `id`."
}
},
"description": "A list of members who participate in this layer's rotation."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of this layer."
},
"restrictions": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"end_day": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"properties": null,
"inner_properties": null,
"description": "A day of the week."
},
"end_time": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Specifies the ending time for this restriction."
},
"start_day": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"properties": null,
"inner_properties": null,
"description": "A day of the week."
},
"start_time": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Specifies the starting time for this restriction."
}
},
"description": "Zero or more time-based restrictions (for example, only weekdays, during business hours)."
},
"rotation_start": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date/time when the rotation for this layer starts (in ISO 8601)."
}
},
"description": "The layers of On-Call coverage that define rotation intervals and restrictions."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A human-readable name for the new schedule."
},
"time_zone": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The time zone in which the schedule is defined."
}
},
"inner_properties": null,
"description": "Describes the main attributes for creating a new schedule, including name, layers, and time zone."
},
"relationships": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"teams": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"data": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the team in this relationship."
},
"type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"teams"
],
"properties": null,
"inner_properties": null,
"description": "Teams resource type."
}
},
"description": "An array of team references for this schedule."
}
},
"inner_properties": null,
"description": "Associates teams with this schedule in a data structure."
}
},
"inner_properties": null,
"description": "Gathers relationship objects for the schedule creation request, including the teams to associate."
},
"type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"schedules"
],
"properties": null,
"inner_properties": null,
"description": "Schedules resource type."
}
},
"inner_properties": null,
"description": "The core data wrapper for creating a schedule, encompassing attributes, relationships, and the resource type."
}
},
"inner_properties": null,
"description": ""
},
"inferrable": true,
"http_endpoint_parameter_name": "requestBody"
},
{
"name": "include_relationships",
"required": false,
"description": "Comma-separated list of relationships to return with the schedule. Options: `teams`, `layers`, `layers.members`, `layers.members.user`.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`."
},
"inferrable": true,
"http_endpoint_parameter_name": "include"
}
]
},
"output": {
"description": "Response from the API endpoint 'CreateOnCallSchedule'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": null,
"secrets": [
{
"key": "DATADOG_API_KEY"
},
{
"key": "DATADOG_APPLICATION_KEY"
},
{
"key": "DATADOG_BASE_URL"
}
],
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.1.0",
"description": "Tools that enable LLMs to interact directly with the Datadog API."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.2.0",
"description": ""
},
"url": "https://{datadog_base_url}/api/v2/on-call/schedules",
"http_method": "POST",
"headers": {},
"parameters": [
{
"name": "include",
"tool_parameter_name": "include_relationships",
"description": "Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`."
},
"accepted_as": "query",
"required": false,
"deprecated": false,
"default": null,
"documentation_urls": []
},
{
"name": "requestBody",
"tool_parameter_name": "schedule_data",
"description": "",
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"data": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"attributes": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"layers": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"effective_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date/time when this layer becomes active (in ISO 8601)."
},
"end_date": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date/time after which this layer no longer applies (in ISO 8601)."
},
"interval": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"days": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The number of days in each rotation cycle."
},
"seconds": {
"val_type": "integer",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Any additional seconds for the rotation cycle (up to 30 days)."
}
},
"inner_properties": null,
"description": "Defines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour."
},
"members": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"user": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The user's ID."
}
},
"inner_properties": null,
"description": "Identifies the user participating in this layer as a single object with an `id`."
}
},
"description": "A list of members who participate in this layer's rotation."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The name of this layer."
},
"restrictions": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"end_day": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"properties": null,
"inner_properties": null,
"description": "A day of the week."
},
"end_time": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Specifies the ending time for this restriction."
},
"start_day": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"properties": null,
"inner_properties": null,
"description": "A day of the week."
},
"start_time": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "Specifies the starting time for this restriction."
}
},
"description": "Zero or more time-based restrictions (for example, only weekdays, during business hours)."
},
"rotation_start": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The date/time when the rotation for this layer starts (in ISO 8601)."
}
},
"description": "The layers of On-Call coverage that define rotation intervals and restrictions."
},
"name": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "A human-readable name for the new schedule."
},
"time_zone": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The time zone in which the schedule is defined."
}
},
"inner_properties": null,
"description": "Describes the main attributes for creating a new schedule, including name, layers, and time zone."
},
"relationships": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"teams": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": {
"data": {
"val_type": "array",
"inner_val_type": "json",
"enum": null,
"properties": null,
"inner_properties": {
"id": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": "The unique identifier of the team in this relationship."
},
"type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"teams"
],
"properties": null,
"inner_properties": null,
"description": "Teams resource type."
}
},
"description": "An array of team references for this schedule."
}
},
"inner_properties": null,
"description": "Associates teams with this schedule in a data structure."
}
},
"inner_properties": null,
"description": "Gathers relationship objects for the schedule creation request, including the teams to associate."
},
"type": {
"val_type": "string",
"inner_val_type": null,
"enum": [
"schedules"
],
"properties": null,
"inner_properties": null,
"description": "Schedules resource type."
}
},
"inner_properties": null,
"description": "The core data wrapper for creating a schedule, encompassing attributes, relationships, and the resource type."
}
},
"inner_properties": null,
"description": ""
},
"accepted_as": "body",
"required": true,
"deprecated": false,
"default": null,
"documentation_urls": []
}
],
"documentation_urls": [],
"secrets": [
{
"arcade_key": "DATADOG_API_KEY",
"parameter_name": "DD-API-KEY",
"accepted_as": "header",
"formatted_value": null,
"description": "",
"is_auth_token": false
},
{
"arcade_key": "DATADOG_APPLICATION_KEY",
"parameter_name": "DD-APPLICATION-KEY",
"accepted_as": "header",
"formatted_value": null,
"description": "",
"is_auth_token": false
},
{
"arcade_key": "DATADOG_BASE_URL",
"parameter_name": "datadog_base_url",
"accepted_as": "path",
"formatted_value": null,
"description": "",
"is_auth_token": false
}
],
"request_body_spec": "{\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"description\": \"The top-level request body for schedule creation, wrapping a `data` object.\",\n \"example\": {\n \"data\": {\n \"attributes\": {\n \"layers\": [\n {\n \"effective_date\": \"2025-02-03T05:00:00Z\",\n \"end_date\": \"2025-12-31T00:00:00Z\",\n \"interval\": {\n \"days\": 1\n },\n \"members\": [\n {\n \"user\": {\n \"id\": \"00000000-aba1-0000-0000-000000000000\"\n }\n }\n ],\n \"name\": \"Layer 1\",\n \"restrictions\": [\n {\n \"end_day\": \"friday\",\n \"end_time\": \"17:00:00\",\n \"start_day\": \"monday\",\n \"start_time\": \"09:00:00\"\n }\n ],\n \"rotation_start\": \"2025-02-01T00:00:00Z\"\n }\n ],\n \"name\": \"On-Call Schedule\",\n \"time_zone\": \"America/New_York\"\n },\n \"relationships\": {\n \"teams\": {\n \"data\": [\n {\n \"id\": \"00000000-da3a-0000-0000-000000000000\",\n \"type\": \"teams\"\n }\n ]\n }\n },\n \"type\": \"schedules\"\n }\n },\n \"properties\": {\n \"data\": {\n \"description\": \"The core data wrapper for creating a schedule, encompassing attributes, relationships, and the resource type.\",\n \"properties\": {\n \"attributes\": {\n \"description\": \"Describes the main attributes for creating a new schedule, including name, layers, and time zone.\",\n \"properties\": {\n \"layers\": {\n \"description\": \"The layers of On-Call coverage that define rotation intervals and restrictions.\",\n \"items\": {\n \"description\": \"Describes a schedule layer, including rotation intervals, members, restrictions, and timeline settings.\",\n \"properties\": {\n \"effective_date\": {\n \"description\": \"The date/time when this layer becomes active (in ISO 8601).\",\n \"example\": \"2025-01-01T00:00:00Z\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"end_date\": {\n \"description\": \"The date/time after which this layer no longer applies (in ISO 8601).\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n },\n \"interval\": {\n \"description\": \"Defines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour.\",\n \"properties\": {\n \"days\": {\n \"description\": \"The number of days in each rotation cycle.\",\n \"example\": 1,\n \"format\": \"int32\",\n \"maximum\": 400,\n \"type\": \"integer\"\n },\n \"seconds\": {\n \"description\": \"Any additional seconds for the rotation cycle (up to 30 days).\",\n \"example\": 300,\n \"format\": \"int64\",\n \"maximum\": 2592000,\n \"type\": \"integer\"\n }\n },\n \"type\": \"object\"\n },\n \"members\": {\n \"description\": \"A list of members who participate in this layer's rotation.\",\n \"items\": {\n \"description\": \"Defines a single member within a schedule layer, including the reference to the underlying user.\",\n \"properties\": {\n \"user\": {\n \"description\": \"Identifies the user participating in this layer as a single object with an `id`.\",\n \"properties\": {\n \"id\": {\n \"description\": \"The user's ID.\",\n \"example\": \"00000000-aba1-0000-0000-000000000000\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"name\": {\n \"description\": \"The name of this layer.\",\n \"example\": \"Primary On-Call Layer\",\n \"type\": \"string\"\n },\n \"restrictions\": {\n \"description\": \"Zero or more time-based restrictions (for example, only weekdays, during business hours).\",\n \"items\": {\n \"description\": \"Defines a single time restriction rule with start and end times and the applicable weekdays.\",\n \"properties\": {\n \"end_day\": {\n \"description\": \"A day of the week.\",\n \"enum\": [\n \"monday\",\n \"tuesday\",\n \"wednesday\",\n \"thursday\",\n \"friday\",\n \"saturday\",\n \"sunday\"\n ],\n \"type\": \"string\",\n \"x-enum-varnames\": [\n \"MONDAY\",\n \"TUESDAY\",\n \"WEDNESDAY\",\n \"THURSDAY\",\n \"FRIDAY\",\n \"SATURDAY\",\n \"SUNDAY\"\n ]\n },\n \"end_time\": {\n \"description\": \"Specifies the ending time for this restriction.\",\n \"type\": \"string\"\n },\n \"start_day\": {\n \"description\": \"A day of the week.\",\n \"enum\": [\n \"monday\",\n \"tuesday\",\n \"wednesday\",\n \"thursday\",\n \"friday\",\n \"saturday\",\n \"sunday\"\n ],\n \"type\": \"string\",\n \"x-enum-varnames\": [\n \"MONDAY\",\n \"TUESDAY\",\n \"WEDNESDAY\",\n \"THURSDAY\",\n \"FRIDAY\",\n \"SATURDAY\",\n \"SUNDAY\"\n ]\n },\n \"start_time\": {\n \"description\": \"Specifies the starting time for this restriction.\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"rotation_start\": {\n \"description\": \"The date/time when the rotation for this layer starts (in ISO 8601).\",\n \"example\": \"2025-01-01T00:00:00Z\",\n \"format\": \"date-time\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"interval\",\n \"rotation_start\",\n \"effective_date\",\n \"members\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"name\": {\n \"description\": \"A human-readable name for the new schedule.\",\n \"example\": \"Team A On-Call\",\n \"type\": \"string\"\n },\n \"time_zone\": {\n \"description\": \"The time zone in which the schedule is defined.\",\n \"example\": \"America/New_York\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"time_zone\",\n \"layers\"\n ],\n \"type\": \"object\"\n },\n \"relationships\": {\n \"description\": \"Gathers relationship objects for the schedule creation request, including the teams to associate.\",\n \"properties\": {\n \"teams\": {\n \"description\": \"Associates teams with this schedule in a data structure.\",\n \"properties\": {\n \"data\": {\n \"description\": \"An array of team references for this schedule.\",\n \"items\": {\n \"description\": \"Relates a team to this schedule, identified by `id` and `type` (must be `teams`).\",\n \"properties\": {\n \"id\": {\n \"description\": \"The unique identifier of the team in this relationship.\",\n \"example\": \"00000000-da3a-0000-0000-000000000000\",\n \"type\": \"string\"\n },\n \"type\": {\n \"default\": \"teams\",\n \"description\": \"Teams resource type.\",\n \"enum\": [\n \"teams\"\n ],\n \"example\": \"teams\",\n \"type\": \"string\",\n \"x-enum-varnames\": [\n \"TEAMS\"\n ]\n }\n },\n \"required\": [\n \"type\",\n \"id\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n }\n },\n \"type\": \"object\"\n }\n },\n \"type\": \"object\"\n },\n \"type\": {\n \"default\": \"schedules\",\n \"description\": \"Schedules resource type.\",\n \"enum\": [\n \"schedules\"\n ],\n \"example\": \"schedules\",\n \"type\": \"string\",\n \"x-enum-varnames\": [\n \"SCHEDULES\"\n ]\n }\n },\n \"required\": [\n \"type\",\n \"attributes\"\n ],\n \"type\": \"object\"\n }\n },\n \"required\": [\n \"data\"\n ],\n \"type\": \"object\"\n }\n }\n },\n \"required\": true\n}",
"use_request_body_schema_mode": true,
"validate_request_body_schema": true
}
}