{
  "opencollection": "1.0.0",
  "info": {
    "name": "PureCloud Platform Agent Assistants Presence API",
    "version": "v2"
  },
  "items": [
    {
      "info": {
        "name": "Presence",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get bulk user presences for a Genesys Cloud (PURECLOUD) presence source",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/users/presences/purecloud/bulk",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "A comma separated list of user IDs to fetch their presence status in bulk. Limit 50."
              }
            ]
          },
          "docs": "Get bulk user presences for a Genesys Cloud (PURECLOUD) presence source"
        },
        {
          "info": {
            "name": "Get bulk user presences for a single presence source",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/users/presences/:sourceId/bulk",
            "params": [
              {
                "name": "sourceId",
                "value": "",
                "type": "path",
                "description": "The requested presence source ID."
              },
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "A comma separated list of user IDs to fetch their presence status in bulk. Limit 50."
              }
            ]
          },
          "docs": "Get bulk user presences for a single presence source"
        },
        {
          "info": {
            "name": "Update bulk user Presences",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v2/users/presences/bulk"
          },
          "docs": "Update bulk user Presences"
        },
        {
          "info": {
            "name": "Get a Presence Definition. Apps should migrate to use GET /api/v2/presence/definitions/{definitionId} instead",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presencedefinitions/:presenceId",
            "params": [
              {
                "name": "presenceId",
                "value": "",
                "type": "path",
                "description": "Organization Presence ID"
              },
              {
                "name": "localeCode",
                "value": "",
                "type": "query",
                "description": "The locale code to fetch for the presence definition. Use ALL to fetch everything."
              }
            ]
          },
          "docs": "Get a Presence Definition. Apps should migrate to use GET /api/v2/presence/definitions/{definitionId} instead"
        },
        {
          "info": {
            "name": "Update a Presence Definition. Apps should migrate to use PUT /api/v2/presence/definitions/{definitionId} instead)",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v2/presencedefinitions/:presenceId",
            "params": [
              {
                "name": "presenceId",
                "value": "",
                "type": "path",
                "description": "Organization Presence ID"
              }
            ]
          },
          "docs": "Update a Presence Definition. Apps should migrate to use PUT /api/v2/presence/definitions/{definitionId} instead)"
        },
        {
          "info": {
            "name": "Delete a Presence Definition. Apps should migrate to use DELETE /api/v2/presence/definitions/{definitionId} instead",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v2/presencedefinitions/:presenceId",
            "params": [
              {
                "name": "presenceId",
                "value": "",
                "type": "path",
                "description": "Organization Presence ID"
              }
            ]
          },
          "docs": "Delete a Presence Definition. Apps should migrate to use DELETE /api/v2/presence/definitions/{definitionId} instead"
        },
        {
          "info": {
            "name": "Get an Organization's list of Presence Definitions. Apps should migrate to use GET /api/v2/presence/definitions instead",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presencedefinitions",
            "params": [
              {
                "name": "pageNumber",
                "value": "",
                "type": "query",
                "description": "Page number"
              },
              {
                "name": "pageSize",
                "value": "",
                "type": "query",
                "description": "Page size"
              },
              {
                "name": "deleted",
                "value": "",
                "type": "query",
                "description": "Deleted query can be TRUE, FALSE or ALL"
              },
              {
                "name": "localeCode",
                "value": "",
                "type": "query",
                "description": "The locale code to fetch for each presence definition. Use ALL to fetch everything."
              }
            ]
          },
          "docs": "Get an Organization's list of Presence Definitions. Apps should migrate to use GET /api/v2/presence/definitions instead"
        },
        {
          "info": {
            "name": "Create a Presence Definition. Apps should migrate to use POST /api/v2/presence/definitions instead",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v2/presencedefinitions"
          },
          "docs": "Create a Presence Definition. Apps should migrate to use POST /api/v2/presence/definitions instead"
        },
        {
          "info": {
            "name": "Get a Presence Definition",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presence/definitions/:definitionId",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "Presence Definition ID"
              },
              {
                "name": "localeCode",
                "value": "",
                "type": "query",
                "description": "The locale code to fetch for the presence definition. Use ALL to fetch everything."
              }
            ]
          },
          "docs": "Get a Presence Definition"
        },
        {
          "info": {
            "name": "Update a Presence Definition",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v2/presence/definitions/:definitionId",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "Presence Definition ID"
              }
            ]
          },
          "docs": "Update a Presence Definition"
        },
        {
          "info": {
            "name": "Delete a Presence Definition",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v2/presence/definitions/:definitionId",
            "params": [
              {
                "name": "definitionId",
                "value": "",
                "type": "path",
                "description": "Presence Definition ID"
              }
            ]
          },
          "docs": "Delete a Presence Definition"
        },
        {
          "info": {
            "name": "Get a list of Presence Definitions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presence/definitions",
            "params": [
              {
                "name": "deactivated",
                "value": "",
                "type": "query",
                "description": "Deactivated query can be TRUE or FALSE"
              },
              {
                "name": "divisionId",
                "value": "",
                "type": "query",
                "description": "One or more division IDs. If nothing is provided, the definitions associated withthe list of divisions that the user has access to will be returned."
              },
              {
                "name": "localeCode",
                "value": "",
                "type": "query",
                "description": "The locale code to fetch for the presence definition. Use ALL to fetch everything."
              }
            ]
          },
          "docs": "Get a list of Presence Definitions"
        },
        {
          "info": {
            "name": "Create a Presence Definition",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v2/presence/definitions"
          },
          "docs": "Create a Presence Definition"
        },
        {
          "info": {
            "name": "Get the presence settings",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presence/settings"
          },
          "docs": "Get the presence settings"
        },
        {
          "info": {
            "name": "Update the presence settings",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v2/presence/settings"
          },
          "docs": "Update the presence settings"
        },
        {
          "info": {
            "name": "Get a Presence Source",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presence/sources/:sourceId",
            "params": [
              {
                "name": "sourceId",
                "value": "",
                "type": "path",
                "description": "Presence Source ID"
              }
            ]
          },
          "docs": "Get a Presence Source"
        },
        {
          "info": {
            "name": "Update a Presence Source",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v2/presence/sources/:sourceId",
            "params": [
              {
                "name": "sourceId",
                "value": "",
                "type": "path",
                "description": "Presence Source ID"
              }
            ]
          },
          "docs": "Update a Presence Source"
        },
        {
          "info": {
            "name": "Delete a Presence Source",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v2/presence/sources/:sourceId",
            "params": [
              {
                "name": "sourceId",
                "value": "",
                "type": "path",
                "description": "Presence Source ID"
              }
            ]
          },
          "docs": "Delete a Presence Source"
        },
        {
          "info": {
            "name": "Get a list of Presence Sources",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presence/sources",
            "params": [
              {
                "name": "deactivated",
                "value": "",
                "type": "query",
                "description": "Deactivated query can be TRUE or FALSE"
              }
            ]
          },
          "docs": "Get a list of Presence Sources"
        },
        {
          "info": {
            "name": "Create a Presence Source",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v2/presence/sources"
          },
          "docs": "Create a Presence Source"
        },
        {
          "info": {
            "name": "Get the list of SystemPresences",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/systempresences"
          },
          "docs": "Get the list of SystemPresences"
        },
        {
          "info": {
            "name": "Get a user's Genesys Cloud presence.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/users/:userId/presences/purecloud",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path",
                "description": "user Id"
              }
            ]
          },
          "docs": "Get the default Genesys Cloud user presence source PURECLOUD"
        },
        {
          "info": {
            "name": "Patch a Genesys Cloud user's presence",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/v2/users/:userId/presences/purecloud",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path",
                "description": "user Id"
              }
            ]
          },
          "docs": "The presence object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the PURECLOUD source as the user's primary presence source. Option 2: Provide the presenceDefinition value. The 'id' is the only value required within the presenceDefinition. Option 3: Provide the message value. Option 1 can be combined with Option 2 and/or Option 3."
        },
        {
          "info": {
            "name": "Get a user's Presence",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/users/:userId/presences/:sourceId",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path",
                "description": "user Id"
              },
              {
                "name": "sourceId",
                "value": "",
                "type": "path",
                "description": "Presence source ID"
              }
            ]
          },
          "docs": "Get a user's presence for the specified source that is not specifically listed.  Used to support custom presence sources. This endpoint does not support registered presence sources."
        },
        {
          "info": {
            "name": "Patch a user's Presence",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/v2/users/:userId/presences/:sourceId",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path",
                "description": "user Id"
              },
              {
                "name": "sourceId",
                "value": "",
                "type": "path",
                "description": "Presence source ID"
              }
            ]
          },
          "docs": "Patch a user's presence for the specified source that is not specifically listed. This endpoint does not support registered presence sources. The presence object can be patched one of three ways. Option 1: Set the 'primary' property to true. This will set the 'source' defined in the path as the user's primary presence source. Option 2: Provide the presenceDefinition value. The 'id' is the only value required within the presenceDefinition. Option 3: Provide the message value. Option 1 can be comb"
        },
        {
          "info": {
            "name": "Get a user's Primary Presence Source",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/presence/users/:userId/primarysource",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path",
                "description": "user ID"
              }
            ]
          },
          "docs": "Get a user's Primary Presence Source"
        },
        {
          "info": {
            "name": "Update a user's Primary Presence Source",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v2/presence/users/:userId/primarysource",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path",
                "description": "user ID"
              }
            ]
          },
          "docs": "Update a user's Primary Presence Source"
        }
      ]
    }
  ],
  "bundled": true
}