Greenhouse Teams API

The Teams API from Greenhouse — 3 operation(s) for teams.

Operations 7

POST /v1/teams/bulk Bulk create teams #
DELETE /v1/teams/bulk Bulk delete teams #
PATCH /v1/teams/bulk Bulk update teams #
POST /v1/teams Create Team #
GET /v1/teams List teams #
DELETE /v1/teams/{id} Delete Team #
PATCH /v1/teams/{id} Update Teams #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/greenhouse:greenhouse-teams-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

greenhouse-teams-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Greenhouse Teams API
  version: v1
  description: 'Operations tagged Teams across 2 of this provider''s published API definitions: greenhouse-onboarding-v1-openapi.json, greenhouse-onboarding-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://onboarding-api.greenhouse.io
security:
- bearer: []
tags:
- name: Teams
paths:
  /v1/teams/bulk:
    post:
      summary: Bulk create teams
      tags:
      - Teams
      security:
      - oauth2:
        - v1:teams:create
      - bearer: []
      parameters: []
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  bulk_action_uuid:
                    type: string
                  status:
                    type: string
                  status_url:
                    type: string
        '401':
          description: Unauthorized
        '413':
          description: Payload is larger than 10MB
        '422':
          description: Validation Error
        '429':
          description: Client has more than 5 active jobs
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - data
              properties:
                callback_url:
                  type: string
                  maxLength: 2048
                data:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                    - name
                    - team_category_id
                    properties:
                      name:
                        type: string
                        maxLength: 255
                      created_at:
                        type: datetime
                      updated_at:
                        type: datetime
                      team_category_id:
                        type: integer
                      team_lead_id:
                        type: integer
                      description:
                        type: text
                      location:
                        type: text
                      email:
                        type: string
                        maxLength: 255
                      new_hire_visible:
                        type: boolean
                      external_id:
                        type: string
      operationId: postV1TeamsBulk
      x-operation-id-source: derived
    delete:
      summary: Bulk delete teams
      tags:
      - Teams
      security:
      - oauth2:
        - v1:teams:destroy
      - bearer: []
      parameters: []
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  bulk_action_uuid:
                    type: string
                  status:
                    type: string
                  status_url:
                    type: string
        '401':
          description: Unauthorized
        '413':
          description: Payload is larger than 10MB
        '422':
          description: Validation Error
        '429':
          description: Client has more than 5 active jobs
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - data
              properties:
                callback_url:
                  type: string
                  maxLength: 2048
                data:
                  type: array
                  items:
                    type: number
      operationId: deleteV1TeamsBulk
      x-operation-id-source: derived
    patch:
      summary: Bulk update teams
      tags:
      - Teams
      security:
      - oauth2:
        - v1:teams:update
      - bearer: []
      parameters: []
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  bulk_action_uuid:
                    type: string
                  status:
                    type: string
                  status_url:
                    type: string
        '401':
          description: Unauthorized
        '413':
          description: Payload is larger than 10MB
        '422':
          description: Validation Error
        '429':
          description: Client has more than 5 active jobs
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - data
              properties:
                callback_url:
                  type: string
                  maxLength: 2048
                data:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    properties:
                      name:
                        type: string
                        maxLength: 255
                      created_at:
                        type: datetime
                      updated_at:
                        type: datetime
                      team_category_id:
                        type: integer
                      team_lead_id:
                        type: integer
                      description:
                        type: text
                      location:
                        type: text
                      email:
                        type: string
                        maxLength: 255
                      new_hire_visible:
                        type: boolean
                      external_id:
                        type: string
                      id:
                        type: integer
                    required:
                    - id
      operationId: patchV1TeamsBulk
      x-operation-id-source: derived
    servers:
    - url: https://onboarding-api.greenhouse.io
  /v1/teams:
    post:
      summary: Create Team
      tags:
      - Teams
      security:
      - oauth2:
        - v1:teams:create
      - bearer: []
      parameters: []
      responses:
        '201':
          description: Successful
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    type: integer
                  created_at:
                    type: string
                    format: date-time
                  updated_at:
                    type: string
                    format: date-time
                  name:
                    type: string
                  team_category_id:
                    type: integer
                  team_lead_id:
                    type:
                    - integer
                    - 'null'
                  description:
                    type:
                    - string
                    - 'null'
                  location:
                    type:
                    - string
                    - 'null'
                  email:
                    type:
                    - string
                    - 'null'
                  new_hire_visible:
                    type:
                    - boolean
                    - 'null'
                  external_id:
                    type:
                    - string
                    - 'null'
                  type:
                    type:
                    - string
                    - 'null'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Validation Error
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - name
              - team_category_id
              properties:
                name:
                  type: string
                  maxLength: 255
                created_at:
                  type: datetime
                updated_at:
                  type: datetime
                team_category_id:
                  type: integer
                team_lead_id:
                  type: integer
                description:
                  type: text
                location:
                  type: text
                email:
                  type: string
                  maxLength: 255
                new_hire_visible:
                  type: boolean
                external_id:
                  type: string
      operationId: postV1Teams
      x-operation-id-source: derived
    get:
      summary: List teams
      tags:
      - Teams
      security:
      - oauth2:
        - v1:teams:list
      - bearer: []
      parameters:
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Cursor link for pagination from previous page response header. Do not use any other parameters when using this.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 500
          default: 100
        description: Number of results per page
      - name: ids
        in: query
        required: false
        description: Comma separated list
        style: form
        explode: false
        schema:
          type: array
          items:
            type: integer
          maxItems: 50
      - name: created_at
        in: query
        required: false
        schema:
          type: object
          properties:
            gte:
              type: string
              format: date-time
            lte:
              type: string
              format: date-time
            gt:
              type: string
              format: date-time
            lt:
              type: string
              format: date-time
            any_value:
              type: boolean
            no_value:
              type: boolean
        style: pipeDelimited
      - name: updated_at
        in: query
        required: false
        schema:
          type: object
          properties:
            gte:
              type: string
              format: date-time
            lte:
              type: string
              format: date-time
            gt:
              type: string
              format: date-time
            lt:
              type: string
              format: date-time
            any_value:
              type: boolean
            no_value:
              type: boolean
        style: pipeDelimited
      - name: team_category_ids
        in: query
        required: false
        description: Comma separated list
        style: form
        explode: false
        schema:
          type: array
          items:
            type: integer
          maxItems: 50
      - name: team_lead_ids
        in: query
        required: false
        description: Comma separated list
        style: form
        explode: false
        schema:
          type: array
          items:
            type: integer
          maxItems: 50
      - name: fields
        in: query
        required: false
        description: Comma separated list of fields to return
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
            pattern: (?i-mx:^(?i-mx:[a-z]+(?:_[a-z]+)*)+(?:,(?i-mx:[a-z]+(?:_[a-z]+)*)+)*$)
          maxItems: 50
      - name: external_id
        in: query
        required: false
        schema:
          type: string
      - name: type
        in: query
        required: false
        schema:
          type: string
        description: 'Filter by team type. Valid values: department, location, or one of your custom types'
      responses:
        '200':
          description: Successful
          content:
            application/json:
              examples:
                example_response:
                  value:
                  - id: 1
                    name: Team2
                    created_at: '2024-01-01T12:30:30.000Z'
                    updated_at: '2024-01-01T12:30:30.000Z'
                    team_category_id: 1
                    team_lead_id: null
                    description: null
                    location: null
                    email: null
                    new_hire_visible: true
                    external_id: null
                    type: internal_type_5
              schema:
                type: array
                uniqueItems: true
                items:
                  type: object
                  additionalProperties: false
                  properties:
                    id:
                      type: integer
                    created_at:
                      type: string
                      format: date-time
                    updated_at:
                      type: string
                      format: date-time
                    name:
                      type: string
                    team_category_id:
                      type: integer
                    team_lead_id:
                      type:
                      - integer
                      - 'null'
                    description:
                      type:
                      - string
                      - 'null'
                    location:
                      type:
                      - string
                      - 'null'
                    email:
                      type:
                      - string
                      - 'null'
                    new_hire_visible:
                      type:
                      - boolean
                      - 'null'
                    external_id:
                      type:
                      - string
                      - 'null'
                    type:
                      type:
                      - string
                      - 'null'
      operationId: getV1Teams
      x-operation-id-source: derived
    servers:
    - url: https://onboarding-api.greenhouse.io
  /v1/teams/{id}:
    delete:
      summary: Delete Team
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      tags:
      - Teams
      security:
      - oauth2:
        - v1:teams:destroy
      - bearer: []
      responses:
        '200':
          description: Successful
          content:
            application/json:
              examples:
                example_response:
                  value:
                    message: Team 1 deleted successfully
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    type: integer
                  created_at:
                    type: string
                    format: date-time
                  updated_at:
                    type: string
                    format: date-time
                  message:
                    type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      operationId: deleteV1TeamsById
      x-operation-id-source: derived
    patch:
      summary: Update Teams
      tags:
      - Teams
      security:
      - oauth2:
        - v1:teams:update
      - bearer: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful
          content:
            application/json:
              examples:
                example_response:
                  value:
                    id: 1
                    name: Team3
                    created_at: '2024-01-01T00:00:00.000Z'
                    updated_at: '2024-01-01T00:00:00.000Z'
                    team_category_id: 1
                    team_lead_id: null
                    description: null
                    location: null
                    email: null
                    new_hire_visible: true
                    external_id: null
                    type: internal_type_6
              schema:
                type: object
                additionalProperties: false
                properties:
                  id:
                    type: integer
                  created_at:
                    type: string
                    format: date-time
                  updated_at:
                    type: string
                    format: date-time
                  name:
                    type: string
                  team_category_id:
                    type: integer
                  team_lead_id:
                    type:
                    - integer
                    - 'null'
                  description:
                    type:
                    - string
                    - 'null'
                  location:
                    type:
                    - string
                    - 'null'
                  email:
                    type:
                    - string
                    - 'null'
                  new_hire_visible:
                    type:
                    - boolean
                    - 'null'
                  external_id:
                    type:
                    - string
                    - 'null'
                  type:
                    type:
                    - string
                    - 'null'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Validation Error
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                name:
                  type: string
                  maxLength: 255
                created_at:
                  type: datetime
                updated_at:
                  type: datetime
                team_category_id:
                  type: integer
                team_lead_id:
                  type: integer
                description:
                  type: text
                location:
                  type: text
                email:
                  type: string
                  maxLength: 255
                new_hire_visible:
                  type: boolean
                external_id:
                  type: string
      operationId: patchV1TeamsById
      x-operation-id-source: derived
    servers:
    - url: https://onboarding-api.greenhouse.io
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth2 Authentication
      flows:
        clientCredentials:
          tokenUrl: https://auth.greenhouse.io/token
          scopes:
            v1:bulk_requests:list: List current bulk requests.
            v1:countries:list: List all countries and their subdivisions.
            v1:custom_fields:list: List all of the custom fields.
            v1:documents:list: List all of the documents.
            v1:employees:list: List all of the employees.
            v1:employees:update: Update a single employee.
            v1:other_criteria:list: List all of the other criteria.
            v1:pending_hires:create: Create a single pending hire.
            v1:pending_hires:destroy: Delete a single pending hire.
            v1:pending_hires:list: List all of the pending hires.
            v1:pending_hires:update: Update a single pending hire.
            v1:signature_request_templates:list: List all of the signature request templates.
            v1:signature_requests:list: List all of the signature requests.
            v1:team_categories:list: List all of the team categories.
            v1:teams:create: Create a single team.
            v1:teams:destroy: Delete a single team.
            v1:teams:list: List all of the teams.
            v1:teams:update: Update a single team.
        authorizationCode:
          authorizationUrl: https://auth.greenhouse.io/authorize
          tokenUrl: https://auth.greenhouse.io/token
          refreshUrl: https://auth.greenhouse.io/token
          scopes:
            v1:bulk_requests:list: List current bulk requests.
            v1:countries:list: List all countries and their subdivisions.
            v1:custom_fields:list: List all of the custom fields.
            v1:documents:list: List all of the documents.
            v1:employees:list: List all of the employees.
            v1:employees:update: Update a single employee.
            v1:other_criteria:list: List all of the other criteria.
            v1:pending_hires:create: Create a single pending hire.
            v1:pending_hires:destroy: Delete a single pending hire.
            v1:pending_hires:list: List all of the pending hires.
            v1:pending_hires:update: Update a single pending hire.
            v1:signature_request_templates:list: List all of the signature request templates.
            v1:signature_requests:list: List all of the signature requests.
            v1:team_categories:list: List all of the team categories.
            v1:teams:create: Create a single team.
            v1:teams:destroy: Delete a single team.
            v1:teams:list: List all of the teams.
            v1:teams:update: Update a single team.
x-refined-from:
- greenhouse-onboarding-v1-openapi.json
- greenhouse-onboarding-v1-openapi.yml
x-readme:
  headers: []
x-readme-fauxas: true