Hootsuite SCIM 2.0 API

The SCIM 2.0 API from Hootsuite — 5 operation(s) for scim 2.0.

Operations 11

POST /scim/v2/Users Create User #
GET /scim/v2/Users Get Users #
GET /scim/v2/Users/{memberId} Get User #
PUT /scim/v2/Users/{memberId} Replace User #
PATCH /scim/v2/Users/{memberId} Modify User #
POST /scim/v2/Groups Create Group #
GET /scim/v2/Groups Get Groups #
GET /scim/v2/Groups/{groupId} Get Group #
PUT /scim/v2/Groups/{groupId} Replace Group #
PATCH /scim/v2/Groups/{groupId} Modify Group #
GET /scim/v2/ResourceTypes Get Resource Types #

Documentation

Specifications

Other Resources

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/hootsuite-scim-2-0-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

hootsuite-scim-2-0-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/eeda0fcdf55ea26bd0ec#?env%5BHootsuite%5D=W3sidHlwZSI6InRleHQiLCJlbmFibGVkIjp0cnVlLCJrZXkiOiJ1cmwiLCJ2YWx1ZSI6Imh0dHBzOi8vcGxhdGZvcm0uaG9vdHN1aXRlLmNvbSJ9LHsidHlwZSI6InRleHQiLCJlbmFibGVkIjp0cnVlLCJrZXkiOiJhdXRob3JpemF0aW9uX3VybCIsInZhbHVlIjoiaHR0cHM6Ly9wbGF0Zm9ybS5ob290c3VpdGUuY29tL29hdXRoMi9hdXRoIn0seyJ0eXBlIjoidGV4dCIsImVuYWJsZWQiOnRydWUsImtleSI6InRva2VuX3VybCIsInZhbHVlIjoiaHR0cHM6Ly9wbGF0Zm9ybS5ob290c3VpdGUuY29tL29hdXRoMi90b2tlbiJ9LHsidHlwZSI6InRleHQiLCJlbmFibGVkIjp0cnVlLCJrZXkiOiJjbGllbnRfaWQiLCJ2YWx1ZSI6IiJ9LHsidHlwZSI6InRleHQiLCJlbmFibGVkIjp0cnVlLCJrZXkiOiJjbGllbnRfc2VjcmV0IiwidmFsdWUiOiIifV0=)\n# Introduction\nThe Hootsuite API is built on REST principles and uses JSON as a data interchange format.\n### Base URL\nAll URLs referenced in this document use the following base: https://platform.hootsuite.com. The Hootsuite API is served over HTTPS to ensure data privacy.\n### Request Format\nThe Hootsuite API supports the following HTTP verbs:\n| Verb       | Description  |\n|--------|------|\n| GET    | GET requests retrieve resources. GET requests with query parameters should be [URL encoded](https://en.wikipedia.org/wiki/Percent-encoding).  |\n| POST   | POST requests create or update resources. POST requests can partially update a resource by passing a subset of the fields that should be updated. To remove a single field set it to null. POST requests should always set content-type and character encoding to: application/json;charset=utf-8. |\n| DELETE | DELETE requests delete resources. Delete requests return a 200 OK with an empty data envelope if the request was successful.|\n### Response Format\nAll responses are returned in JSON. The response is wrapped in a top level data envelope which is an object or array depending on whether a single item or a collection is returned. If a single item is returned the data field will be an object. If a collection is returned the field will be an array.\nIf the response was unsuccessful an errors array will be returned. Responses that partially fail will return both a data and errors object.\nA single item response:\n```\n{\n  \"data\": {},\n  \"errors\": [{},{},{}]\n}\n```\nA collection response:\n```\n{\n  \"data\": [{},{},{}],\n  \"errors\": [{},{},{}]\n  \"metadata\": {}\n}\n```\n### HTTP Response Codes\nThe Hootsuite API uses HTTP status codes to indicate the status of your request.\n|Code |Description |\n|---|---|\n|200 OK|Resource was successfully created, updated, deleted or retrieved.|\n|400 Bad Request|Invalid request, possibly due to missing parameters|\n|401 Unauthorized|Missing or invalid authentication|\n|403 Forbidden|Access denied|\n|404 Not Found|Requested resource does not exist|\n|429 Too Many Requests|Rate Limit Exceeded. Please contact dev.support@hootsuite.com for assistance|\n|500 Server Error|Unexpected error occurred on the server|\n### API Error Handling\nError responses are returned with the following fields. Note, the schema for OAuth2 error responses are different and comply with the RFC. Please refer to the Authorization endpoint documentation for details.\n|Field|Description|\n|---|---|\n|code|Unique number indicating type of error|\n|message|Description of error|\n|id|Unique id for tracing purposes|\n|resource|(optional) type and id are used to point to the field(s) that caused the error|\n```\n{\n  \"errors\": [\n    {\n      \"code\" : 1234,\n      \"message\": \"Could not create message for social profile\",\n      \"id\" : \"f7d32670-4e6a-48c0-a2a7-87803536a712\",\n      \"resource\": {\n        \"type\":\"socialProfile\",\n        \"id\":\"7534653235\"\n      }\n    }\n  ]\n}\n```\n### Error Codes\nHere is a list of error codes and descriptions returned by our APIs:\n|Code|Description|\n|---|---|\n|1000|Missing or duplicate access token|\n|1001|Invalid access token|\n|1002|Invalid API key|\n|1003|Account plan limit exceeded|\n|1004|API plan limit exceeded|\n|1005|Token could not be retrieved|\n|1006|Token removal failed|\n|1007|The client could not be authenticated due to missing or invalid client credentials|\n|1008|Resource Owner authentication failed|\n|1009|Invalid grant_type|\n|1010|Invalid OAuth request|\n|1011|Duplicate OAuth parameters|\n|1012|Invalid authorization code|\n|1013|Must be confidential client|\n|1014|Unauthorized JWT user|\n|1015|Client registration could not be deleted|\n|1016|Client info could not be retrieved|\n|1017|Client info could not be updated|\n|1018|Client could not be registered|\n|1019|A registration type must be selected|\n|1020|Client key could not be deleted|\n|1021|The id_token values could not be retrieved|\n|1022|id_token could not be registered|\n|1023|id_token could not be removed therefore user logout could not be executed|\n|1024|Token could not be revoked|\n|1025|Token could not be registered|\n|1026|Non-valid parameter list for this operation|\n|1027|Missing authorization code|\n|1028|Authorization code could not be validated|\n|1029|id_token could not be validated|\n|1030|The client is not authorized to execute a status check|\n|1031|Invalid oauth parameters|\n|1032|Token could not be validated|\n|1033|The requested scope is not valid|\n|1034|The session is not valid|\n|1035|Missing oauth_token parameter|\n|1036|oauth_token invalid or expired|\n|1037|The required scope to access this endpoint was not granted by the user|\n|1038|token_type_hint is not supported|\n|1039|Client not authorized to revoke token|\n|1040|oauth_consumer_key invalid or expired|\n|1041|The token may not have been revoked due to an unknown error|\n|1042|Missing oauth_signature|\n|1043|Too many requests|\n|1044|Invalid oauth_signature_method|\n|1100|Invalid JSON schema|\n|1201|Not authorized to make changes to organization|\n|2000|Invalid member password|\n|2001|Invalid member email|\n|2002|Invalid member name (please enter name between 2 and 100 chars in length)|\n|2003|Invalid member default timezone|\n|2004|Invalid initials|\n|2005|Missing member name|\n|2006|Missing member email|\n|2007|Missing member password|\n|2008|No more available seats in organization|\n|2303|Invalid organization ID|\n|2304|Invalid member ID|\n|2305|Missing member ID|\n|2306|Missing social profile ID|\n|3002|Team name has to be between 2-200 characters|\n|3003|Unable to find an organization with that ID|\n|3004|Missing team ID|\n|3005|Invalid team ID|\n|3006|Team name has to be unique in the organization|\n|3008|Member is not seated in the organization|\n|3010|Email is already in use|\n|3020|Invalid cursor format|\n|3021|Invalid social network type|\n|3301|Payment member can’t be removed from the organization|\n|4000|Schema validation failed|\n|4001|Resource not found|\n|4002|Insufficient permissions to view organization members|\n|4003|Insufficient permissions to view member permissions|\n|4004|Insufficient permissions to view member organizations|\n|4005|Insufficient permissions to view team members|\n|4006|Insufficient permissions to view team|\n|4007|Insufficient permissions to create team|\n|4008|Insufficient permissions to view team social profile|\n|4009|Insufficient organization permissions|\n|4010|Insufficient permissions to view organization teams|\n|4303|Member does not exist in organization|\n|5000|An unknown error occurred|\n|5001|HTTP method not permitted|\n|5002|Unsupported operation|\n|9000|An internal error occurred|\n|40001|Social profile isn’t owned by organization (required for posting messages with tags)|\n|40003|You have attempted to delete a message that cannot be deleted in its current state|\n|40004|Only attachments from http://static.ow.ly or http://ow.ly/i/ are currently allowed|\n|40005|Insufficient permission to create new message tags|\n|40019|Message state filter not supported|\n|40020|Specified date range is too large|\n|40021|Uploaded media is not yet ready to be used (further processing required)|\n|40022|Invalid boolean for includeUnscheduledReviewMsgs flag|\n|40023|Twitter only allows 1 network per message|\n|40024|Posting to Facebook Groups is no longer supported|\n|40025|Scheduled message limit reached|\n"
  version: '1.0'
  title: Hootsuite REST SCIM 2.0 API
  contact:
    email: dev.support@hootsuite.com
  license:
    name: Hootsuite Developer Terms and API License Agreement
    url: https://hootsuite.com/legal/dev-api-terms
