Team API

API Requests

Create an API Integration and obtain your apiKey to make requests listed below. Please make sure that the integration is not restricted to access configurations.

Create Team Request

Create team request is used to create teams in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
name Name of team. Can not exceed 100 characters.

Optional Parameters

Parameter
members The usernames of users which will be added to team, and optionally their roles. Possible roles are 'user' and 'admin'. If not given 'user' role is set.
description The description of team.
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/team' -d '
{
    "apiKey": "eb243592-faa2-4ba2-a551q-1afdf565c889",
    "name" : "operations",
    "description" : "operations team",
    "members" : [
        {"user":"john.smith@opsgenie.com"},
        {"user":"eric.boston@opsgenie.com", "role":"admin"}
     ]
}'
Response:
{
    "id" : "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
    "status" : "successful",
    "code" : 200
}

Add Team Member Request

Add team member request is used to add a team member to a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
id Id of the team to be updated
name Name of the team to be updated
userId Id of user to be added to the team
username Username of user to be added to the team
One of id or name parameters should be specified with add team member request
One of userId or username parameters should be specified with add team member request

Optional Parameters

Parameter
role Role of the user
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/team/member' -d '
{
    "apiKey": "eb243592-faa2-4ba2-a551q-1afdf565c889",
    "id" : "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
    "userId" : "f670bd5f-1bt3-4d4d-9668-3bg0d320kef3"
}'
Response:
{
    "status" : "successful",
    "code" : 200
}

Remove Team Member Request

Remove team member request is used to remove a team member from a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
id Id of the team to be updated
name Name of the team to be updated
userId Id of user to be removed from the team
username Username of user to be removed from the team
One of id or name parameters should be specified with remove team member request
One of userId or username parameters should be specified with remove team member request
Sample Request
curl -XDELETE 'https://api.opsgenie.com/v1/json/team/member?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=replace_team_name&username=replace_username'
Response:
{
    "status" : "successful",
    "code" : 200
}

Update Team Request

Update team request is used to update teams in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
id Id of team to be updated

Optional Parameters

Parameter
name Name of team
members The usernames of users which will be added to team, and optionally their roles. Possible roles are 'user' and 'admin'. If not given 'user' role is set.
description The description of team.
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/team' -d '
{
    "apiKey": "eb243592-faa2-4ba2-a551q-1afdf565c889",
    "id" : "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
    "name" : "operations_updated"
}'
Response:
{
    "status" : "successful",
    "code" : 200
}

Delete Team Request

Delete team request is used to delete teams in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
id Id of team to be deleted.
name Name of team to be deleted.
One of id or name parameters should be specified with delete team request
Sample Request
curl -XDELETE 'https://api.opsgenie.com/v1/json/team?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network'
curl -XDELETE 'https://api.opsgenie.com/v1/json/team?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871'
Response:
{
    "status" : "successful",
    "code" : 200
}

Get Team Request

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

Get team request is used to search and retrieve teams in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
id Id of team to be retrieved
name Name of team to be retrieved
One of id or name parameters should be specified with get team request.
Sample Request For Team Retrieve
curl -XGET 'https://api.opsgenie.com/v1/json/team?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network'
Response:
{
        "id" : "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
        "name" : "network",
        "description" : "network team",
        "members": [
            {"user":"john.smith@opsgenie.com", "role":"user"},
            {"user":"eric.boston@opsgenie.com", "role":"admin"}
        ]
}

List Teams Request

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

List teams request is used to list teams in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
Sample Request For Team Retrieve
curl -XGET 'https://api.opsgenie.com/v1/json/team?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=network'
curl -XGET 'https://api.opsgenie.com/v1/json/team?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871'
Response:
{
    "teams":[
        {
             "id" : "ac463592-dbd2-4ca3-a651d-48fhf5j5c871",
             "name" : "network",
             "description" : "network team",
             "members" : [{"user":"john.smith@opsgenie.com", "role":"admin"}]
        },
        {
             "id" : "fg463552-dvf2-4ca3-a4315-48fhf5j67875",
             "name" : "database",
             "description" : "database team",
             "members" : [{"user":"eric.boston@opsgenie.com", "role":"user"}]
        },
    ]
}

List Team Logs Request

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

List team logs request is used to retrieve team logs in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests
id Id of team that the logs belong to.
name Name of team that the logs belong to.
One of id or name parameters should be specified with list team logs request.

Optional Parameters

Parameter
limit Page size. Max: 100, default is 100.
order asc/desc, default : desc
lastKey Key which will be used in pagination.
Sample request to retrieve team logs. 
curl -XGET 'https://api.opsgenie.com/v1/json/team/log?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&name=operations'
curl -XGET 'https://api.opsgenie.com/v1/json/team/log?apiKey=eb243592-faa2-4ba2-a551q-1afdf565c889&id=ac463592-dbd2-4ca3-a651d-48fhf5j5c871'
Response:

Timestamps are Unix Epoch as milliseconds

