{
  "service": "hackerrank_work",
  "displayName": "HackerRank Work",
  "categories": [
    "Productivity",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Access Token",
      "placeholder": "hackerrank_api_key",
      "description": "HackerRank Work personal access token sent with the Authorization Bearer header. Create and manage tokens from the HackerRank API settings page: https://hackerrank.com/x/settings/api.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.hackerrank.com/work",
  "actions": [
    {
      "id": "hackerrank_work.get_test",
      "service": "hackerrank_work",
      "name": "get_test",
      "description": "Retrieve one HackerRank test by id.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The HackerRank resource identifier."
          },
          "additional_fields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "An additional HackerRank field name to request in detail."
            },
            "description": "Additional HackerRank fields to request as the additional_fields query parameter.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "The HackerRank test identifier and optional additional_fields list."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "test": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The HackerRank resource identifier."
              },
              "unique_id": {
                "type": "string",
                "description": "The public candidate-facing unique identifier for the test."
              },
              "name": {
                "type": "string",
                "description": "The display name of the test."
              },
              "state": {
                "type": "string",
                "description": "The current state of the test."
              },
              "duration": {
                "type": "integer",
                "description": "The test duration in minutes."
              },
              "starttime": {
                "type": "string",
                "description": "The earliest time when candidates may log in to the test."
              },
              "endtime": {
                "type": "string",
                "description": "The latest time when new candidate logins are accepted."
              },
              "created_at": {
                "type": "string",
                "description": "When the test was created."
              },
              "languages": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "The languages enabled for the test, when HackerRank returns them."
              },
              "candidate_details": {
                "type": "array",
                "items": {
                  "description": "A candidate detail configuration object returned by HackerRank."
                },
                "description": "The candidate detail fields configured for the test."
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "The tags associated with the test."
              }
            },
            "additionalProperties": true,
            "required": [
              "id"
            ],
            "description": "A HackerRank test object."
          }
        },
        "additionalProperties": false,
        "required": [
          "test"
        ],
        "description": "The requested HackerRank test."
      }
    },
    {
      "id": "hackerrank_work.get_test_candidate",
      "service": "hackerrank_work",
      "name": "get_test_candidate",
      "description": "Retrieve one HackerRank candidate from a specific test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The HackerRank resource identifier."
          },
          "candidate_id": {
            "type": "string",
            "minLength": 1,
            "description": "The HackerRank resource identifier."
          },
          "additional_fields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "An additional HackerRank field name to request in detail."
            },
            "description": "Additional HackerRank fields to request as the additional_fields query parameter.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id",
          "candidate_id"
        ],
        "description": "The identifiers required to fetch one HackerRank test candidate."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "candidate": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The HackerRank resource identifier."
              },
              "full_name": {
                "type": "string",
                "description": "The full name of the candidate."
              },
              "email": {
                "type": "string",
                "description": "The email address of the candidate."
              },
              "score": {
                "type": "number",
                "description": "The raw score of the candidate, when available."
              },
              "percentage_score": {
                "type": "number",
                "description": "The percentage score of the candidate, when available."
              },
              "status": {
                "type": "integer",
                "description": "The HackerRank candidate status code."
              },
              "integrity_status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The integrity status summary for the candidate attempt."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "integrity_summary": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The integrity summary text returned by HackerRank."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "report_url": {
                "type": "string",
                "description": "The report URL for the candidate."
              },
              "authenticated_report_url": {
                "type": "string",
                "description": "The authenticated report URL for the candidate."
              },
              "pdf_url": {
                "type": "string",
                "description": "The PDF report URL for the candidate."
              },
              "candidate_details": {
                "type": "array",
                "items": {
                  "description": "A candidate detail item returned by HackerRank."
                },
                "description": "The custom candidate details returned for the candidate."
              },
              "questions": {
                "description": "The expanded questions payload, when requested."
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A tag associated with the candidate."
                },
                "description": "The tags associated with the candidate."
              }
            },
            "additionalProperties": true,
            "required": [
              "id"
            ],
            "description": "A HackerRank test candidate object."
          }
        },
        "additionalProperties": false,
        "required": [
          "candidate"
        ],
        "description": "The requested HackerRank test candidate."
      }
    },
    {
      "id": "hackerrank_work.list_test_candidates",
      "service": "hackerrank_work",
      "name": "list_test_candidates",
      "description": "List the candidates invited to or associated with a HackerRank test.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The HackerRank resource identifier."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based offset used for pagination."
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id"
        ],
        "description": "The HackerRank test identifier and pagination options for listing candidates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "candidates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The HackerRank resource identifier."
                },
                "full_name": {
                  "type": "string",
                  "description": "The full name of the candidate."
                },
                "email": {
                  "type": "string",
                  "description": "The email address of the candidate."
                },
                "score": {
                  "type": "number",
                  "description": "The raw score of the candidate, when available."
                },
                "percentage_score": {
                  "type": "number",
                  "description": "The percentage score of the candidate, when available."
                },
                "status": {
                  "type": "integer",
                  "description": "The HackerRank candidate status code."
                },
                "integrity_status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The integrity status summary for the candidate attempt."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "integrity_summary": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The integrity summary text returned by HackerRank."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "report_url": {
                  "type": "string",
                  "description": "The report URL for the candidate."
                },
                "authenticated_report_url": {
                  "type": "string",
                  "description": "The authenticated report URL for the candidate."
                },
                "pdf_url": {
                  "type": "string",
                  "description": "The PDF report URL for the candidate."
                },
                "candidate_details": {
                  "type": "array",
                  "items": {
                    "description": "A candidate detail item returned by HackerRank."
                  },
                  "description": "The custom candidate details returned for the candidate."
                },
                "questions": {
                  "description": "The expanded questions payload, when requested."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A tag associated with the candidate."
                  },
                  "description": "The tags associated with the candidate."
                }
              },
              "additionalProperties": true,
              "required": [
                "id"
              ],
              "description": "A HackerRank test candidate object."
            },
            "description": "The candidates returned by HackerRank."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page_total": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "offset": {
                "type": "integer",
                "description": "The zero-based offset for the current page."
              },
              "previous": {
                "type": "string",
                "description": "The previous page URL returned by HackerRank."
              },
              "next": {
                "type": "string",
                "description": "The next page URL returned by HackerRank."
              },
              "first": {
                "type": "string",
                "description": "The first page URL returned by HackerRank."
              },
              "last": {
                "type": "string",
                "description": "The last page URL returned by HackerRank."
              },
              "total": {
                "type": "string",
                "description": "The total item count returned by HackerRank for the query."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by HackerRank list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "candidates",
          "pagination"
        ],
        "description": "The list of HackerRank test candidates plus pagination metadata."
      }
    },
    {
      "id": "hackerrank_work.list_tests",
      "service": "hackerrank_work",
      "name": "list_tests",
      "description": "List the HackerRank tests available to the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based offset used for pagination."
          }
        },
        "additionalProperties": false,
        "description": "Pagination options for listing HackerRank tests."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The HackerRank resource identifier."
                },
                "unique_id": {
                  "type": "string",
                  "description": "The public candidate-facing unique identifier for the test."
                },
                "name": {
                  "type": "string",
                  "description": "The display name of the test."
                },
                "state": {
                  "type": "string",
                  "description": "The current state of the test."
                },
                "duration": {
                  "type": "integer",
                  "description": "The test duration in minutes."
                },
                "starttime": {
                  "type": "string",
                  "description": "The earliest time when candidates may log in to the test."
                },
                "endtime": {
                  "type": "string",
                  "description": "The latest time when new candidate logins are accepted."
                },
                "created_at": {
                  "type": "string",
                  "description": "When the test was created."
                },
                "languages": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "The languages enabled for the test, when HackerRank returns them."
                },
                "candidate_details": {
                  "type": "array",
                  "items": {
                    "description": "A candidate detail configuration object returned by HackerRank."
                  },
                  "description": "The candidate detail fields configured for the test."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "The tags associated with the test."
                }
              },
              "additionalProperties": true,
              "required": [
                "id"
              ],
              "description": "A HackerRank test object."
            },
            "description": "The tests returned by HackerRank."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page_total": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "offset": {
                "type": "integer",
                "description": "The zero-based offset for the current page."
              },
              "previous": {
                "type": "string",
                "description": "The previous page URL returned by HackerRank."
              },
              "next": {
                "type": "string",
                "description": "The next page URL returned by HackerRank."
              },
              "first": {
                "type": "string",
                "description": "The first page URL returned by HackerRank."
              },
              "last": {
                "type": "string",
                "description": "The last page URL returned by HackerRank."
              },
              "total": {
                "type": "string",
                "description": "The total item count returned by HackerRank for the query."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by HackerRank list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "tests",
          "pagination"
        ],
        "description": "The list of HackerRank tests plus pagination metadata."
      }
    },
    {
      "id": "hackerrank_work.search_test_candidates",
      "service": "hackerrank_work",
      "name": "search_test_candidates",
      "description": "Search HackerRank test candidates by name or email.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "test_id": {
            "type": "string",
            "minLength": 1,
            "description": "The HackerRank resource identifier."
          },
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "The name or email text used to search candidates."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based offset used for pagination."
          }
        },
        "additionalProperties": false,
        "required": [
          "test_id",
          "search"
        ],
        "description": "The search input for HackerRank test candidates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "candidates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The HackerRank resource identifier."
                },
                "full_name": {
                  "type": "string",
                  "description": "The full name of the candidate."
                },
                "email": {
                  "type": "string",
                  "description": "The email address of the candidate."
                },
                "score": {
                  "type": "number",
                  "description": "The raw score of the candidate, when available."
                },
                "percentage_score": {
                  "type": "number",
                  "description": "The percentage score of the candidate, when available."
                },
                "status": {
                  "type": "integer",
                  "description": "The HackerRank candidate status code."
                },
                "integrity_status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The integrity status summary for the candidate attempt."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "integrity_summary": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The integrity summary text returned by HackerRank."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "report_url": {
                  "type": "string",
                  "description": "The report URL for the candidate."
                },
                "authenticated_report_url": {
                  "type": "string",
                  "description": "The authenticated report URL for the candidate."
                },
                "pdf_url": {
                  "type": "string",
                  "description": "The PDF report URL for the candidate."
                },
                "candidate_details": {
                  "type": "array",
                  "items": {
                    "description": "A candidate detail item returned by HackerRank."
                  },
                  "description": "The custom candidate details returned for the candidate."
                },
                "questions": {
                  "description": "The expanded questions payload, when requested."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A tag associated with the candidate."
                  },
                  "description": "The tags associated with the candidate."
                }
              },
              "additionalProperties": true,
              "required": [
                "id"
              ],
              "description": "A HackerRank test candidate object."
            },
            "description": "The candidates returned by the search."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "page_total": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "offset": {
                "type": "integer",
                "description": "The zero-based offset for the current page."
              },
              "previous": {
                "type": "string",
                "description": "The previous page URL returned by HackerRank."
              },
              "next": {
                "type": "string",
                "description": "The next page URL returned by HackerRank."
              },
              "first": {
                "type": "string",
                "description": "The first page URL returned by HackerRank."
              },
              "last": {
                "type": "string",
                "description": "The last page URL returned by HackerRank."
              },
              "total": {
                "type": "string",
                "description": "The total item count returned by HackerRank for the query."
              }
            },
            "additionalProperties": false,
            "description": "Pagination metadata returned by HackerRank list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "candidates",
          "pagination"
        ],
        "description": "The HackerRank candidate search results plus pagination metadata."
      }
    }
  ]
}