servers:
- url: https://platform.hootsuite.com
security:
- OAuth2: []
tags:
- name: SCIM 2.0
paths:
  /scim/v2/Users:
    post:
      tags:
      - SCIM 2.0
      operationId: createScimUser
      summary: Create User
      description: Creates a Hootsuite user using the SCIM 2.0 protocol.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      requestBody:
        $ref: '#/components/requestBodies/CreateReplaceScimUser'
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimUser'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimErrorResponse'
    get:
      tags:
      - SCIM 2.0
      operationId: getScimUsers
      summary: Get Users
      description: Retrieves Hootsuite users using the SCIM 2.0 protocol. Support equals filtering on username.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: filter
        in: query
        description: Filtering by username.
        required: false
        schema:
          type: string
      - name: count
        in: query
        description: The maximum number of results to return.
        required: false
        schema:
          type: number
      - name: startIndex
        in: query
        description: The starting index for pagination.
        required: false
        schema:
          type: number
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimUsers'
  /scim/v2/Users/{memberId}:
    get:
      tags:
      - SCIM 2.0
      operationId: getScimUser
      summary: Get User
      description: Retrieves a Hootsuite user using the SCIM 2.0 protocol.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: memberId
        in: path
        description: The Member ID
        required: true
        example: 15240789
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimUser'
    put:
      tags:
      - SCIM 2.0
      operationId: replaceScimUser
      summary: Replace User
      description: Updates a Hootsuite user using the SCIM 2.0 protocol. To see the JSON object attributes required by the PUT endpoint, call the /Schemas endpoint. For a complete example request, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.1)
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: memberId
        in: path
        description: The Member ID
        required: true
        example: 15240789
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/CreateReplaceScimUser'
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimUser'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimErrorResponse'
    patch:
      tags:
      - SCIM 2.0
      operationId: modifyScimUser
      summary: Modify User
      description: 'Modify one or more attributes of a Hootsuite user. For a complete example request, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).

        '
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: memberId
        in: path
        description: The member ID
        required: true
        example: 1234567
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/ScimPatchUser'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimUser'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimErrorResponse'
  /scim/v2/Groups:
    post:
      tags:
      - SCIM 2.0
      operationId: createScimGroup
      summary: Create Group
      description: Creates a Hootsuite team using the SCIM 2.0 protocol.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      requestBody:
        $ref: '#/components/requestBodies/CreateReplaceScimGroup'
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimGroup'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimErrorResponse'
    get:
      tags:
      - SCIM 2.0
      operationId: getScimGroups
      summary: Get Groups
      description: Retrieves Hootsuite teams using the SCIM 2.0 protocol. Support equals filtering on displayName.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: filter
        in: query
        description: Filtering by displayName.
        required: false
        schema:
          type: string
      - name: count
        in: query
        description: The maximum number of results to return.
        required: false
        schema:
          type: number
      - name: startIndex
        in: query
        description: The starting index for pagination.
        required: false
        schema:
          type: number
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimGroups'
  /scim/v2/Groups/{groupId}:
    get:
      tags:
      - SCIM 2.0
      operationId: getScimGroup
      summary: Get Group
      description: Retrieves a Hootsuite team using the SCIM 2.0 protocol.
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: teamId
        in: path
        description: The team Id
        required: true
        example: 15240789
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimGroup'
    put:
      tags:
      - SCIM 2.0
      operationId: replaceScimGroup
      summary: Replace Group
      description: Updates a Hootsuite team using the SCIM 2.0 protocol. For a complete example request, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.1)
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: teamId
        in: path
        description: The Team ID
        required: true
        example: 15240789
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/CreateReplaceScimGroup'
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimGroup'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimErrorResponse'
    patch:
      tags:
      - SCIM 2.0
      operationId: modifyScimGroup
      summary: Modify Group
      description: 'Modify one or more attributes of a Hootsuite team. For a complete example request, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).

        '
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      - name: teamId
        in: path
        description: The team Id
        required: true
        example: 1234567
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/ScimPatchGroup'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimGroup'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimErrorResponse'
  /scim/v2/ResourceTypes:
    get:
      tags:
      - SCIM 2.0
      operationId: getScimResourceTypes
      summary: Get Resource Types
      description: Retrieves the configuration for all supported SCIM resource types
      parameters:
      - $ref: '#/components/parameters/bearerToken'
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ScimResourceTypes'
components:
  schemas:
    ScimResourceInfo:
      type: object
      properties:
        name:
          type: string
          example: User
        schemaExtensions:
          type: array
          items:
            type: object
            properties:
              schema:
                type: string
                example: urn:ietf:params:scim:schemas:core:2.0:User
              required:
                type: boolean
                example: true
        description:
          type: string
          example: User Account
        id:
          type: string
          example: User
        meta:
          type: object
          properties:
            resourceType:
              type: string
              example: ResourceType
            location:
              type: string
              example: /scim/v2/ResourceTypes/User
        schema:
          type: string
          example: urn:ietf:params:scim:schemas:core:2.0:User
        endpoint:
          type: string
          example: /scim/v2/Users
        schemas:
          type: array
          items:
            type: string
            example: urn:ietf:params:scim:schemas:core:2.0:ResourceType
    ScimResourceTypes:
      type: object
      properties:
        schemas:
          type: array
          items:
            type: string
            example: urn:ietf:params:scim:api:messages:2.0:ListResponse
        Resources:
          type: array
          items:
            $ref: '#/components/schemas/ScimResourceInfo'
    ScimGroup:
      type: object
      properties:
        schemas:
          $ref: '#/components/schemas/ScimSchemas'
        id:
          type: string
          description: ''
          example: '3918310'
        meta:
          type: object
          description: ''
          properties:
            resourceType:
              type: string
              description: ''
              example: Group
            created:
              type: string
              description: ''
              example: 2012-05-07 15:36:18+00:00
            lastModified:
              type: string
              description: ''
              example: 2015-04-21 21:25:40+00:00
            location:
              type: string
              description: ''
              example: https://platform.hootsuite.com/scim/v2/groups/627221
        displayName:
          type: string
          description: ''
          example: team 1
        members:
          type: array
          description: ''
          items:
            $ref: '#/components/schemas/MemberRef'
    ScimGroups:
      type: object
      description: ''
      properties:
        Resources:
          type: array
          description: ''
          items:
            $ref: '#/components/schemas/ScimGroup'
        totalResults:
          type: number
          description: The total number of groups found
          example: 8
        startIndex:
          type: number
          description: The current offset used for result paging
          example: 1
        itemsPerPage:
          type: number
          description: The page size used for paging
          example: 10
        schemas:
          type: array
          description: ''
          items:
            type: string
            example: urn:ietf:params:scim:api:messages:2.0:ListResponse
    ScimUsers:
      type: object
      description: ''
      properties:
        Resources:
          type: array
          description: ''
          items:
            $ref: '#/components/schemas/ScimUser'
        totalResults:
          type: number
          description: The total number of users found
          example: 8
        startIndex:
          type: number
          description: The current offset used for result paging
          example: 1
        itemsPerPage:
          type: number
          description: The page size used for paging
          example: 10
        schemas:
          type: array
          description: ''
          items:
            type: string
            example: urn:ietf:params:scim:api:messages:2.0:ListResponse
    ScimPatchGroup:
      type: object
      properties:
        schemas:
          type: array
          description: Must contain the URI value of "urn:ietf:params:scim:api:messages:2.0:PatchOp"
          items:
            type: string
            example: urn:ietf:params:scim:api:messages:2.0:PatchOp
        Operations:
          type: array
          items:
            $ref: '#/components/schemas/ScimPatchGroupOperation'
    ScimErrorResponse:
      type: object
      properties:
        schemas:
          type: array
          items:
            type: string
            example: urn:ietf:params:scim:api:messages:2.0:Error
        status:
          type: string
          example: '400'
        detail:
          type: string
          example: A required value was missing, or the value specified was not compatible with the operation or attribute type.
        scimType:
          type: string
          description: (optional) The SCIM error type
          example: invalidValue
          enum:
          - invalidSyntax
          - mutability
          - invalidValue
          - uniqueness
    CreateReplaceScimGroup:
      type: object
      required:
      - displayName
      - schema
      properties:
        schemas:
          $ref: '#/components/schemas/ScimSchemas'
        displayName:
          type: string
          description: ''
          example: Group 1
        members:
          type: array
          description: ''
          items:
            $ref: '#/components/schemas/MemberRef'
    ScimPatchUserOperation:
      type: object
      properties:
        op:
          type: string
          description: 'The operation to perform: can be `add`, `replace` or `remove`'
          example: replace
        path:
          type: string
          description: Contains an attribute path describing the target of the operation. OPTIONAL for `add` and `replace`
          example: emails[type eq "work"]
        value:
          type: object
          example: new_value
          description: New value if add/replace, or name of target for remove
          anyOf:
          - $ref: '#/components/schemas/AnyValue'
    GroupRef:
      type: object
      properties:
        value:
          type: string
          description: ''
          example: '5838356'
        $ref:
          type: string
          description: ''
          example: https://platform.hootsuite.com/scim/v2/groups/663806
        display:
          type: string
          description: ''
          example: Group 1
    CreateReplaceScimUser:
      type: object
      required:
      - displayName
      - userName
      - active
      properties:
        schemas:
          $ref: '#/components/schemas/ScimSchemas'
        userName:
          type: string
          description: ''
          example: joe.smith@hootsuite.com
        name:
          type: object
          description: ''
          properties:
            givenName:
              type: string
              description: ''
              example: joe.smith
            familyName:
              type: string
              description: ''
              example: joe.smith
        emails:
          type: array
          description: ''
          items:
            required:
            - primary
            type: object
            description: ''
            properties:
              primary:
                type: boolean
                description: ''
                example: true
              value:
                type: string
                description: ''
                example: joe.smith@hootsuite.com
              type:
                type: string
                description: ''
                example: work
        displayName:
          type: string
          description: ''
          example: Joe Smith
        timezone:
          type: string
          description: The user's time zone. If not provided it will default to "America/Vancouver". Valid values are defined at http://php.net/manual/en/timezones.php.
          example: America/Vancouver
        preferredLanguage:
          type: string
          description: The user's language.
          example: en
          enum:
          - en
          - ja
          - fr
          - it
          - es
          - de
          - pt_BR
          - pl
          - id
          - zh_CN
          - zh_HK
          - zh_TW
          - nl
          - ko
          - ar
          - ru
          - th
          - tr
        title:
          type: string
          description: ''
          example: Manager
        groups:
          type: array
          description: ''
          items:
            $ref: '#/components/schemas/GroupRef'
        active:
          type: boolean
          description: ''
          example: true
    MemberRef:
      type: object
      properties:
        value:
          type: string
          description: ''
          example: '235836528356'
        $ref:
          type: string
          description: ''
          example: https://platform.hootsuite.com/scim/v2/users/21790633
        display:
          type: string
          description: ''
          example: John Doe
    AnyValue: {}
    ScimSchemas:
      type: array
      description: Required SCIM schemas
      items:
        type: string
      example:
      - urn:ietf:params:scim:schemas:core:2.0:User
    ScimPatchUser:
      type: object
      properties:
        schemas:
          type: array
          description: Must contain the URI value of "urn:ietf:params:scim:api:messages:2.0:PatchOp"
          items:
            type: string
            example: urn:ietf:params:scim:api:messages:2.0:PatchOp
        Operations:
          type: array
          items:
            $ref: '#/components/schemas/ScimPatchUserOperation'
    ScimUser:
      type: object
      properties:
        schemas:
          $ref: '#/components/schemas/ScimSchemas'
        id:
          type: string
          description: ''
          example: '3918310'
        meta:
          type: object
          description: ''
          properties:
            resourceType:
              type: string
              description: ''
              example: User
            created:
              type: string
              description: ''
              example: 2012-05-07 15:36:18+00:00
            lastModified:
              type: string
              description: ''
              example: 2015-04-21 21:25:40+00:00
        userName:
          type: string
          description: ''
          example: joe.smith@hootsuite.com
        name:
          type: object
          description: ''
          properties:
            givenName:
              type: string
              description: ''
              example: joe.smith
            familyName:
              type: string
              description: ''
              example: joe.smith
        emails:
          type: array
          description: ''
          items:
            type: object
            description: ''
            properties:
              primary:
                type: boolean
                description: ''
                example: true
              value:
                type: string
                description: ''
                example: joe.smith@hootsuite.com
              type:
                type: string
                description: ''
                example: work
        displayName:
          type: string
          description: ''
          example: Joe Smith
        timezone:
          type: string
          description: The user's time zone. If not provided it will default to "America/Vancouver". Valid values are defined at http://php.net/manual/en/timezones.php.
          example: America/Vancouver
        preferredLanguage:
          type: string
          description: The user's language.
          example: en
          enum:
          - en
          - ja
          - fr
          - it
          - es
          - de
          - pt_BR
          - pl
          - id
          - zh_CN
          - zh_HK
          - zh_TW
          - nl
          - ko
          - ar
          - ru
          - th
          - tr
        title:
          type: string
          description: ''
          example: Manager
        groups:
          type: array
          description: ''
          items:
            type: object
        active:
          type: boolean
          description: ''
          example: true
    ScimPatchGroupOperation:
      type: object
      properties:
        op:
          type: string
          description: 'The operation to perform: can be `add`, `replace` or `remove`'
          example: replace
        value:
          type: object
          example: new_value
          description: New value to set for attribute
          anyOf:
          - $ref: '#/components/schemas/AnyValue'
  requestBodies:
    CreateReplaceScimGroup:
      content:
        application/json;charset=utf-8:
          schema:
            $ref: '#/components/schemas/CreateReplaceScimGroup'
      required: true
    CreateReplaceScimUser:
      content:
        application/json;charset=utf-8:
          schema:
            $ref: '#/components/schemas/CreateReplaceScimUser'
      required: true
  parameters:
    bearerToken:
      in: header
      name: Authorization
      description: A bearer token string used for authentication
      required: true
      schema:
        type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://platform.hootsuite.com/oauth2/auth
          tokenUrl: https://platform.hootsuite.com/oauth2/token
          scopes:
            offline: Request refresh tokens
            analytics:read: Request analytics API access
    Basic_Auth:
      type: http
      scheme: basic
x-provenance:
  generated: '2026-08-13'
  method: searched
  source: https://apidocs.hootsuite.com/docs/api/swagger.yaml
  note: First-party Hootsuite REST API contract. Discovered from the ReDoc loader at https://platform.hootsuite.com/docs/api/index.html (spec-url ./swagger.yaml) and confirmed as the canonical service-desc link in Hootsuite's RFC 9727 API catalog at https://www.hootsuite.com/.well-known/api-catalog. Published as Swagger 2.0; converted to OpenAPI 3.0 with swagger2openapi 7 for this working copy. The verbatim Swagger 2.0 source is kept at openapi/_original/hootsuite-rest-api-swagger.yaml.
  ownership: host platform.hootsuite.com, info.title "Hootsuite REST API", contact dev.support@hootsuite.com - the contract identifies itself as Hootsuite's.