{
    "lastKey": "13099992234_1309999223432245566",
    "logs": [
        {
            "log": "Created team.",
            "owner":"System",
            "createdAt":13099992234
        },
        {
            "log": "Updated escalation.",
            "owner":"user1@xyz.com",
            "createdAt":13099992534
        }
    ]
}

Add Team Routing Rule Request

Add team routing rule request is used to add a routing rule to a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests.
teamId Id of the team that the routing rule will belong to.
teamName name of the team that the routing rule will belong to.
notify Notify field contains the parameter "name" which represents the name of target entity and type parameter which represents the type of the target entity. Name parameter can be set to "none" for notifying no one. In this case, type parameter is ignored. Type parameter can be set to either schedule or escalation.
One of teamId or teamName parameters should be specified with add team routing rule request

Optional Parameters

Parameter
name Name of the team routing rule.
conditionMatchType Type of the operation will be applied on conditions. Should be one of Match All, Match Any Condition, Match All Conditions.
conditions List of conditions will be checked before applying team routing rule. You can refer here for more about the parameter definition.
applyOrder The order of the team routing rule within the rules. applyOrder value is actually the index of the team routing rule whose minimum value is 0 and whose maximum value is n-1 where the number of team routing rules is n. If the number of team routing rules is greater than or equal to applyOrder value, the behavior will be the same as not providing this parameter.
restrictions Time interval that team routing rule will work. It can be just one restriction which will be applied all days, or list of restrictions will be applied to the specified days. You may refer here for more about the parameter definition.
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/team/routingRule' -d '
{
    "apiKey": "7aa837f3-2091-43ac-adc3-52c4f62bf132",
    "teamName": "test_team",
    "name": "nightRule",
    "conditionMatchType": "Match All Conditions",
    "conditions": [
        {
            "not": "false",
            "field": "message",
            "operation": "contains",
            "expectedValue": "night"
        },
        {
            "not": "true",
            "field": "extraProperties",
            "operation": "contains Key",
            "expectedValue": "prop1"
        }

    ],
    "applyOrder": "0",
    "notify": {
        "name": "test_team_escalation",
        "type": "escalation"
    },
    "restrictions":{
        "startHour":"15",
        "startMinute":"04",
        "endHour":"18",
        "endMinute":"58"
    }
}'
Response:
{
    "status" : "successful",
    "code" : 200,
    "id":"388f2ad8-a0d5-416a-9079-8bd2fcffb2af"
}

Update Team Routing Rule Request

Update team routing rule request is used to update a routing rule of a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests.
id Id of the team routing rule to be updated.
teamId Id of the team that the routing rule belongs to.
teamName name of the team that the routing rule belongs to.
One of teamId or teamName parameters should be specified with update team routing rule request

Optional Parameters

Parameter
name Name of the team routing rule.
conditionMatchType Type of the operation will be applied on conditions. Should be one of Match All, Match Any Condition, Match All Conditions.
conditions List of conditions will be checked before applying team routing rule. You can refer here for more about the parameter definition.
notify Notify field contains the parameter "name" which represents the name of target entity and type parameter which represents the type of the target entity. Name parameter can be set to "none" for notifying no one. In this case, type parameter is ignored. Type parameter can be set to either schedule or escalation.
restrictions Time interval that team routing rule will work. It can be just one restriction which will be applied all days, or list of restrictions will be applied to the specified days. You may refer here for more about the parameter definition.
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/team/routingRule' -d '
{
    "apiKey": "7aa837f3-2091-43ac-adc3-52c4f62bf132",
    "teamName": "test_team",
    "id" : "8a68ef3b-2d03-4726-9299-f9fdc321d3f3",
    "name": "nightRule",
    "conditionMatchType": "Match All Conditions",
    "conditions": [
        {
            "not": "false",
            "field": "message",
            "operation": "contains",
            "expectedValue": "night"
        },
        {
            "not": "true",
            "field": "extraProperties",
            "operation": "contains Key",
            "expectedValue": "prop1"
        }

    ],
    "applyOrder": "0",
    "notify": {
        "name": "test_team_escalation",
        "type": "escalation"
    },
    "restrictions":{
        "startHour":"15",
        "startMinute":"04",
        "endHour":"18",
        "endMinute":"58"
    }
}'
Response:
{
    "status" : "successful",
    "code" : 200
}

Change Team Routing Rule Order Request

Change team routing rule order request is used to update the order of routing rule of among routing rules of a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
applyOrder The order of the team routing rule within the rules. applyOrder value is actually the index of the team routing rule whose minimum value is 0 and whose maximum value is n-1 where the number of team routing rules is n. If the number of team routing rules is greater than or equal to applyOrder value, the behavior will be the same as not providing this parameter.
apiKey API key is used for authenticating API requests.
id Id of the team routing rule to be updated.
teamId Id of the team that the routing rule belongs to.
teamName name of the team that the routing rule belongs to.
One of teamId or teamName parameters should be specified with change team routing rule order request
Sample Request
curl -XPOST 'https://api.opsgenie.com/v1/json/team/routingRule/changeOrder' -d '
{
    "apiKey": "7aa837f3-2091-43ac-adc3-52c4f62bf132",
    "teamName": "test_team",
    "id" : "c762bc01-b347-44df-834e-6a791244545f",
    "applyOrder": "0"
}'
Response:
{
    "status" : "successful",
    "code" : 200
}

