{
  "service": "smartrecruiters",
  "displayName": "SmartRecruiters",
  "categories": [
    "Productivity",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SMARTRECRUITERS_API_KEY",
      "description": "SmartRecruiters API key sent with the X-SmartToken header. Generate it in Credential Manager under custom applications: https://www.smartrecruiters.com/settings/administration/app-management/custom-applications"
    }
  ],
  "homepageUrl": "https://www.smartrecruiters.com/",
  "actions": [
    {
      "id": "smartrecruiters.get_candidate",
      "service": "smartrecruiters",
      "name": "get_candidate",
      "description": "Get SmartRecruiters candidate details by candidate ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "candidateId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmartRecruiters resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for getting one SmartRecruiters candidate."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "candidate": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The SmartRecruiters resource identifier."
              },
              "firstName": {
                "type": "string",
                "description": "The candidate first name returned by SmartRecruiters."
              },
              "lastName": {
                "type": "string",
                "description": "The candidate last name returned by SmartRecruiters."
              },
              "email": {
                "type": "string",
                "description": "The candidate email address returned by SmartRecruiters."
              },
              "phoneNumber": {
                "type": "string",
                "description": "The candidate phone number returned by SmartRecruiters."
              },
              "createdOn": {
                "type": "string",
                "description": "The SmartRecruiters candidate creation timestamp."
              },
              "updatedOn": {
                "type": "string",
                "description": "The SmartRecruiters candidate update timestamp."
              },
              "location": {
                "type": "object",
                "properties": {
                  "country": {
                    "type": "string",
                    "description": "The location country returned by SmartRecruiters."
                  },
                  "countryCode": {
                    "type": "string",
                    "description": "The location country code returned by SmartRecruiters."
                  },
                  "region": {
                    "type": "string",
                    "description": "The location region returned by SmartRecruiters."
                  },
                  "regionCode": {
                    "type": "string",
                    "description": "The location region code returned by SmartRecruiters."
                  },
                  "city": {
                    "type": "string",
                    "description": "The location city returned by SmartRecruiters."
                  }
                },
                "additionalProperties": true,
                "description": "The SmartRecruiters location object."
              }
            },
            "additionalProperties": true,
            "description": "A SmartRecruiters candidate returned by the Candidates API."
          }
        },
        "additionalProperties": false,
        "description": "The SmartRecruiters candidate details response."
      }
    },
    {
      "id": "smartrecruiters.get_job",
      "service": "smartrecruiters",
      "name": "get_job",
      "description": "Get SmartRecruiters job details by job ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmartRecruiters resource identifier."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The language code for localized SmartRecruiters job content."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId"
        ],
        "description": "The input payload for getting one SmartRecruiters job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "job": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The SmartRecruiters resource identifier."
              },
              "name": {
                "type": "string",
                "description": "The SmartRecruiters job name."
              },
              "refNumber": {
                "type": "string",
                "description": "The SmartRecruiters job reference number."
              },
              "status": {
                "type": "string",
                "description": "The SmartRecruiters job status."
              },
              "createdOn": {
                "type": "string",
                "description": "The SmartRecruiters job creation timestamp."
              },
              "updatedOn": {
                "type": "string",
                "description": "The SmartRecruiters job update timestamp."
              },
              "location": {
                "type": "object",
                "properties": {
                  "country": {
                    "type": "string",
                    "description": "The location country returned by SmartRecruiters."
                  },
                  "countryCode": {
                    "type": "string",
                    "description": "The location country code returned by SmartRecruiters."
                  },
                  "region": {
                    "type": "string",
                    "description": "The location region returned by SmartRecruiters."
                  },
                  "regionCode": {
                    "type": "string",
                    "description": "The location region code returned by SmartRecruiters."
                  },
                  "city": {
                    "type": "string",
                    "description": "The location city returned by SmartRecruiters."
                  }
                },
                "additionalProperties": true,
                "description": "The SmartRecruiters location object."
              }
            },
            "additionalProperties": true,
            "description": "A SmartRecruiters job returned by the Jobs API."
          }
        },
        "additionalProperties": false,
        "description": "The SmartRecruiters job details response."
      }
    },
    {
      "id": "smartrecruiters.list_jobs",
      "service": "smartrecruiters",
      "name": "list_jobs",
      "description": "Search SmartRecruiters jobs with optional filters and cursor pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "description": "The SmartRecruiters full-text search query."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of items to return. SmartRecruiters allows up to 100."
          },
          "pageId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmartRecruiters pageId cursor returned by a previous page."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The language code for localized SmartRecruiters job content."
          },
          "city": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One city filter."
            },
            "description": "The city filters to apply to SmartRecruiters jobs.",
            "minItems": 1
          },
          "department": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One department label filter."
            },
            "description": "The department label filters to apply to SmartRecruiters jobs.",
            "minItems": 1
          },
          "updatedAfter": {
            "type": "string",
            "minLength": 1,
            "description": "An ISO8601-formatted SmartRecruiters date-time boundary."
          },
          "lastActivityAfter": {
            "type": "string",
            "minLength": 1,
            "description": "An ISO8601-formatted SmartRecruiters date-time boundary."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing SmartRecruiters jobs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The SmartRecruiters resource identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The SmartRecruiters job name."
                },
                "refNumber": {
                  "type": "string",
                  "description": "The SmartRecruiters job reference number."
                },
                "status": {
                  "type": "string",
                  "description": "The SmartRecruiters job status."
                },
                "createdOn": {
                  "type": "string",
                  "description": "The SmartRecruiters job creation timestamp."
                },
                "updatedOn": {
                  "type": "string",
                  "description": "The SmartRecruiters job update timestamp."
                },
                "location": {
                  "type": "object",
                  "properties": {
                    "country": {
                      "type": "string",
                      "description": "The location country returned by SmartRecruiters."
                    },
                    "countryCode": {
                      "type": "string",
                      "description": "The location country code returned by SmartRecruiters."
                    },
                    "region": {
                      "type": "string",
                      "description": "The location region returned by SmartRecruiters."
                    },
                    "regionCode": {
                      "type": "string",
                      "description": "The location region code returned by SmartRecruiters."
                    },
                    "city": {
                      "type": "string",
                      "description": "The location city returned by SmartRecruiters."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The SmartRecruiters location object."
                }
              },
              "additionalProperties": true,
              "description": "A SmartRecruiters job returned by the Jobs API."
            },
            "description": "The SmartRecruiters jobs returned for this page."
          },
          "limit": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The page size returned by SmartRecruiters."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextPageId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as pageId to retrieve the next page of jobs."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw SmartRecruiters list response."
          }
        },
        "additionalProperties": false,
        "description": "The SmartRecruiters jobs list response."
      }
    },
    {
      "id": "smartrecruiters.search_candidates",
      "service": "smartrecruiters",
      "name": "search_candidates",
      "description": "Search SmartRecruiters candidates with optional filters and cursor pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "description": "The SmartRecruiters full-text search query."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of items to return. SmartRecruiters allows up to 100."
          },
          "pageId": {
            "type": "string",
            "minLength": 1,
            "description": "The SmartRecruiters pageId cursor returned by a previous page."
          },
          "jobId": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One SmartRecruiters job ID."
            },
            "description": "The SmartRecruiters job IDs used to filter candidate applications.",
            "minItems": 1
          },
          "location": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One candidate location keyword."
            },
            "description": "The location keywords used to filter candidates.",
            "minItems": 1
          },
          "status": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One candidate status value."
            },
            "description": "The candidate status filters in the context of a job.",
            "minItems": 1
          },
          "tag": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One SmartRecruiters candidate tag."
            },
            "description": "The candidate tag filters to apply.",
            "minItems": 1
          },
          "updatedAfter": {
            "type": "string",
            "minLength": 1,
            "description": "An ISO8601-formatted SmartRecruiters date-time boundary."
          },
          "subStatus": {
            "type": "string",
            "minLength": 1,
            "description": "The candidate sub-status filter used with a status filter."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for searching SmartRecruiters candidates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "candidates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The SmartRecruiters resource identifier."
                },
                "firstName": {
                  "type": "string",
                  "description": "The candidate first name returned by SmartRecruiters."
                },
                "lastName": {
                  "type": "string",
                  "description": "The candidate last name returned by SmartRecruiters."
                },
                "email": {
                  "type": "string",
                  "description": "The candidate email address returned by SmartRecruiters."
                },
                "phoneNumber": {
                  "type": "string",
                  "description": "The candidate phone number returned by SmartRecruiters."
                },
                "createdOn": {
                  "type": "string",
                  "description": "The SmartRecruiters candidate creation timestamp."
                },
                "updatedOn": {
                  "type": "string",
                  "description": "The SmartRecruiters candidate update timestamp."
                },
                "location": {
                  "type": "object",
                  "properties": {
                    "country": {
                      "type": "string",
                      "description": "The location country returned by SmartRecruiters."
                    },
                    "countryCode": {
                      "type": "string",
                      "description": "The location country code returned by SmartRecruiters."
                    },
                    "region": {
                      "type": "string",
                      "description": "The location region returned by SmartRecruiters."
                    },
                    "regionCode": {
                      "type": "string",
                      "description": "The location region code returned by SmartRecruiters."
                    },
                    "city": {
                      "type": "string",
                      "description": "The location city returned by SmartRecruiters."
                    }
                  },
                  "additionalProperties": true,
                  "description": "The SmartRecruiters location object."
                }
              },
              "additionalProperties": true,
              "description": "A SmartRecruiters candidate returned by the Candidates API."
            },
            "description": "The SmartRecruiters candidates returned for this page."
          },
          "limit": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The page size returned by SmartRecruiters."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextPageId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor to pass as pageId to retrieve the next page of candidates."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw SmartRecruiters search response."
          }
        },
        "additionalProperties": false,
        "description": "The SmartRecruiters candidates search response."
      }
    }
  ]
}
