{
  "service": "namely",
  "displayName": "Namely",
  "categories": [
    "Productivity",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Personal Access Token",
      "placeholder": "NAMELY_PAT",
      "description": "Namely personal access token sent with the Authorization Bearer header. See the official authentication docs: https://developers.namely.com/docs/namely-api/ZG9jOjE1NTkwMDU5-authentication.",
      "extraFields": [
        {
          "key": "company",
          "label": "Company Subdomain",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "acme",
          "description": "Namely company subdomain used to build https://<company>.namely.com/api/v1 requests. Use only the subdomain, not the full URL."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.namely.com",
  "actions": [
    {
      "id": "namely.get_current_profile",
      "service": "namely",
      "name": "get_current_profile",
      "description": "Get the Namely profile associated with the personal access token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for getting the current Namely profile."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Namely API object."
          },
          "linked": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Namely API response object."
          }
        },
        "additionalProperties": false,
        "required": [
          "profile",
          "linked",
          "raw"
        ],
        "description": "The current Namely profile response."
      }
    },
    {
      "id": "namely.get_profile",
      "service": "namely",
      "name": "get_profile",
      "description": "Get one Namely employee profile by profile ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "profileId": {
            "type": "string",
            "minLength": 1,
            "description": "The Namely profile ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "profileId"
        ],
        "description": "The input payload for getting a Namely profile."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Namely API object."
          },
          "linked": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Namely API response object."
          }
        },
        "additionalProperties": false,
        "required": [
          "profile",
          "linked",
          "raw"
        ],
        "description": "The response returned when getting a Namely profile."
      }
    },
    {
      "id": "namely.list_profile_fields",
      "service": "namely",
      "name": "list_profile_fields",
      "description": "List Namely profile fields configured for the company.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Namely profile fields."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "profileFields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Namely API object."
            },
            "description": "The Namely profile fields returned by the API."
          },
          "meta": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "links": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "linked": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Namely API response object."
          }
        },
        "additionalProperties": false,
        "required": [
          "profileFields",
          "meta",
          "links",
          "linked",
          "raw"
        ],
        "description": "The response returned when listing Namely profile fields."
      }
    },
    {
      "id": "namely.list_profiles",
      "service": "namely",
      "name": "list_profiles",
      "description": "List Namely employee profiles visible to the personal access token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The Namely page number to request."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "The maximum number of Namely records to return per page."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Namely profiles."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Namely API object."
            },
            "description": "The Namely profiles returned by the API."
          },
          "meta": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "links": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "linked": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "A Namely API object."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Namely API response object."
          }
        },
        "additionalProperties": false,
        "required": [
          "profiles",
          "meta",
          "links",
          "linked",
          "raw"
        ],
        "description": "The response returned when listing Namely profiles."
      }
    }
  ]
}