Delete Team Routing Rule Request

Delete team routing rule request is used to delete the routing rule of a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests.
id Id of the team routing rule to be updated.
teamId Id of the team that the routing rule belongs to.
teamName name of the team that the routing rule belongs to.
One of teamId or teamName parameters should be specified with delete team routing rule request
Sample Request
curl -XDELETE 'https://api.opsgenie.com/v1/json/team/routingRule?apiKey=7aa837f3-2091-43ac-adc3-52c4f62bf132&teamName=test_team&id=c762bc01-b347-44df-834e-6a791244545f'
Response:
{
    "status" : "successful",
    "code" : 200
}

Get Team Routing Rule Request

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

Get team routing rule request is used to get the routing rule of a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests.
id Id of the team routing rule to be updated.
teamId Id of the team that the routing rule belongs to.
teamName name of the team that the routing rule belongs to.
One of teamId or teamName parameters should be specified with get team routing rule request
Sample Request
curl -XGET 'https://api.opsgenie.com/v1/json/team/routingRule?apiKey=7aa837f3-2091-43ac-adc3-52c4f62bf132&teamName=test_team&id=c762bc01-b347-44df-834e-6a791244545f'
Response:
{
    "id":"388f2ad8-a0d5-416a-9079-8bd2fcffb2af",
    "name":"nightRule",
    "isDefault":false,
    "conditionMatchType":"Match Any Condition",
    "conditions":[{"not":false,"field":"message","expectedValue":"night","operation":"Contains","order":0},{"not":true,"field":"extraProperties","expectedValue":"prop1","operation":"Contains Key","order":0}],
    "restrictions":{"endHour":18,"startHour":15,"startMinute":4,"endMinute":58},
    "notify":{
        "name":"Night_Schedule",
        "id":"ba3a51eb-e3ac-457e-8817-ff5b7789c1af",
        "type":"schedule"
    }
}

List Team Routing Rules Request

This is a read request. Therefore, even if the integration of the API key is configured as read-only, the request will be accepted.

List team routing rules request is used to get the list routing rules of a team in OpsGenie. It takes the following parameters:

Mandatory Parameters

Parameter
apiKey API key is used for authenticating API requests.
teamId Id of the team that the routing rule belongs to.
teamName name of the team that the routing rule belongs to.
One of teamId or teamName parameters should be specified with get team routing rule request
Sample Request
curl -XGET 'https://api.opsgenie.com/v1/json/team/routingRule?apiKey=7aa837f3-2091-43ac-adc3-52c4f62bf132&teamName=test_team'
Response:
{
    "rules":[
        {
            "isDefault":false,
            "name":"nightRule",
            "restrictions":{"endHour":18,"startHour":15,"startMinute":4,"endMinute":58},
            "id":"388f2ad8-a0d5-416a-9079-8bd2fcffb2af",
            "conditions":[{"not":false,"field":"message","expectedValue":"night","operation":"Contains","order":0},{"not":true,"field":"extraProperties","expectedValue":"prop1","operation":"Contains Key","order":0}],
            "conditionMatchType":"Match Any Condition",
            "notify":{
                    "name":"Night_Schedule",
                    "id":"ba3a51eb-e3ac-457e-8817-ff5b7789c1af",
                    "type":"schedule"
            }
        },
        {
            "isDefault":true,
            "name":"Default Routing Rule",
            "id":"25a59ebb-f4d1-4552-a728-7d747c8a9713",
            "conditions":[],
            "conditionMatchType":"Match All",
            "notify":{
                    "name":"none"
             }
        }
    ]
}

Parameters of conditions

conditions field should contain list of condition objects. condition objects should have the following format:
Parameter
not
field Alert field will be checked for the condition. Available fields: message, alias, description, source, entity, tags, actions, extraProperties, recipients, teams.
operation Condition Operation which will be applied when comparing alert field and the expected value. Available operations changes according to the fields type.

  • String Operations: Contains, Equals, Starts With, Ends With, Matches, Is Empty, Equals Ignore Whitespace
  • List Operations: Contains, Is Empty
  • Map Operations: Contains, Contains Key, Contains Value, Is Empty
  • Number Operations: Matches, Equals, Greater Than, Less Than
  • Boolean Operations: Equals
expectedValue User defined value that will be compared with alert field according to the operation

Parameters Of Restriction

Restrictions can be only one restriction object which will be applied to all weekdays, or list of restriction objects containing additional startDay and endDay info.

To get detailed information about time restrictions, you can refer to our Time Constrains & Time Zones support document.
Parameter
startHour Value of the hour that team routing rule start working.
startMinute Value of the minute that team routing rule start working.
endHour Value of the hour that team routing rule end working.
endMinute Value of the minute that team routing rule end working.
startDay Name of day when restriction will start. Mandatory only list of restriction objects. May be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday
endDay Name of day when restriction will end. Mandatory only list of restriction objects. May be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday