REST API documentation version 3

https://api.tempo.io/core/3

This documentation is for version 3 of the Tempo REST API. The latest version of the Tempo REST API is version 4.

We encourage you to join our developer community on Slack at www.tempo.io/developers, where you can get support from our internal experts and share best practices with other developers building with Tempo.

If you have feedback or requests, you can also reach us through our Customer Support Portal. You can find general product information in the Tempo Help Center.

Using the REST API as an individual user

You can use the REST API to interact with the data your permissions give you access to. To do so, you will need to generate a Tempo OAuth 2.0 token.

Go to Tempo>Settings, scroll down to Data Access and select API integration.

Once you have a token, you need to use it inside the Authorization HTTP header. Ex:

curl -v -H "Authorization: Bearer $token" "https://api.tempo.io/core/3/worklogs?..."

Using the REST API as an application developer

If you are building apps with Tempo, and have the required Tempo administrator permissions, you can quickly obtain the OAuth 2.0 credentials you need to retrieve an access token. Access tokens grant temporary, secure access to Tempo, based on your current permissions.

Obtain your credentials

Go to Tempo>Settings, scroll down to Data Access and select OAuth 2.0 authentication.

Enter a Redirect URI and specify the Client type and Authorization grant type. In most cases you will choose Authorization code as the Authorization grant type.

Once you click Add, your Client ID and Client secret are generated and you can retrieve your access token.

How to retrieve an access token for a user

Authorization grant type used is authorization_code

Step 1

Obtain an authorization code against your Jira Cloud instance :

GET: https://{jira-cloud-instance-name}.atlassian.net/plugins/servlet/ac/io.tempo.jira/oauth-authorize/?client_id=$CLIENT_ID&redirect_uri=$REDIRECT_URI

Where $CLIENT_ID and $REDIRECT_URI match the one you generated in Tempo > Settings > OAuth 2.0 Applications

You will be asked to authorize or deny access to your Tempo data. Granting access redirects you to the configured redirect URI with a new query string parameter named code (this is the authorization code). Note that this authorization code expires quickly.

Step 2

Obtain an access token from Tempo by providing the authorization code to:

POST: https://api.tempo.io/oauth/token/
sending the following parameters in the body using the "application/x-www-form-urlencoded" format:
   grant_type = "authorization_code"
   client_id = $CLIENT_ID
   client_secret = $CLIENT_SECRET
   redirect_uri = $REDIRECT_URI
   code = $CODE

The response includes the access token itself, related information, and a refresh token.

{
   "access_token":"$ACCESS_TOKEN",
   "expires_in":5184000,
   "token_type":"Bearer",
   "scope":"read write",
   "refresh_token":"$REFRESH_TOKEN"
}

Step 3

Provide this access token to any API requests using the Authorization header :

curl -H "Authorization: Bearer $ACCESS_TOKEN" "https://api.tempo.io/core/3/worklogs?from=2018-01-28&to=2018-02-03"

The access token will expire after the number of seconds specified in the expires_in field and will no longer be usable.

How to retrieve a new access token from the refresh token

The access token will eventually expire. You need to renew it using the previously received refresh token:

POST: https://api.tempo.io/oauth/token/
sending the following parameters in the body using the "application/x-www-form-urlencoded" format:
   grant_type = "refresh_token"
   client_id = $CLIENT_ID
   client_secret = $CLIENT_SECRET
   redirect_uri = $REDIRECT_URI
   refresh_token = $REFRESH_TOKEN

The response will contain a new access token and a new refresh token. You'll need to utilize these new tokens for future calls, as the previous ones will no longer be valid.

How to revoke a token

You can revoke an existing access token at any time:

POST: https://api.tempo.io/oauth/revoke_token/
sending the following parameters in the body using the "application/x-www-form-urlencoded" format:
   token_type_hint = "access_token"
   client_id = $CLIENT_ID
   client_secret = $CLIENT_SECRET
   token = $ACCESS_TOKEN

You can also revoke an existing refresh token:

POST: https://api.tempo.io/oauth/revoke_token/
sending the following parameters in the body using the "application/x-www-form-urlencoded" format:
{
   token_type_hint = "refresh_token"
   client_id = $CLIENT_ID
   client_secret = $CLIENT_SECRET
   token = $REFRESH_TOKEN
}

API conventions

Identifying users

The Tempo REST API uses the Atlassian accountId to identify users. The accountId is an opaque identifier that uniquely identifies the user.

The accountId of the current user can found using the Jira Myself API.

Information about a user, given the accountId, can be retrieved using the Jira User API.

Dates

The API uses strings to represent dates. Dates are formatted as ISO 8601 calendar dates (YYYY-MM-DD). For example, March 29th, 2019 is formatted as 2019-03-29.

Delete requests

On success, delete requests return a response with status code 204 (No content). No payload body is included in the response.

Arrays

A few endpoints accept query parameters of type array. That is achieved by repeating the parameter multiple times, e.g. to get worklogs from three projects:

.../worklogs?from=2020-01-01&to=2020-12-31&project=10100&project=10200&project=10300

Accounts

/accounts post get
post

Creates a new account.

Separate fields are used to identify the contact depending on whether the contact is a registered Jira user or not. The contactAccountId field is used to identify the contact if the contact is a registered Jira user. The externalContactName field is used if the contact is not a registered Jira user.

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • key: required (string)
  • name: required (string)
  • status: required (one of OPEN, CLOSED, ARCHIVED)
  • leadAccountId: required (string)
  • contactAccountId: (string)

    accountId of the contact, if the contact is a registered Jira user

  • externalContactName: (string)

    Name of the contact, if the contact is not a registered Jira user

  • categoryKey: (string)
  • customerKey: (string)
  • monthlyBudget: (number)
  • global: (boolean - default: false)

Examples:

Jira user as contact:

{
  "key": "CLOUDBAY_DEVELOPMENT",
  "name": "Cloudbay: Development",
  "status": "OPEN",
  "leadAccountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
  "contactAccountId": "1111aaaa2222bbbb3333cccc",
  "categoryKey": "dev1",
  "customerKey": "cloudbay1",
  "monthlyBudget": 600,
  "global": false
}

External contact:

{
  "key": "CLOUDBAY_DEVELOPMENT",
  "name": "Cloudbay: Development",
  "status": "OPEN",
  "leadAccountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
  "externalContactName": "John Brown"
}

HTTP status code 200

Account has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)
  • status: required (one of OPEN, CLOSED, ARCHIVED)
  • global: required (boolean - default: false)
  • monthlyBudget: (integer)
  • lead: required (lead)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • contact: (contact)
    • self: (string)
    • accountId: (string)
    • displayName: required (string)
    • type: required (one of USER, EXTERNAL)

      Indicates if the user is a registered Jira user (USER) or not (EXTERNAL)

  • category: (category)
    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
    • type: required (type)
      • name: required (string)
  • customer: (customer)
    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
  • links: required (links)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 7,
  "name": "Cloudbay: Development",
  "status": "OPEN",
  "global": false,
  "monthlyBudget": 600,
  "lead": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "contact": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown",
    "type": "USER"
  },
  "category": {
    "self": "https://api.tempo.io/core/3/account-categories/development",
    "key": "development",
    "id": 14,
    "name": "Development",
    "type": {
      "name": "BILLABLE"
    }
  },
  "customer": {
    "self": "https://api.tempo.io/core/3/customers/cloudbay",
    "key": "cloudbay",
    "id": 234,
    "name": "CloudBay"
  },
  "links": {
    "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links"
  }
}

HTTP status code 400

Account cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Account with this key already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve existing accounts

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • status: (string)

    Retrieve accounts for the given status [OPEN, CLOSED, ARCHIVED]

  • id: (integer)

    Retrieve accounts for the given ids (50 ids at maximum). Note, this cannot be used with other parameters.

    Example:

    accounts?id=1&id=2

HTTP status code 200

List accounts

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Account)

    Items: Account

    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
    • status: required (one of OPEN, CLOSED, ARCHIVED)
    • global: required (boolean - default: false)
    • monthlyBudget: (integer)
    • lead: required (lead)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • contact: (contact)
      • self: (string)
      • accountId: (string)
      • displayName: required (string)
      • type: required (one of USER, EXTERNAL)

        Indicates if the user is a registered Jira user (USER) or not (EXTERNAL)

    • category: (category)
      • self: required (string)
      • key: required (string)
      • id: required (integer)
      • name: required (string)
      • type: required (type)
        • name: required (string)
    • customer: (customer)
      • self: required (string)
      • key: required (string)
      • id: required (integer)
      • name: required (string)
    • links: required (links)
      • self: required (string)

Examples:

Retrieve all existing accounts:

{
  "self": "https://api.tempo.io/core/3/accounts",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT",
      "key": "CLOUDBAY_DEVELOPMENT",
      "id": 7,
      "name": "Cloudbay: Development",
      "status": "OPEN",
      "global": false,
      "monthlyBudget": 600,
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "contact": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown",
        "type": "USER"
      },
      "category": {
        "self": "https://api.tempo.io/core/3/account-categories/300",
        "key": "300",
        "id": 14,
        "name": "Development",
        "type": {
          "name": "BILLABLE"
        }
      },
      "customer": {
        "self": "https://api.tempo.io/core/3/customers/100201",
        "key": "100201",
        "id": 234,
        "name": "CloudBay"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_CAPEX",
      "key": "CLOUDBAY_CAPEX",
      "id": 8,
      "name": "Cloudbay: Capex",
      "status": "CLOSED",
      "global": false,
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_CAPEX/links"
      }
    }
  ]
}

Retrieve accounts for "OPEN" status:

{
  "self": "https://api.tempo.io/core/3/accounts?status=OPEN",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT",
      "key": "CLOUDBAY_DEVELOPMENT",
      "id": 7,
      "name": "Cloudbay: Development",
      "status": "OPEN",
      "global": false,
      "monthlyBudget": 600,
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "contact": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown",
        "type": "USER"
      },
      "category": {
        "self": "https://api.tempo.io/core/3/account-categories/300",
        "key": "300",
        "id": 14,
        "name": "Development",
        "type": {
          "name": "BILLABLE"
        }
      },
      "customer": {
        "self": "https://api.tempo.io/core/3/customers/100201",
        "key": "100201",
        "id": 234,
        "name": "CloudBay"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_CAPEX",
      "key": "CLOUDBAY_CAPEX",
      "id": 8,
      "name": "Cloudbay: Capex",
      "status": "OPEN",
      "global": false,
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "contact": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown",
        "type": "USER"
      },
      "category": {
        "self": "https://api.tempo.io/core/3/account-categories/300",
        "key": "300",
        "id": 14,
        "name": "Development",
        "type": {
          "name": "BILLABLE"
        }
      },
      "customer": {
        "self": "https://api.tempo.io/core/3/customers/100201",
        "key": "100201",
        "id": 234,
        "name": "CloudBay"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_CAPEX/links"
      }
    }
  ]
}

Retrieve account by ids:

{
  "self": "https://api.tempo.io/core/3/accounts?id=123",
  "metadata": {
    "count": 1
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT",
      "key": "CLOUDBAY_DEVELOPMENT",
      "id": 7,
      "name": "Cloudbay: Development",
      "status": "OPEN",
      "global": false,
      "monthlyBudget": 600,
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "contact": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown",
        "type": "USER"
      },
      "category": {
        "self": "https://api.tempo.io/core/3/account-categories/300",
        "key": "300",
        "id": 14,
        "name": "Development",
        "type": {
          "name": "BILLABLE"
        }
      },
      "customer": {
        "self": "https://api.tempo.io/core/3/customers/100201",
        "key": "100201",
        "id": 234,
        "name": "CloudBay"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links"
      }
    }
  ]
}

HTTP status code 400

The query is not valid for some reason

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Id cannot be combined with other parameters"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/accounts/{key} get put delete
get

Retrieve an existing account for the given key

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

HTTP status code 200

Account data of the given key

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)
  • status: required (one of OPEN, CLOSED, ARCHIVED)
  • global: required (boolean - default: false)
  • monthlyBudget: (integer)
  • lead: required (lead)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • contact: (contact)
    • self: (string)
    • accountId: (string)
    • displayName: required (string)
    • type: required (one of USER, EXTERNAL)

      Indicates if the user is a registered Jira user (USER) or not (EXTERNAL)

  • category: (category)
    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
    • type: required (type)
      • name: required (string)
  • customer: (customer)
    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
  • links: required (links)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 7,
  "name": "Cloudbay: Development",
  "status": "OPEN",
  "global": false,
  "monthlyBudget": 600,
  "lead": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "contact": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown",
    "type": "USER"
  },
  "category": {
    "self": "https://api.tempo.io/core/3/account-categories/development",
    "key": "development",
    "id": 14,
    "name": "Development",
    "type": {
      "name": "BILLABLE"
    }
  },
  "customer": {
    "self": "https://api.tempo.io/core/3/customers/cloudbay",
    "key": "cloudbay",
    "id": 234,
    "name": "CloudBay"
  },
  "links": {
    "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links"
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Account cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Account not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing account

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

Body

Media type: application/json

Type: object

Properties
  • key: required (string)
  • name: required (string)
  • status: required (one of OPEN, CLOSED, ARCHIVED)
  • leadAccountId: required (string)
  • contactAccountId: (string)

    accountId of the contact, if the contact is a registered Jira user

  • externalContactName: (string)

    Name of the contact, if the contact is not a registered Jira user

  • categoryKey: (string)
  • customerKey: (string)
  • monthlyBudget: (number)
  • global: (boolean - default: false)

Example:

{
  "key": "CLOUDBAY_DEVELOPMENT",
  "name": "Cloudbay: Development",
  "status": "OPEN",
  "leadAccountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
  "contactAccountId": "1111aaaa2222bbbb3333cccc",
  "categoryKey": "dev1",
  "customerKey": "cloudbay1",
  "monthlyBudget": 600,
  "global": false
}

HTTP status code 200

Account has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)
  • status: required (one of OPEN, CLOSED, ARCHIVED)
  • global: required (boolean - default: false)
  • monthlyBudget: (integer)
  • lead: required (lead)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • contact: (contact)
    • self: (string)
    • accountId: (string)
    • displayName: required (string)
    • type: required (one of USER, EXTERNAL)

      Indicates if the user is a registered Jira user (USER) or not (EXTERNAL)

  • category: (category)
    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
    • type: required (type)
      • name: required (string)
  • customer: (customer)
    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
  • links: required (links)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 7,
  "name": "Cloudbay: Development",
  "status": "OPEN",
  "global": false,
  "monthlyBudget": 600,
  "lead": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "contact": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown",
    "type": "USER"
  },
  "category": {
    "self": "https://api.tempo.io/core/3/account-categories/development",
    "key": "development",
    "id": 14,
    "name": "Development",
    "type": {
      "name": "BILLABLE"
    }
  },
  "customer": {
    "self": "https://api.tempo.io/core/3/customers/cloudbay",
    "key": "cloudbay",
    "id": 234,
    "name": "CloudBay"
  },
  "links": {
    "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links"
  }
}

HTTP status code 400

Account cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Account with this key already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Account cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Account not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing account

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

HTTP status code 204

Account has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Account cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Account not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Account - Categories

post

Creates a new category

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • key: required (string)
  • name: required (string)
  • typeName: (one of BILLABLE, CAPITALIZED, INTERNAL, OPERATIONAL)

Example:

{
  "key": "CLOUDBAY_DEVELOPMENT",
  "name": "Cloudbay: Development",
  "typeName": "BILLABLE"
}

HTTP status code 200

Category has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)
  • type: required (type)
    • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/account-categories/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 14,
  "name": "Cloudbay: Development",
  "type": {
    "name": "BILLABLE"
  }
}

HTTP status code 400

Category cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Category with this key already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve all existing categories

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • id: required (integer)

    Retrieve only category with this id

HTTP status code 200

List of all categories

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Category)

    Items: Category

    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
    • type: required (type)
      • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/account-categories",
  "metadata": {
    "count": 1
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/account-categories/300",
      "key": "300",
      "id": 14,
      "name": "Development",
      "type": {
        "name": "BILLABLE"
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve an existing category for the given key

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

HTTP status code 200

Category data of the given key

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)
  • type: required (type)
    • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/account-categories/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 14,
  "name": "Cloudbay: Development",
  "type": {
    "name": "BILLABLE"
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Category cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Invalid category key"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing category

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

Body

Media type: application/json

Type: object

Properties
  • key: required (string)
  • name: required (string)
  • typeName: (one of BILLABLE, CAPITALIZED, INTERNAL, OPERATIONAL)

Example:

{
  "key": "CLOUDBAY_DEVELOPMENT",
  "name": "Cloudbay: Development",
  "typeName": "BILLABLE"
}

HTTP status code 200

Category has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)
  • type: required (type)
    • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/account-categories/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 14,
  "name": "Cloudbay: Development",
  "type": {
    "name": "BILLABLE"
  }
}

HTTP status code 400

Category cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Category with this key already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Category cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Invalid category key"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing category

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

HTTP status code 204

Category has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Category cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Invalid category key"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Account - Category - Types

get

Retrieve all existing types

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

List of all types

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of CategoryType)

    Items: CategoryType

    • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/account-category-types",
  "metadata": {
    "count": 4
  },
  "results": [
    {
      "name": "BILLABLE"
    },
    {
      "name": "CAPITALIZED"
    },
    {
      "name": "INTERNAL"
    },
    {
      "name": "OPERATIONAL"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Customers

/customers post get
post

Creates a new customer

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • key: required (string)
  • name: required (string)

Example:

{
  "key": "CLOUDBAY_DEVELOPMENT",
  "name": "Cloudbay: Development"
}

HTTP status code 200

Customer has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/customers/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 234,
  "name": "GreenCloud"
}

HTTP status code 400

Customer cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Customer with this key already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve all existing customers

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • id: (integer)

    Retrieve only customer with this id

HTTP status code 200

List of all customers

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Customer)

    Items: Customer

    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/customers",
  "metadata": {
    "count": 1
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/customers/GreenCloud",
      "key": "GreenCloud",
      "id": 234,
      "name": "GreenCloud"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/customers/{key} get put delete
get

Retrieve an existing customer for the given key

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

HTTP status code 200

Customer data of the given key

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/customers/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 234,
  "name": "GreenCloud"
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Customer cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Invalid customer key"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing Customer

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

Body

Media type: application/json

Type: object

Properties
  • key: required (string)
  • name: required (string)

Example:

{
  "key": "CLOUDBAY_DEVELOPMENT",
  "name": "Cloudbay: Development"
}

HTTP status code 200

Customer has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • id: required (integer)
  • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/customers/CLOUDBAY_DEVELOPMENT",
  "key": "CLOUDBAY_DEVELOPMENT",
  "id": 234,
  "name": "GreenCloud"
}

HTTP status code 400

Customer cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Customer with this key already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Customer cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Invalid customer key"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing customer

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

HTTP status code 204

Customer has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Customer cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Invalid customer key"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve all accounts for a given customer

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • key: required (string)

HTTP status code 200

A list of accounts

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Account)

    Items: Account

    • self: required (string)
    • key: required (string)
    • id: required (integer)
    • name: required (string)
    • status: required (one of OPEN, CLOSED, ARCHIVED)
    • global: required (boolean - default: false)
    • monthlyBudget: (integer)
    • lead: required (lead)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • contact: (contact)
      • self: (string)
      • accountId: (string)
      • displayName: required (string)
      • type: required (one of USER, EXTERNAL)

        Indicates if the user is a registered Jira user (USER) or not (EXTERNAL)

    • category: (category)
      • self: required (string)
      • key: required (string)
      • id: required (integer)
      • name: required (string)
      • type: required (type)
        • name: required (string)
    • customer: (customer)
      • self: required (string)
      • key: required (string)
      • id: required (integer)
      • name: required (string)
    • links: required (links)
      • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/customers/CLOUDBAY/accounts",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT",
      "key": "CLOUDBAY_DEVELOPMENT",
      "id": 7,
      "name": "Cloudbay: Development",
      "status": "OPEN",
      "global": false,
      "monthlyBudget": 600,
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "contact": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown",
        "type": "USER"
      },
      "category": {
        "self": "https://api.tempo.io/core/3/account-categories/300",
        "key": "300",
        "id": 14,
        "name": "Development",
        "type": {
          "name": "BILLABLE"
        }
      },
      "customer": {
        "self": "https://api.tempo.io/core/3/customers/CLOUDBAY",
        "key": "CLOUDBAY",
        "id": 234,
        "name": "CloudBay"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_CAPEX",
      "key": "CLOUDBAY_CAPEX",
      "id": 8,
      "name": "Cloudbay: Capex",
      "status": "ARCHIVED",
      "global": true,
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "customer": {
        "self": "https://api.tempo.io/core/3/customers/CLOUDBAY",
        "key": "CLOUDBAY",
        "id": 234,
        "name": "CloudBay"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_CAPEX/links"
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Customer cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Invalid customer key"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Generic Resources

post

Creates a generic resource

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • name: required (string)

Example:

{
  "name": "Frontend dev"
}

HTTP status code 200

Generic resource has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • createdAt: required (datetime)
  • createdBy: required (createdBy)
    • self: required (string)
    • accountId: required (string)
  • updatedAt: required (datetime)
  • updatedBy: required (updatedBy)
    • self: required (string)
    • accountId: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/generic-resources/5",
  "id": 5,
  "name": "Frontend dev",
  "createdAt": "2022-02-22T15:09:00Z",
  "createdBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
    "accountId": "jira-account-id"
  },
  "updatedAt": "2022-02-22T15:09:00Z",
  "updatedBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
    "accountId": "jira-account-id"
  }
}

HTTP status code 400

Generic resource cannot be created for some reason

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "A generic resource already exists with this name."
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/generic-resources/{id} get put delete
get

Retrieve an existing generic resource for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Generic resource with the given id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • createdAt: required (datetime)
  • createdBy: required (createdBy)
    • self: required (string)
    • accountId: required (string)
  • updatedAt: required (datetime)
  • updatedBy: required (updatedBy)
    • self: required (string)
    • accountId: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/generic-resources/5",
  "id": 5,
  "name": "Frontend dev",
  "createdAt": "2022-02-22T15:09:00Z",
  "createdBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
    "accountId": "jira-account-id"
  },
  "updatedAt": "2022-02-22T15:09:00Z",
  "updatedBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
    "accountId": "jira-account-id"
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 404

Generic resource cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Generic resource was not found."
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing generic resource for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • name: required (string)

Example:

{
  "name": "Backend dev"
}

HTTP status code 200

Generic resource has been updated successfully

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • createdAt: required (datetime)
  • createdBy: required (createdBy)
    • self: required (string)
    • accountId: required (string)
  • updatedAt: required (datetime)
  • updatedBy: required (updatedBy)
    • self: required (string)
    • accountId: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/generic-resources/6",
  "id": 6,
  "name": "Backend dev",
  "createdAt": "2022-02-23T15:07:00Z",
  "createdBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=creator-jira-account-id",
    "accountId": "creator-jira-account-id"
  },
  "updatedAt": "2022-02-28T17:08:00Z",
  "updatedBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=current-user-jira-account-id",
    "accountId": "current-user-jira-account-id"
  }
}

HTTP status code 400

Generic resource cannot be updated for some reason

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "A generic resource already exists with this name."
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Generic resource cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Generic resource was not found."
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Deletes an existing generic resource for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Generic resource has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Global Configuration

get

Retrieve Global configurations

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

Set of Tempo Global configurations

Body

Media type: application/json

Type: object

Properties
  • allowLoggingOnClosedAccount: required (boolean)
  • approvalPeriod: required (one of WEEK, MONTH)

    Shows if Timesheet approval periods are weekly or monthly.

  • approvalWeekStart: required (integer)

    Shows the start day. 1 is monday, 7 is sunday.

  • maxHoursPerDayPerUser: (integer)
  • numberOfDaysAllowedIntoFuture: required (integer)

    Shows how many days you can track time into the future.

  • remainingEstimateOptional: required (boolean)

    Shows if remaining estimate is required when tracking time.

  • weekStart: required (integer)

    1 is monday, 7 is sunday

  • worklogDescriptionOptional: required (boolean)

    Shows if description is required when tracking time.

Example:

{
  "allowLoggingOnClosedAccount": true,
  "approvalPeriod": "MONTH",
  "approvalWeekStart": 7,
  "maxHoursPerDayPerUser": null,
  "numberOfDaysAllowedIntoFuture": 90,
  "remainingEstimateOptional": true,
  "weekStart": 1,
  "worklogDescriptionOptional": true
}

HTTP status code 401

Client must be authenticated to access this resource.

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Holiday Schemes

get

Retrieve all holiday schemes

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

List of all holiday schemes

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
    • offset: required (integer - default: 0)
    • limit: required (integer - default: 50 - maximum: 1000)
    • next: (string)
    • previous: (string)
  • results: required (array of User)

    Items: User

    • self: (string)
    • accountId: required (string)
    • displayName: (string)

Example:

{
  "self": "https://api.tempo.io/core/3/holiday-schemes",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/holiday-schemes/123",
      "id": 123,
      "name": "Default Holiday Scheme",
      "description": "Employees are part of this scheme by default",
      "defaultScheme": true,
      "memberCount": 33
    },
    {
      "self": "https://api.tempo.io/core/3/holiday-schemes/456",
      "id": 456,
      "name": "Main Office Holiday Scheme",
      "description": "Holiday Scheme for the main office",
      "defaultScheme": false,
      "memberCount": 7
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Create a Holiday scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • description: (string)

HTTP status code 200

Holiday scheme data of the scheme that was created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • description: (string)
  • defaultScheme: required (boolean)
  • memberCount: required (number)

HTTP status code 400

Holiday scheme cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "You must specify a scheme name"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/holiday-schemes/{id} get put delete
get

Retrieve an existing holiday scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Holiday scheme data of the scheme that matches the provided id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • description: (string)
  • defaultScheme: required (boolean)
  • memberCount: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/holiday-schemes/123",
  "id": 123,
  "name": "Default Holiday Scheme",
  "description": "Employees are part of this scheme by default",
  "defaultScheme": true,
  "memberCount": 33
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Holiday scheme not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update a holiday scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • description: (string)

HTTP status code 200

Holiday scheme has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • description: (string)
  • defaultScheme: required (boolean)
  • memberCount: required (number)

HTTP status code 400

Holiday scheme cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "You must specify a scheme name"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete a holiday scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Holiday scheme been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Set the default holiday scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

The Holiday scheme has been successfully set as default

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • description: (string)
  • defaultScheme: required (boolean)
  • memberCount: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/holiday-schemes/123",
  "id": 123,
  "name": "Default Holiday Scheme",
  "description": "Employees are part of this scheme by default",
  "defaultScheme": true,
  "memberCount": 33
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve holidays for an existing holiday scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Query Parameters

  • year: (integer)

    Year for holidays to be retrieved for. Returns holidays for current year if omitted.

HTTP status code 200

Holiday data of the scheme that matches the provided id and year

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Holiday)

    Items: Holiday

    • name: required (string)
    • description: (string)
    • durationSeconds: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/holiday-schemes/123/holidays?year=2021",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/holidays/1",
      "id": 1,
      "schemeId": 1,
      "type": "FIXED",
      "name": "Company Day",
      "description": "Go and have some fun",
      "durationSeconds": 28800,
      "date": "2021-02-24"
    },
    {
      "self": "https://api.tempo.io/core/3/holidays/2",
      "id": 2,
      "schemeId": 1,
      "type": "FLOATING",
      "name": "Christmas Eve",
      "description": "The day before Christmas",
      "durationSeconds": 14400,
      "date": "2021-12-24"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Holiday scheme not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Create a Holiday

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • type: required (one of FIXED, FLOATING)
  • name: required (string)
  • description: (string)
  • durationSeconds: required (number)
  • date: required (date-only)

Example:

{
  "type": "FIXED",
  "name": "Christmas Eve",
  "description": "The day before Christmas",
  "durationSeconds": 14400,
  "date": "2021-12-24"
}

HTTP status code 200

Holiday data that was created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (number)
  • schemeId: required (number)
  • type: required (one of FIXED, FLOATING)
  • name: required (string)
  • description: (string)
  • durationSeconds: required (number)
  • date: required (date-only)

Example:

{
  "self": "https://api.tempo.io/core/3/holidays/1",
  "id": 1,
  "schemeId": 1,
  "type": "FIXED",
  "name": "Christmas Eve",
  "description": "The day before Christmas",
  "durationSeconds": 14400,
  "date": "2021-12-24"
}

HTTP status code 400

Holiday cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "You must specify a holiday name"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve an existing holiday

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)
  • id: required (string)

HTTP status code 200

Holiday data that matches the provided id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (number)
  • schemeId: required (number)
  • type: required (one of FIXED, FLOATING)
  • name: required (string)
  • description: (string)
  • durationSeconds: required (number)
  • date: required (date-only)

Example:

{
  "self": "https://api.tempo.io/core/3/holidays/1",
  "id": 1,
  "schemeId": 1,
  "type": "FIXED",
  "name": "Christmas Eve",
  "description": "The day before Christmas",
  "durationSeconds": 14400,
  "date": "2021-12-24"
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Holiday not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update a holiday

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)
  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • type: required (one of FIXED, FLOATING)
  • name: required (string)
  • description: (string)
  • durationSeconds: required (number)
  • date: required (date-only)

HTTP status code 200

Holiday has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (number)
  • schemeId: required (number)
  • type: required (one of FIXED, FLOATING)
  • name: required (string)
  • description: (string)
  • durationSeconds: required (number)
  • date: required (date-only)

HTTP status code 400

Holiday cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "You must specify a holiday name"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday cannot be found in the system

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete a holiday

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)
  • id: required (string)

HTTP status code 204

Holiday been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday cannot be found in the system

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve all floating holidays for an existing holiday scheme.

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Floating Holiday data of the scheme

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Holiday)

    Items: Holiday

    • name: required (string)
    • description: (string)
    • durationSeconds: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/holiday-schemes/4/holidays/floating",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/holiday-schemes/4/holidays/9",
      "id": 9,
      "schemeId": 4,
      "type": "FLOATING",
      "name": "Awesome day",
      "description": "what an awesome day",
      "durationSeconds": 86400,
      "date": "2015-09-01"
    },
    {
      "self": "https://api.tempo.io/core/3/holiday-schemes/4/holidays/3",
      "id": 3,
      "schemeId": 4,
      "type": "FLOATING",
      "name": "Labour Day",
      "description": "Labour day",
      "durationSeconds": 86400,
      "date": "2021-04-30"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Holiday scheme not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Get members in a holiday scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Members in the holiday scheme

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Holiday scheme)

    Items: Holiday scheme

    • self: required (string)
    • id: required (integer)
    • name: required (string)
    • description: (string)
    • defaultScheme: required (boolean)
    • memberCount: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/holiday-schemes/1/members&offset=0&limit=50",
  "metadata": {
    "count": 18,
    "offset": 0,
    "limit": 50
  },
  "results": [
    // skipped
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Holiday scheme not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Assign a holiday scheme to members

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • accountIds: required (array of )

HTTP status code 204

Users have been successfully added to the holiday scheme

HTTP status code 400

Holiday scheme membershop cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "User is invalid"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Holiday scheme cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Holiday scheme not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Get user scheme

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

HTTP status code 200

The user holiday scheme

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • description: (string)
  • defaultScheme: required (boolean)
  • memberCount: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/holiday-schemes/123",
  "id": 123,
  "name": "Default Holiday Scheme",
  "description": "Employees are part of this scheme by default",
  "defaultScheme": true,
  "memberCount": 33
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Periods

get

Retrieve all periods for a given date range

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • from: required (date-only)

    Retrieve results starting with this date

  • to: required (date-only)

    Retrieve results up to and including this date

HTTP status code 200

Body

Media type: application/json

Type: object

Properties
  • periods: required (array of Period)

    Items: Period

    • from: required (date-only)
    • to: required (date-only)

Example:

{
  "periods": [
    {
      "from": "2017-12-01",
      "to": "2017-12-31"
    },
    {
      "from": "2018-01-01",
      "to": "2018-01-31"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Permission Roles

get

Retrieve permission roles

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • teamId: (integer)

    Retrieve permission roles for a single team

HTTP status code 200

List of permission roles

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Permission role)

    Items: Permission role

    • self: required (string)
    • id: required (integer)
    • name: required (string)
    • permissions: required (array of Permission role permission)

      Items: Permission role permission

      • key: required (string)

        Permission key.

    • permittedUsers: required (array of User)

      Items: User

      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • accessType: required (one of TEAM, GLOBAL)

      GLOBAL permission roles don't have entities.

    • accessEntities: required (array of Permission role entity)

      Items: Permission role entity

      • self: required (string)
      • id: required (number)

        Id of the linked entity, for example teamId for access type TEAM.

    • editable: required (boolean)

      Editable roles are manually created with updatable members.

Example:

{
  "self": "https://api.tempo.io/core/3/permission-roles",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/permission-roles/6",
      "id": 6,
      "name": "Team Role",
      "permissions": [
        {
          "key": "permissions.worklog.view"
        }
      ],
      "permittedUsers": [
        {
          "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
          "accountId": "jira-account-id-adm1n",
          "displayName": "John Brown"
        }
      ],
      "accessType": "TEAM",
      "accessEntities": [
        {
          "id": 1,
          "self": "https://api.tempo.io/core/3/teams/1"
        }
      ],
      "editable": true
    },
    {
      "self": "https://api.tempo.io/core/3/permission-roles/7",
      "id": 7,
      "name": "Global Role",
      "permissions": [
        {
          "key": "permissions.worklog.manage"
        }
      ],
      "permittedUsers": [
        {
          "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
          "accountId": "jira-account-id-adm1n",
          "displayName": "John Brown"
        }
      ],
      "accessType": "GLOBAL",
      "accessEntities": [
      ],
      "editable": true
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Create a new editable permission role

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • permissionsKeys: required (array of )
  • permittedAccountIds: required (array of )
  • accessType: required (one of TEAM, GLOBAL)

    GLOBAL permission roles don't have entities.

  • accessEntityIds: required (array of )

Example:

{
  "name": "The Role",
  "permissionKeys": [
    "permissions.worklog.view"
  ],
  "permittedAccountIds": [
    "jira-account-id"
  ],
  "accessType": "TEAM",
  "accessEntityIds" : [
    1
  ]
}

HTTP status code 200

Permission role has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • permissions: required (array of Permission role permission)

    Items: Permission role permission

    • key: required (string)

      Permission key.

  • permittedUsers: required (array of User)

    Items: User

    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • accessType: required (one of TEAM, GLOBAL)

    GLOBAL permission roles don't have entities.

  • accessEntities: required (array of Permission role entity)

    Items: Permission role entity

    • self: required (string)
    • id: required (number)

      Id of the linked entity, for example teamId for access type TEAM.

  • editable: required (boolean)

    Editable roles are manually created with updatable members.

Example:

{
  "self": "https://api.tempo.io/core/3/permission-roles/6",
  "id": 6,
  "name": "The Role",
  "permissions": [
    {
      "key": "permissions.worklog.view"
    }
  ],
  "permittedUsers": [
    {
      "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
      "accountId": "jira-account-id",
      "displayName": "John Brown"
    }
  ],
  "accessType": "TEAM",
  "accessEntities": [
    {
      "id": 1,
      "self": "https://api.tempo.io/core/3/teams/1"
    }
  ],
  "editable": true
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve global permission roles

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

List of global permission roles

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Permission role)

    Items: Permission role

    • self: required (string)
    • id: required (integer)
    • name: required (string)
    • permissions: required (array of Permission role permission)

      Items: Permission role permission

      • key: required (string)

        Permission key.

    • permittedUsers: required (array of User)

      Items: User

      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • accessType: required (one of TEAM, GLOBAL)

      GLOBAL permission roles don't have entities.

    • accessEntities: required (array of Permission role entity)

      Items: Permission role entity

      • self: required (string)
      • id: required (number)

        Id of the linked entity, for example teamId for access type TEAM.

    • editable: required (boolean)

      Editable roles are manually created with updatable members.

Example:

{
  "self": "https://api.tempo.io/core/3/permission-roles",
  "metadata": {
    "count": 1
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/permission-roles/7",
      "id": 7,
      "name": "Global Role",
      "permissions": [
        {
          "key": "permissions.worklog.manage"
        }
      ],
      "permittedUsers": [
        {
          "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
          "accountId": "jira-account-id-adm1n",
          "displayName": "John Brown"
        }
      ],
      "accessType": "GLOBAL",
      "accessEntities": [
      ],
      "editable": true
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/permission-roles/{id} get put delete
get

Retrieve a permission role

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

A permission role

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • permissions: required (array of Permission role permission)

    Items: Permission role permission

    • key: required (string)

      Permission key.

  • permittedUsers: required (array of User)

    Items: User

    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • accessType: required (one of TEAM, GLOBAL)

    GLOBAL permission roles don't have entities.

  • accessEntities: required (array of Permission role entity)

    Items: Permission role entity

    • self: required (string)
    • id: required (number)

      Id of the linked entity, for example teamId for access type TEAM.

  • editable: required (boolean)

    Editable roles are manually created with updatable members.

Example:

{
  "self": "https://api.tempo.io/core/3/permission-roles/6",
  "id": 6,
  "name": "The Role",
  "permissions": [
    {
      "key": "permissions.worklog.view"
    }
  ],
  "permittedUsers": [
    {
      "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
      "accountId": "jira-account-id",
      "displayName": "John Brown"
    }
  ],
  "accessType": "TEAM",
  "accessEntities": [
    {
      "id": 1,
      "self": "https://api.tempo.io/core/3/teams/1"
    }
  ],
  "editable": true
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Permission role cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Permission role not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update a permission role. Only members of editable roles can be updated.

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • permissionsKeys: required (array of )
  • permittedAccountIds: required (array of )
  • accessType: required (one of TEAM, GLOBAL)

    GLOBAL permission roles don't have entities.

  • accessEntityIds: required (array of )

Example:

{
  "name": "The Role",
  "permissionKeys": [
    "permissions.worklog.view"
  ],
  "permittedAccountIds": [
    "jira-account-id"
  ],
  "accessType": "TEAM",
  "accessEntityIds" : [
    1
  ]
}

HTTP status code 200

Permission role has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • permissions: required (array of Permission role permission)

    Items: Permission role permission

    • key: required (string)

      Permission key.

  • permittedUsers: required (array of User)

    Items: User

    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • accessType: required (one of TEAM, GLOBAL)

    GLOBAL permission roles don't have entities.

  • accessEntities: required (array of Permission role entity)

    Items: Permission role entity

    • self: required (string)
    • id: required (number)

      Id of the linked entity, for example teamId for access type TEAM.

  • editable: required (boolean)

    Editable roles are manually created with updatable members.

Example:

{
  "name": "The Role",
  "permissionKeys": [
    "permissions.worklog.view"
  ],
  "permittedAccountIds": [
    "jira-account-id"
  ],
  "accessType": "TEAM",
  "accessEntityIds" : [
    1
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Permission role cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Permission role not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an editable permission role

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Permission role has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Permission role cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Permission role not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Plans

/plans get post
get

Retrieve plans

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • assigneeType: (string)

    Retrieve only plans with assignees of the given type. One of USER, TEAM, GENERIC (case-insensitive). If skipped then plans for only assignee types USER and TEAM will be returned (for backwards compatibility reasons).

  • planItemType: (string)

    Retrieve only plans with plan items of the given type (case-insensitive).

  • from: required (date-only)

    Retrieve results starting with this date

  • to: required (date-only)

    Retrieve results up to and including this date

  • updatedFrom: (string)

    Retrieve results that have been updated from this date (yyyy-MM-dd) or timestamp (yyyy-MM-ddTHH:mm:ssZ) in UTC. Using date-only applies timestamp at start of day for that date.

  • offset?: (integer - default: 0)

    Skip over a number of elements by specifying an offset value for the query

  • limit?: (integer - default: 50 - maximum: 1000)

    Limit the number of elements on the response

HTTP status code 200

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
    • offset: required (integer - default: 0)
    • limit: required (integer - default: 50 - maximum: 1000)
    • next: (string)
    • previous: (string)
  • results: required (array of Plan)

    Items: Plan

    • self: required (string)
    • id: required (integer)
    • startDate: required (date-only)
    • endDate: required (date-only)
    • secondsPerDay: required (number)
    • includeNonWorkingDays: required (boolean)
    • description: (string)
    • createdAt: required (datetime)
    • updatedAt: required (datetime)
    • assignee: required (assignee)
      • self: required (string)
      • type: required (one of USER, TEAM, GENERIC)
    • planItem: required (planItem)
      • self: required (string)
      • type: required (one of ISSUE, PROJECT)
    • recurrence: required (recurrence)
      • rule: required (one of NEVER, WEEKLY, BIWEEKLY, MONTHLY)
      • recurrenceEndDate: required (date-only)
    • dates: required (dates)
      • metadata: required (metadata)
        • count: required (integer)
        • all: required (string)
      • values: required (array of PlanPeriod)

        Items: PlanPeriod

        • from: required (date-only)
        • to: required (date-only)
        • timePlannedSeconds: required (number)
    • planApproval: required (planApproval)

      Is included only if there is an approval linked to the plan.

      • type: required (one of REQUESTED, REJECTED, APPROVED)

Example:

{
  "self": "https://api.tempo.io/core/3/plans?assigneeType=USER&planItemType=ISSUE&from=2017-11-01&to=2017-12-31&updatedFrom=2017-02-01&offset=0&limit=50",
  "metadata": {
    "count": 2,
    "offset": 0,
    "limit": 50
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/plans/223",
      "id": 223,
      "startDate": "2017-07-13",
      "endDate": "2017-11-13",
      "secondsPerDay": 3600,
      "includeNonWorkingDays": false,
      "description": "This is an issue plan",
      "createdAt": "2017-02-23T15:07:00Z",
      "updatedAt": "2017-02-23T15:07:00Z",
      "assignee": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "type": "USER"
      },
      "planItem": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/ISS-555",
        "type": "ISSUE"
      },
      "recurrence": {
        "rule": "MONTHLY",
        "recurrenceEndDate": "2018-12-31"
      },
      "dates": {
        "metadata": {
          "count": 2,
          "all": "https://api.tempo.io/core/3/plans/123?from=2017-07-13&to=2018-12-31"
        },
        "values": [
          {
            "from": "2017-11-13",
            "to": "2017-11-13",
            "timePlannedSeconds": 3600
          },
          {
            "from": "2017-12-13",
            "to": "2017-12-13",
            "timePlannedSeconds": 3600
          }
        ]
      },
      "planApproval": {
        "status": "REQUESTED"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/plans/289",
      "id": 289,
      "startDate": "2017-07-13",
      "endDate": "2017-11-13",
      "secondsPerDay": 14400,
      "includeNonWorkingDays": false,
      "description": "This is a project plan",
      "createdAt": "2017-02-23T15:07:00Z",
      "updatedAt": "2017-02-23T15:07:00Z",
      "assignee": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "type": "USER"
      },
      "planItem": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/1000100",
        "type": "PROJECT"
      },
      "recurrence": {
        "rule": "WEEKLY",
        "recurrenceEndDate": "2018-04-01"
      },
      "dates": {
        "metadata": {
          "count": 7,
          "all": "https://api.tempo.io/core/3/plans/123?from=2017-07-13&to=2018-04-01"
        },
        "values": [
          {
            "from": "2017-11-15",
            "to": "2017-11-15",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-11-22",
            "to": "2017-11-22",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-11-29",
            "to": "2017-11-29",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-06",
            "to": "2017-12-06",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-13",
            "to": "2017-12-13",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-20",
            "to": "2017-12-20",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-27",
            "to": "2017-12-27",
            "timePlannedSeconds": 14400
          }
        ]
      }
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Creates a new plan

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • startDate: required (date-only)
  • endDate: required (date-only)
  • description: (string)
  • plannedPerDaySeconds: required (number)
  • includeNonWorkingDays: (boolean)
  • rule: (one of NEVER, WEEKLY, BI_WEEKLY, MONTHLY)
  • recurrenceEndDate: (date-only)
  • accountId: required (string)
  • issueKey: (string)
  • projectKey: (string)

Example:

{
  "startDate": "2017-02-27",
  "endDate": "2017-02-27",
  "description": "Planning to do some work every month on issue ISS-15",
  "plannedPerDaySeconds": 3600,
  "includeNonWorkingDays": false,
  "rule": "MONTHLY",
  "recurrenceEndDate": "2019-12-31",
  "accountId": "1111aaaa2222bbbb3333cccc",
  "issueKey": "ISS-15"
}

HTTP status code 200

Plan has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • startDate: required (date-only)
  • endDate: required (date-only)
  • secondsPerDay: required (number)
  • includeNonWorkingDays: required (boolean)
  • description: (string)
  • createdAt: required (datetime)
  • updatedAt: required (datetime)
  • assignee: required (assignee)
    • self: required (string)
    • type: required (one of USER, TEAM, GENERIC)
  • planItem: required (planItem)
    • self: required (string)
    • type: required (one of ISSUE, PROJECT)
  • recurrence: required (recurrence)
    • rule: required (one of NEVER, WEEKLY, BIWEEKLY, MONTHLY)
    • recurrenceEndDate: required (date-only)
  • dates: required (dates)
    • metadata: required (metadata)
      • count: required (integer)
      • all: required (string)
    • values: required (array of PlanPeriod)

      Items: PlanPeriod

      • from: required (date-only)
      • to: required (date-only)
      • timePlannedSeconds: required (number)
  • planApproval: required (planApproval)

    Is included only if there is an approval linked to the plan.

    • type: required (one of REQUESTED, REJECTED, APPROVED)

Example:

{
  "self": "https://api.tempo.io/core/3/plans/123",
  "id": 123,
  "startDate": "2017-12-15",
  "endDate": "2017-12-15",
  "secondsPerDay": 28800,
  "includeNonWorkingDays": false,
  "description": "This is a plan",
  "createdAt": "2017-02-23T15:07:00Z",
  "updatedAt": "2017-02-23T15:07:00Z",
  "assignee": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "type": "USER"
  },
  "planItem": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/1000110",
    "type": "PROJECT"
  },
  "recurrence": {
    "rule": "NEVER",
    "recurrenceEndDate": "2017-12-15"
  },
  "dates": {
    "metadata": {
      "count": 1,
      "all": "https://api.tempo.io/core/3/plans/123?from=2017-12-15&to=2017-12-15"
    },
    "values": [
      {
        "from": "2017-12-15",
        "to": "2017-12-15",
        "timePlannedSeconds": 28800
      }
    ]
  }
}

HTTP status code 400

Plan cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Issue not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve plans with time broken down by days

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • daily: required (string)

Query Parameters

  • assigneeType: (string)

    Retrieve only plans with assignees of the given type. One of USER, GENERIC (case-insensitive). If skipped then plans for both assignee types USER and GENERIC will be returned. Assignee type TEAM not supported for daily breakdown of plans.

  • planItemType: (string)

    Retrieve only plans with plan items of the given type (case-insensitive).

  • from: required (date-only)

    Retrieve results starting with this date

  • to: required (date-only)

    Retrieve results up to and including this date

  • updatedFrom: (string)

    Retrieve results that have been updated from this date (yyyy-MM-dd) or timestamp (yyyy-MM-ddTHH:mm:ssZ) in UTC. Using date-only applies timestamp at start of day for that date.

  • offset?: (integer - default: 0)

    Skip over a number of elements by specifying an offset value for the query

  • limit?: (integer - default: 50 - maximum: 1000)

    Limit the number of elements on the response

HTTP status code 200

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
    • offset: required (integer - default: 0)
    • limit: required (integer - default: 50 - maximum: 1000)
    • next: (string)
    • previous: (string)
  • results: required (array of Plan with time broken down by days)

    Items: Plan with time broken down by days

    • self: required (string)
    • id: required (integer)
    • startDate: required (date-only)
    • endDate: required (date-only)
    • secondsPerDay: required (number)
    • includeNonWorkingDays: required (boolean)
    • description: (string)
    • createdAt: required (datetime)
    • updatedAt: required (datetime)
    • assignee: required (assignee)
      • self: required (string)
      • type: required (one of USER, GENERIC)
    • planItem: required (planItem)
      • self: required (string)
      • type: required (one of ISSUE, PROJECT)
    • recurrence: required (recurrence)
      • rule: required (one of NEVER, WEEKLY, BIWEEKLY, MONTHLY)
      • recurrenceEndDate: required (date-only)
    • dates: required (dates)
      • metadata: required (metadata)
        • count: required (integer)
        • all: required (string)
      • values: required (array of PlanDate)

        Items: PlanDate

        • date: required (date-only)
        • timePlannedSeconds: required (number)
    • planApproval: required (planApproval)

      Is included only if there is an approval linked to the plan.

      • type: required (one of REQUESTED, REJECTED, APPROVED)

Example:

{
  "self": "https://api.tempo.io/core/3/plans?assigneeType=USER&planItemType=ISSUE&from=2022-01-13&to=2022-01-20&updatedFrom=2017-02-01&offset=0&limit=50",
  "metadata": {
    "count": 2,
    "offset": 0,
    "limit": 50
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/plans/223",
      "id": 223,
      "startDate": "2022-01-12",
      "endDate": "2022-01-14",
      "secondsPerDay": 3600,
      "includeNonWorkingDays": false,
      "description": "This is a user plan",
      "createdAt": "2022-01-06T15:07:00Z",
      "updatedAt": "2022-01-06T15:07:00Z",
      "assignee": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "type": "USER"
      },
      "planItem": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/ISS-555",
        "type": "ISSUE"
      },
      "recurrence": {
        "rule": "WEEKLY",
        "recurrenceEndDate": "2018-12-31"
      },
      "dates": {
        "metadata": {
          "count": 4,
          "all": "https://api.tempo.io/core/3/plans/123?from=2022-01-13&to=2022-01-20"
        },
        "values": [
          {
            "date": "2022-01-13",
            "timePlannedSeconds": 3600
          },
          {
            "date": "2022-01-14",
            "timePlannedSeconds": 3600
          },
          {
            "date": "2022-01-19",
            "timePlannedSeconds": 3600
          },
          {
            "date": "2022-01-20",
            "timePlannedSeconds": 3600
          }
        ]
      },
      "planApproval": {
        "status": "REQUESTED"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/plans/224",
      "id": 224,
      "startDate": "2022-01-12",
      "endDate": "2022-01-14",
      "secondsPerDay": 7200,
      "includeNonWorkingDays": false,
      "description": "This is a plan on genreic resource",
      "createdAt": "2022-01-06T15:08:00Z",
      "updatedAt": "2022-01-06T15:08:00Z",
      "assignee": {
        "self": "https://test.api.tempo.io/core/3/generic-resources/123",
        "type": "GENERIC"
      },
      "planItem": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/ISS-555",
        "type": "ISSUE"
      },
      "recurrence": {
        "rule": "NEVER",
        "recurrenceEndDate": "2022-01-14"
      },
      "dates": {
        "metadata": {
          "count": 2,
          "all": "https://api.tempo.io/core/3/plans/123?from=2022-01-13&to=2022-01-20"
        },
        "values": [
          {
            "date": "2022-01-13",
            "timePlannedSeconds": 7200
          },
          {
            "date": "2022-01-14",
            "timePlannedSeconds": 7200
          }
        ]
      }
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/plans/{id} get put delete
get

Retrieve an existing plan for the given id. Add from and to query params to expand recurrences.

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Query Parameters

  • from: (date-only)

    Retrieve results starting with this date

  • to: (date-only)

    Retrieve results up to and including this date

HTTP status code 200

Plan of the given id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • startDate: required (date-only)
  • endDate: required (date-only)
  • secondsPerDay: required (number)
  • includeNonWorkingDays: required (boolean)
  • description: (string)
  • createdAt: required (datetime)
  • updatedAt: required (datetime)
  • assignee: required (assignee)
    • self: required (string)
    • type: required (one of USER, TEAM, GENERIC)
  • planItem: required (planItem)
    • self: required (string)
    • type: required (one of ISSUE, PROJECT)
  • recurrence: required (recurrence)
    • rule: required (one of NEVER, WEEKLY, BIWEEKLY, MONTHLY)
    • recurrenceEndDate: required (date-only)
  • dates: required (dates)
    • metadata: required (metadata)
      • count: required (integer)
      • all: required (string)
    • values: required (array of PlanPeriod)

      Items: PlanPeriod

      • from: required (date-only)
      • to: required (date-only)
      • timePlannedSeconds: required (number)
  • planApproval: required (planApproval)

    Is included only if there is an approval linked to the plan.

    • type: required (one of REQUESTED, REJECTED, APPROVED)

Example:

{
  "self": "https://api.tempo.io/core/3/plans/123",
  "id": 123,
  "startDate": "2017-12-15",
  "endDate": "2017-12-15",
  "secondsPerDay": 28800,
  "includeNonWorkingDays": false,
  "description": "This is a plan",
  "createdAt": "2017-02-23T15:07:00Z",
  "updatedAt": "2017-02-23T15:07:00Z",
  "assignee": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "type": "USER"
  },
  "planItem": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/1000110",
    "type": "PROJECT"
  },
  "recurrence": {
    "rule": "NEVER",
    "recurrenceEndDate": "2017-12-15"
  },
  "dates": {
    "metadata": {
      "count": 1,
      "all": "https://api.tempo.io/core/3/plans/123?from=2017-12-15&to=2017-12-15"
    },
    "values": [
      {
        "from": "2017-12-15",
        "to": "2017-12-15",
        "timePlannedSeconds": 28800
      }
    ]
  },
  "planApproval": {
    "status": "REQUESTED"
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Plan cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Allocation not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing plan for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • startDate: required (date-only)
  • endDate: required (date-only)
  • description: (string)
  • plannedPerDaySeconds: required (number)
  • includeNonWorkingDays: (boolean)
  • rule: (one of NEVER, WEEKLY, BI_WEEKLY, MONTHLY)
  • recurrenceEndDate: (date-only)
  • accountId: required (string)
  • issueKey: (string)
  • projectKey: (string)

Example:

{
  "startDate": "2017-02-27",
  "endDate": "2017-02-27",
  "description": "Planning to do some work every month on issue ISS-15",
  "plannedPerDaySeconds": 3600,
  "includeNonWorkingDays": false,
  "rule": "MONTHLY",
  "recurrenceEndDate": "2019-12-31",
  "accountId": "1111aaaa2222bbbb3333cccc",
  "issueKey": "ISS-15"
}

HTTP status code 200

Plan has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • startDate: required (date-only)
  • endDate: required (date-only)
  • secondsPerDay: required (number)
  • includeNonWorkingDays: required (boolean)
  • description: (string)
  • createdAt: required (datetime)
  • updatedAt: required (datetime)
  • assignee: required (assignee)
    • self: required (string)
    • type: required (one of USER, TEAM, GENERIC)
  • planItem: required (planItem)
    • self: required (string)
    • type: required (one of ISSUE, PROJECT)
  • recurrence: required (recurrence)
    • rule: required (one of NEVER, WEEKLY, BIWEEKLY, MONTHLY)
    • recurrenceEndDate: required (date-only)
  • dates: required (dates)
    • metadata: required (metadata)
      • count: required (integer)
      • all: required (string)
    • values: required (array of PlanPeriod)

      Items: PlanPeriod

      • from: required (date-only)
      • to: required (date-only)
      • timePlannedSeconds: required (number)
  • planApproval: required (planApproval)

    Is included only if there is an approval linked to the plan.

    • type: required (one of REQUESTED, REJECTED, APPROVED)

Example:

{
  "self": "https://api.tempo.io/core/3/plans/123",
  "id": 123,
  "startDate": "2017-12-15",
  "endDate": "2017-12-15",
  "secondsPerDay": 28800,
  "includeNonWorkingDays": false,
  "description": "This is a plan",
  "createdAt": "2017-02-23T15:07:00Z",
  "updatedAt": "2017-02-23T15:07:00Z",
  "assignee": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "type": "USER"
  },
  "planItem": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/1000110",
    "type": "PROJECT"
  },
  "recurrence": {
    "rule": "NEVER",
    "recurrenceEndDate": "2017-12-15"
  },
  "dates": {
    "metadata": {
      "count": 1,
      "all": "https://api.tempo.io/core/3/plans/123?from=2017-12-15&to=2017-12-15"
    },
    "values": [
      {
        "from": "2017-12-15",
        "to": "2017-12-15",
        "timePlannedSeconds": 28800
      }
    ]
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Plan cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Allocation not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing plan

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Plan has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Plan cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Allocation not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve plans for user

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

Query Parameters

  • from: required (date-only)

    Retrieve results starting with this date

  • to: required (date-only)

    Retrieve results up to and including this date

  • updatedFrom: (string)

    Retrieve results that have been updated from this date (yyyy-MM-dd) or timestamp (yyyy-MM-ddTHH:mm:ssZ) in UTC. Using date-only applies timestamp at start of day for that date.

HTTP status code 200

List of plans

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Plan)

    Items: Plan

    • self: required (string)
    • id: required (integer)
    • startDate: required (date-only)
    • endDate: required (date-only)
    • secondsPerDay: required (number)
    • includeNonWorkingDays: required (boolean)
    • description: (string)
    • createdAt: required (datetime)
    • updatedAt: required (datetime)
    • assignee: required (assignee)
      • self: required (string)
      • type: required (one of USER, TEAM, GENERIC)
    • planItem: required (planItem)
      • self: required (string)
      • type: required (one of ISSUE, PROJECT)
    • recurrence: required (recurrence)
      • rule: required (one of NEVER, WEEKLY, BIWEEKLY, MONTHLY)
      • recurrenceEndDate: required (date-only)
    • dates: required (dates)
      • metadata: required (metadata)
        • count: required (integer)
        • all: required (string)
      • values: required (array of PlanPeriod)

        Items: PlanPeriod

        • from: required (date-only)
        • to: required (date-only)
        • timePlannedSeconds: required (number)
    • planApproval: required (planApproval)

      Is included only if there is an approval linked to the plan.

      • type: required (one of REQUESTED, REJECTED, APPROVED)

Example:

{
  "self": "https://api.tempo.io/core/3/plans/user/1111aaaa2222bbbb3333cccc?from=2017-11-01&to=2017-12-31",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/plans/223",
      "id": 223,
      "startDate": "2017-07-13",
      "endDate": "2017-11-13",
      "secondsPerDay": 3600,
      "includeNonWorkingDays": false,
      "description": "This is an issue plan",
      "createdAt": "2017-02-23T15:07:00Z",
      "updatedAt": "2017-02-23T15:07:00Z",
      "assignee": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "type": "USER"
      },
      "planItem": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/ISS-555",
        "type": "ISSUE"
      },
      "recurrence": {
        "rule": "MONTHLY",
        "recurrenceEndDate": "2018-12-31"
      },
      "dates": {
        "metadata": {
          "count": 2,
          "all": "https://api.tempo.io/core/3/plans/123?from=2017-07-13&to=2018-12-31"
        },
        "values": [
          {
            "from": "2017-11-13",
            "to": "2017-11-13",
            "timePlannedSeconds": 3600
          },
          {
            "from": "2017-12-13",
            "to": "2017-12-13",
            "timePlannedSeconds": 3600
          }
        ]
      }
    },
    {
      "self": "https://api.tempo.io/core/3/plans/289",
      "id": 289,
      "startDate": "2017-07-13",
      "endDate": "2017-11-13",
      "secondsPerDay": 14400,
      "includeNonWorkingDays": false,
      "description": "This is a project plan",
      "createdAt": "2017-02-23T15:07:00Z",
      "updatedAt": "2017-02-23T15:07:00Z",
      "assignee": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "type": "USER"
      },
      "planItem": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/1000100",
        "type": "PROJECT"
      },
      "recurrence": {
        "rule": "WEEKLY",
        "recurrenceEndDate": "2018-04-01"
      },
      "dates": {
        "metadata": {
          "count": 7,
          "all": "https://api.tempo.io/core/3/plans/123?from=2017-07-13&to=2018-04-01"
        },
        "values": [
          {
            "from": "2017-11-15",
            "to": "2017-11-15",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-11-22",
            "to": "2017-11-22",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-11-29",
            "to": "2017-11-29",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-06",
            "to": "2017-12-06",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-13",
            "to": "2017-12-13",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-20",
            "to": "2017-12-20",
            "timePlannedSeconds": 14400
          },
          {
            "from": "2017-12-27",
            "to": "2017-12-27",
            "timePlannedSeconds": 14400
          }
        ]
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Programs

/programs get post
get

Retrieve all programs

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

List of all programs

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Program)

    Items: Program

    • self: required (string)
    • id: required (integer)
    • name: required (string)
    • manager: (manager)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • teams: required (teams)
      • self: required (string)
      • values: required (array of TeamRef)

        Items: TeamRef

        • self: required (string)
        • id: required (integer)
        • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/programs",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/programs/1",
      "id": 1,
      "name": "P1",
      "manager": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      },
      "teams": {
        "self": "https://api.tempo.io/core/3/programs/1/teams",
        "values": [
          {
            "self": "https://api.tempo.io/core/3/teams/101",
            "id": 101,
            "name": "Developer"
          }
        ]
      }
    },
    {
      "self": "https://api.tempo.io/core/3/programs/2",
      "id": 2,
      "name": "P2",
      "manager": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      },
      "teams": {
        "self": "https://api.tempo.io/core/3/programs/2/teams",
        "values": [
          {
            "self": "https://api.tempo.io/core/3/teams/103",
            "id": 103,
            "name": "QA"
          }
        ]
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Creates a new program

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • managerAccountId: (string)
  • teamIds: (array of )

Example:

{
  "name": "P1",
  "managerAccountId": "1111aaaa2222bbbb3333cccc",
  "teamIds": [
    101
  ]
}

HTTP status code 200

Program has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • manager: (manager)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • teams: required (teams)
    • self: required (string)
    • values: required (array of TeamRef)

      Items: TeamRef

      • self: required (string)
      • id: required (integer)
      • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/programs/1",
  "id": 1,
  "name": "P1",
  "manager": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "teams": {
    "self": "https://api.tempo.io/core/3/programs/1/teams",
    "values": [
      {
        "self": "https://api.tempo.io/core/3/teams/101",
        "id": 101,
        "name": "Developer"
      }
    ]
  }
}

HTTP status code 400

Program cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Program name is required"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/programs/{id} get put delete
get

Retrieve an existing program for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Program data of the given id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • manager: (manager)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • teams: required (teams)
    • self: required (string)
    • values: required (array of TeamRef)

      Items: TeamRef

      • self: required (string)
      • id: required (integer)
      • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/programs/1",
  "id": 1,
  "name": "P1",
  "manager": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "teams": {
    "self": "https://api.tempo.io/core/3/programs/1/teams",
    "values": [
      {
        "self": "https://api.tempo.io/core/3/teams/101",
        "id": 101,
        "name": "Developer"
      }
    ]
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Program cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Program not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing program for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • managerAccountId: (string)
  • teamIds: (array of )

Example:

{
  "name": "P1",
  "managerAccountId": "1111aaaa2222bbbb3333cccc",
  "teamIds": [
    101
  ]
}

HTTP status code 200

Program has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • manager: (manager)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • teams: required (teams)
    • self: required (string)
    • values: required (array of TeamRef)

      Items: TeamRef

      • self: required (string)
      • id: required (integer)
      • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/programs/1",
  "id": 1,
  "name": "P1",
  "manager": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "teams": {
    "self": "https://api.tempo.io/core/3/programs/1/teams",
    "values": [
      {
        "self": "https://api.tempo.io/core/3/teams/101",
        "id": 101,
        "name": "Developer"
      }
    ]
  }
}

HTTP status code 400

Program cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Program name is required"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Program cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Program not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing program

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Program has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Program cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Program not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve teams associated to this program

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

List of teams associated to the program

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of TeamRef)

    Items: TeamRef

    • self: required (string)
    • id: required (integer)
    • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/programs/3/teams",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/teams/12",
      "id": 12,
      "name": "Design"
    },
    {
      "self": "https://api.tempo.io/core/3/teams/43",
      "id": 43,
      "name": "Analyst"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Roles

/roles get post
get

Retrieve all roles

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

List of all roles

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Team Role)

    Items: Team Role

    • self: required (string)
    • id: required (integer)
    • name: required (string)
    • default: required (boolean)

Example:

{
  "self": "https://api.tempo.io/core/3/roles",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/roles/1",
      "id": 1,
      "name": "Developer",
      "default": true
    },
    {
      "self": "https://api.tempo.io/core/3/roles/2",
      "id": 2,
      "name": "Manager",
      "default": false
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Creates a new role

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • name: required (string)

Example:

{
  "name": "Developer"
}

HTTP status code 200

Role has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • default: required (boolean)

Example:

{
  "self": "https://api.tempo.io/core/3/roles/2",
  "id": 2,
  "name": "Manager",
  "default": false
}

HTTP status code 400

Role cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Role name cannot be blank"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve the default role

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

Default Role

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • default: required (boolean)

Example:

{
  "self": "https://api.tempo.io/core/3/roles/1",
  "id": 1,
  "name": "Member",
  "default": true
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/roles/{id} get put delete
get

Retrieve an existing role for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Role data of the given id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • default: required (boolean)

Example:

{
  "self": "https://api.tempo.io/core/3/roles/2",
  "id": 2,
  "name": "Manager",
  "default": false
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Role cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Role not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing role for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • name: required (string)

Example:

{
  "name": "Developer"
}

HTTP status code 200

Role has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • default: required (boolean)

Example:

{
  "self": "https://api.tempo.io/core/3/roles/2",
  "id": 2,
  "name": "Manager",
  "default": false
}

HTTP status code 400

Role cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Role name cannot be blank"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Role cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Role not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing role

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Role has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Role cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Role not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Teams

/teams post get
post

Creates a new team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • summary: (string)
  • leadAccountId: (string)
  • programId: (integer)

Example:

{
  "name": "Team-A",
  "summary": "This is the A team",
  "leadAccountId": "1111aaaa2222bbbb3333cccc",
  "programId": 42
}

HTTP status code 200

Team has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • summary: (string)
  • lead: (lead)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • program: (program)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • links: required (links)
    • self: required (string)
  • members: required (members)
    • self: required (string)
  • permissions: required (permissions)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams/1",
  "id": 1,
  "name": "Team-A",
  "summary": "This is the A team",
  "lead": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "program": {
    "self": "https://api.tempo.io/core/3/programs/42",
    "id": 42,
    "name": "Dev"
  },
  "links": {
    "self": "https://api.tempo.io/core/3/teams/1/links"
  },
  "members": {
    "self": "https://api.tempo.io/core/3/teams/1/members"
  },
  "permissions": {
    "self": "https://api.tempo.io/core/3/teams/1/permissions"
  }
}

HTTP status code 400

Team cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team with that name ('Team-A') already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve all teams

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

List of all teams the user is allowed to browse

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Team)

    Items: Team

    • self: required (string)
    • id: required (integer)
    • name: required (string)
    • summary: (string)
    • lead: (lead)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • program: (program)
      • self: required (string)
      • id: required (integer)
      • name: required (string)
    • links: required (links)
      • self: required (string)
    • members: required (members)
      • self: required (string)
    • permissions: required (permissions)
      • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/teams/1",
      "id": 1,
      "name": "Team-A",
      "summary": "This is the A team",
      "lead": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      },
      "program": {
        "self": "https://api.tempo.io/core/3/programs/42",
        "id": 42,
        "name": "Devs"
      },
      "links": {
        "self": "https://api.tempo.io/core/3/teams/1/links"
      },
      "members": {
        "self": "https://api.tempo.io/core/3/teams/1/members"
      },
      "permissions": {
        "self": "https://api.tempo.io/core/3/teams/1/permissions"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/teams/2",
      "id": 2,
      "name": "Team-B",
      "links": {
        "self": "https://api.tempo.io/core/3/teams/2/links"
      },
      "members": {
        "self": "https://api.tempo.io/core/3/teams/2/members"
      },
      "permissions": {
        "self": "https://api.tempo.io/core/3/teams/2/permissions"
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/teams/{id} get put delete
get

Retrieve an existing team for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Team of the given id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • summary: (string)
  • lead: (lead)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • program: (program)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • links: required (links)
    • self: required (string)
  • members: required (members)
    • self: required (string)
  • permissions: required (permissions)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams/1",
  "id": 1,
  "name": "Team-A",
  "summary": "This is the A team",
  "lead": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "program": {
    "self": "https://api.tempo.io/core/3/programs/42",
    "id": 42,
    "name": "Dev"
  },
  "links": {
    "self": "https://api.tempo.io/core/3/teams/1/links"
  },
  "members": {
    "self": "https://api.tempo.io/core/3/teams/1/members"
  },
  "permissions": {
    "self": "https://api.tempo.io/core/3/teams/1/permissions"
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing team for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • name: required (string)
  • summary: (string)
  • leadAccountId: (string)
  • programId: (integer)

Example:

{
  "name": "Team-A",
  "summary": "This is the A team",
  "leadAccountId": "1111aaaa2222bbbb3333cccc",
  "programId": 42
}

HTTP status code 200

Team has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • name: required (string)
  • summary: (string)
  • lead: (lead)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • program: (program)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • links: required (links)
    • self: required (string)
  • members: required (members)
    • self: required (string)
  • permissions: required (permissions)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams/1",
  "id": 1,
  "name": "Team-A",
  "summary": "This is the A team",
  "lead": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "program": {
    "self": "https://api.tempo.io/core/3/programs/42",
    "id": 42,
    "name": "Dev"
  },
  "links": {
    "self": "https://api.tempo.io/core/3/teams/1/links"
  },
  "members": {
    "self": "https://api.tempo.io/core/3/teams/1/members"
  },
  "permissions": {
    "self": "https://api.tempo.io/core/3/teams/1/permissions"
  }
}

HTTP status code 400

Team cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team with that name ('Team-A') already exists"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Team has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve all the members for this team with their active membership

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Team's members

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Team Member Active Membership)

    Items: Team Member Active Membership

    • self: required (string)
    • team: required (team)
      • self: required (string)
    • member: required (member)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • memberships: required (memberships)
      • self: required (self)
        • self: required (string)
      • active: (active)
        • self: required (string)
        • id: required (integer)
        • commitmentPercent: required (integer)
        • from: (date-only)
        • to: (date-only)
        • role: required (role)
          • id: required (integer)
          • self: required (string)
          • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams/1/members",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/teams/1/members/1111aaaa2222bbbb3333cccc",
      "team": {
        "self": "https://api.tempo.io/core/3/teams/1"
      },
      "member": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      },
      "memberships": {
        "self": "https://api.tempo.io/core/3/teams/1/members/1111aaaa2222bbbb3333cccc/memberships",
        "active": {
          "self": "https://api.tempo.io/core/3/team-memberships/3",
          "id": 3,
          "commitmentPercent": 100,
          "from": null,
          "to": null,
          "role": {
            "self": "https://api.tempo.io/core/3/roles/1",
            "id": 1,
            "name": "Tester"
          }
        }
      }
    },
    {
      "self": "https://api.tempo.io/core/3/teams/1/members/123456:01234567-89ab-cdef-0123-456789abcdef",
      "team": {
        "self": "https://api.tempo.io/core/3/teams/1"
      },
      "member": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "memberships": {
        "self": "https://api.tempo.io/core/3/teams/1/members/123456:01234567-89ab-cdef-0123-456789abcdef/memberships"
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve the member's active membership for this team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)
  • accountId: required (string)

HTTP status code 200

Member's active membership for this team

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • team: required (team)
    • self: required (string)
  • member: required (member)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • memberships: required (memberships)
    • self: required (self)
      • self: required (string)
    • active: (active)
      • self: required (string)
      • id: required (integer)
      • commitmentPercent: required (integer)
      • from: (date-only)
      • to: (date-only)
      • role: required (role)
        • id: required (integer)
        • self: required (string)
        • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams/1/members/1111aaaa2222bbbb3333cccc",
  "team": {
    "self": "https://api.tempo.io/core/3/teams/1"
  },
  "member": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "memberships": {
    "self": "https://api.tempo.io/core/3/teams/1/members/1111aaaa2222bbbb3333cccc/memberships",
    "active": {
      "self": "https://api.tempo.io/core/3/team-memberships/1",
      "id": 1,
      "commitmentPercent": 100,
      "from": null,
      "to": null,
      "role": {
        "self": "https://api.tempo.io/core/3/roles/1",
        "id": 1,
        "name": "Tester"
      }
    }
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system or user is not a member of this team

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve member's memberships for this team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)
  • accountId: required (string)

HTTP status code 200

Member's memberships for this team

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Team Member Membership)

    Items: Team Member Membership

    • self: required (string)
    • id: required (integer)
    • commitmentPercent: required (integer)
    • from: (date-only)
    • to: (date-only)
    • role: required (role)
      • id: required (integer)
      • self: required (string)
      • name: required (string)
    • team: (team)
      • self: required (string)
    • member: (member)
      • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams/1/members/1111aaaa2222bbbb3333cccc/memberships",
  "metadata": {
    "count": 3
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/team-memberships/1",
      "id": 1,
      "commitmentPercent": 100,
      "from": "2016-01-01",
      "to": "2016-12-31",
      "role": {
        "self": "https://api.tempo.io/core/3/roles/1",
        "id": 1,
        "name": "Tester"
      },
      "team": {
        "self": "https://api.tempo.io/core/3/teams/1"
      },
      "member": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/team-memberships/2",
      "id": 2,
      "commitmentPercent": 50,
      "from": "2017-06-01",
      "to": "2017-12-31",
      "role": {
        "self": "https://api.tempo.io/core/3/roles/2",
        "id": 2,
        "name": "Developer"
      },
      "team": {
        "self": "https://api.tempo.io/core/3/teams/1"
      },
      "member": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/team-memberships/3",
      "id": 3,
      "commitmentPercent": 100,
      "from": "2018-01-01",
      "to": "2018-12-31",
      "role": {
        "self": "https://api.tempo.io/core/3/roles/1",
        "id": 1,
        "name": "Tester"
      },
      "team": {
        "self": "https://api.tempo.io/core/3/teams/1"
      },
      "member": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc"
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system or user is not a member of this team

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve all the permissions for this team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Team's permissions

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of TeamPermission)

    Items: TeamPermission

    • self: required (string)
    • key: required (string)
    • users: required (users)
      • self: required (string)
      • values: required (array of User)

        Items: User

        • self: (string)
        • accountId: required (string)
        • displayName: (string)

Example:

14:

{
  "self": "https://api.tempo.io/core/3/teams/14/permissions",
  "metadata": {
    "count": 3
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/teams/14/permissions/permissions.worklog.view",
      "key": "permissions.worklog.view",
      "users": {
        "self": "https://api.tempo.io/core/3/teams/14/permissions/permissions.worklog.view/users",
        "values": [
          {
            "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
            "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
            "displayName": "Erica Jefferson"
          },
          {
            "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
            "accountId": "1111aaaa2222bbbb3333cccc",
            "displayName": "John Brown"
          }
        ]
      }
    },
    {
      "self": "https://api.tempo.io/core/3/teams/14/permissions/tempo.timesheets.approve.timesheet",
      "key": "tempo.timesheets.approve.timesheet",
      "users": {
        "self": "https://api.tempo.io/core/3/teams/14/permissions/tempo.timesheets.approve.timesheet/users",
        "values": [
          {
            "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
            "accountId": "1111aaaa2222bbbb3333cccc",
            "displayName": "John Brown"
          }
        ]
      }
    },
    {
      "self": "https://api.tempo.io/core/3/teams/14/permissions/tempo.planner.plan.permission",
      "key": "tempo.planner.plan.permission",
      "users": {
        "self": "https://api.tempo.io/core/3/teams/14/permissions/tempo.planner.plan.permission/users",
        "values": [
          {
            "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
            "accountId": "1111aaaa2222bbbb3333cccc",
            "displayName": "John Brown"
          }
        ]
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve a specific permission belonging to the team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)
  • key: required (string)

HTTP status code 200

Team's permission

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • key: required (string)
  • users: required (users)
    • self: required (string)
    • values: required (array of User)

      Items: User

      • self: (string)
      • accountId: required (string)
      • displayName: (string)

Example:

permissions.worklog.view:

{
  "self": "https://api.tempo.io/core/3/teams/14/permissions/permissions.worklog.view",
  "key": "permissions.worklog.view",
  "users": {
    "self": "https://api.tempo.io/core/3/teams/14/permissions/permissions.worklog.view/users",
    "values": [
      {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      }
    ]
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team or permission cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Permission tempo.teams.browse.team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Team - Generic Resources

get

Retrieve all the generic resource members for this team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • teamId: required (string)

HTTP status code 200

Generic resource team members in the given team

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • team: required (team)
    • self: required (string)
    • id: required (integer)
  • count: required (number)
  • members: required (array of Generic Resource Reference)

    Items: Generic Resource Reference

    • self: required (string)
    • id: required (integer)
    • name: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/teams/2/generic-resources",
  "team": {
    "self": "https://api.tempo.io/core/3/teams/2",
    "id": 2
  },
  "count": 2,
  "members": [
    {
      "self": "https://api.tempo.io/core/3/generic-resources/5",
      "id": 5,
      "name": "Frontend dev"
    },
    {
      "self": "https://api.tempo.io/core/3/generic-resources/6",
      "id": 6,
      "name": "Backend dev"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 404

Team cannot be found, either it does not exist in the system or current user does not have permission to see it

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Add a generic resource to the given team

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • teamId: required (string)

Body

Media type: application/json

Type: object

Properties
  • genericResourceId: required (number)

Example:

{
  "genericResourceId": 6
}

HTTP status code 200

Generic resource has been successfully added to the team

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • team: required (team)
    • self: required (string)
    • id: required (integer)
  • member: required (member)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • assignedToTeamAt: required (datetime)
  • assignedToTeamBy: required (assignedToTeamBy)
    • self: required (string)
    • accountId: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/team/2/generic-resources/5",
  "team": {
    "self": "https://api.tempo.io/core/3/teams/2",
    "id": 2
  },
  "member": {
    "self": "https://api.tempo.io/core/3/generic-resources/5",
    "id": 5,
    "name": "Frontend dev"
  },
  "assignedToTeamAt": "2022-02-26T17:09:00Z",
  "assignedToTeamBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
    "accountId": "jira-account-id"
  }
}

HTTP status code 400

Generic resource cannot be added to team for some reason

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "This generic resource is already a member of this team."
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 404

Either the team or the generic resource cannot be found

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Generic resource was not found."
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve an existing generic resource team member for the given teamId and resourceId

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • teamId: required (string)
  • resourceId: required (string)

HTTP status code 200

Generic resource team member for the given the given teamId and resourceId

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • team: required (team)
    • self: required (string)
    • id: required (integer)
  • member: required (member)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • assignedToTeamAt: required (datetime)
  • assignedToTeamBy: required (assignedToTeamBy)
    • self: required (string)
    • accountId: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/team/2/generic-resources/5",
  "team": {
    "self": "https://api.tempo.io/core/3/teams/2",
    "id": 2
  },
  "member": {
    "self": "https://api.tempo.io/core/3/generic-resources/5",
    "id": 5,
    "name": "Frontend dev"
  },
  "assignedToTeamAt": "2022-02-26T17:09:00Z",
  "assignedToTeamBy": {
    "self": "https://test.atlassian.net/rest/api/2/user?accountId=jira-account-id",
    "accountId": "jira-account-id"
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 404

Team cannot be found or generic resource is not found in the team

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Generic resource with id 42 is not a member of team with id 2."
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Remove an existing generic resource team member with given resourceId from team with the given teamId

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • teamId: required (string)
  • resourceId: required (string)

HTTP status code 204

Generic resource has been successfully removed from the team

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/team-links/{id} get delete

Team - Memberships

post

Creates a new membership

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Body

Media type: application/json

Type: object

Properties
  • teamId: required (integer)
  • accountId: required (string)
  • roleId: (integer - default: Default team role)
  • commitmentPercent: (integer - default: 100)
  • from: (date-only)
  • to: (date-only)

Example:

{
  "teamId": 1,
  "accountId": "1111aaaa2222bbbb3333cccc",
  "roleId": 2,
  "commitmentPercent": 50,
  "from": "2017-06-01",
  "to": "2017-12-31"
}

HTTP status code 200

Membership has been successfully created

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • commitmentPercent: required (integer)
  • from: (date-only)
  • to: (date-only)
  • role: required (role)
    • id: required (integer)
    • self: required (string)
    • name: required (string)
  • team: required (team)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • member: required (member)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)

Example:

{
  "self": "https://api.tempo.io/core/3/team-memberships/2",
  "id": 2,
  "commitmentPercent": 50,
  "from": "2017-06-01",
  "to": "2017-12-31",
  "role": {
    "self": "https://api.tempo.io/core/3/roles/2",
    "id": 2,
    "name": "Developer"
  },
  "team": {
    "self": "https://api.tempo.io/core/3/teams/1",
    "id": 1,
    "name": "Team-A"
  },
  "member": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  }
}

HTTP status code 400

Membership cannot be created for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "User is already a member of this team on this date."
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

/team-memberships/{id} get put delete
get

Retrieve an existing membership for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Membership data of the given id

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • commitmentPercent: required (integer)
  • from: (date-only)
  • to: (date-only)
  • role: required (role)
    • id: required (integer)
    • self: required (string)
    • name: required (string)
  • team: (team)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • member: (member)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)

Example:

{
  "self": "https://api.tempo.io/core/3/team-memberships/2",
  "id": 2,
  "commitmentPercent": 50,
  "from": "2017-06-01",
  "to": "2017-12-31",
  "role": {
    "self": "https://api.tempo.io/core/3/roles/2",
    "id": 2,
    "name": "Developer"
  },
  "team": {
    "self": "https://api.tempo.io/core/3/teams/1",
    "id": 1,
    "name": "Team-A"
  },
  "member": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  }
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Membership cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Membership with id '42' does not exist"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

put

Update an existing membership for the given id

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

Body

Media type: application/json

Type: object

Properties
  • roleId: (integer - default: Default team role)
  • commitmentPercent: (integer - default: 100)
  • from: (date-only)
  • to: (date-only)

Example:

{
  "roleId": 2,
  "commitmentPercent": 50,
  "from": "2017-06-01",
  "to": "2017-12-31"
}

HTTP status code 200

Membership has been successfully updated

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • id: required (integer)
  • commitmentPercent: required (integer)
  • from: (date-only)
  • to: (date-only)
  • role: required (role)
    • id: required (integer)
    • self: required (string)
    • name: required (string)
  • team: (team)
    • self: required (string)
    • id: required (integer)
    • name: required (string)
  • member: (member)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)

Example:

{
  "self": "https://api.tempo.io/core/3/team-memberships/2",
  "id": 2,
  "commitmentPercent": 50,
  "from": "2017-06-01",
  "to": "2017-12-31",
  "role": {
    "self": "https://api.tempo.io/core/3/roles/2",
    "id": 2,
    "name": "Developer"
  },
  "team": {
    "self": "https://api.tempo.io/core/3/teams/1",
    "id": 1,
    "name": "Team-A"
  },
  "member": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  }
}

HTTP status code 400

Membership cannot be updated for some reasons

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "User is already a member of this team on this date."
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Membership cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Membership with id '42' does not exist"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

delete

Delete an existing membership

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 204

Membership has been successfully deleted

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Membership cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Membership with id '42' does not exist"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieves all the memberships of the team.

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • id: required (string)

HTTP status code 200

Memberships of a given teamId

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Team Membership)

    Items: Team Membership

    • self: required (string)
    • id: required (integer)
    • commitmentPercent: required (integer)
    • from: (date-only)
    • to: (date-only)
    • role: required (role)
      • id: required (integer)
      • self: required (string)
      • name: required (string)
    • team: required (team)
      • self: required (string)
      • id: required (integer)
      • name: required (string)
    • member: required (member)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)

Example:

{
  "self": "https://api.tempo.io/core/3/team-memberships/team/1",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/team-memberships/2",
      "id": 2,
      "commitmentPercent": 50,
      "from": "2017-06-01",
      "to": "2017-12-31",
      "role": {
        "self": "https://api.tempo.io/core/3/roles/2",
        "id": 2,
        "name": "Developer"
      },
      "team": {
        "self": "https://api.tempo.io/core/3/teams/1"
      },
      "member": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/team-memberships/3",
      "id": 3,
      "commitmentPercent": 50,
      "from": "2017-06-01",
      "to": "2017-12-31",
      "role": {
        "self": "https://api.tempo.io/core/3/roles/3",
        "id": 3,
        "name": "Tester"
      },
      "team": {
        "self": "https://api.tempo.io/core/3/teams/1"
      },
      "member": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333aaaa",
        "accountId": "1111aaaa2222bbbb3333aaaa",
        "displayName": "Mike Smith"
      }
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

HTTP status code 403

Authenticated user is missing permission to fulfill the request

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "The logged-in-user does not have required permission to view this data"
    }
  ]
}

HTTP status code 404

Team cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Timesheet Approvals

get

Retrieve all timesheets that are awaiting my approval

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

Awaiting Timesheets

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Timesheet Approval)

    Items: Timesheet Approval

    • self: required (string)
    • period: required (period)
      • from: required (date-only)
      • to: required (date-only)
    • requiredSeconds: required (number)
    • timeSpentSeconds: required (number)
    • status: required (status)
      • key: required (one of OPEN, IN_REVIEW, APPROVED)
      • comment: (string)
      • actor: (actor)
        • self: (string)
        • accountId: required (string)
        • displayName: (string)
      • requiredSecondsAtSubmit: (number)
      • timeSpentSecondsAtSubmit: (number)
      • updatedAt: required (datetime)
    • user: required (user)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • actions: required (actions)
      • submit: (submit)
        • self: required (string)
      • approve: (approve)
        • self: required (string)
      • reject: (reject)
        • self: required (string)
      • reopen: (reopen)
        • self: required (string)
    • worklogs: required (worklogs)
      • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/waiting",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2016-12-01&to=2016-12-31",
      "period": {
        "from": "2016-12-01",
        "to": "2016-12-31"
      },
      "requiredSeconds": 633600,
      "timeSpentSeconds": 633600,
      "status": {
        "key": "IN_REVIEW",
        "actor": {
          "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
          "accountId": "1111aaaa2222bbbb3333cccc",
          "displayName": "John Brown"
        },
        "requiredSecondsAtSubmit": 633600,
        "timeSpentSecondsAtSubmit": 633600,
        "updatedAt": "2017-02-23T15:07:00Z"
      },
      "user": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "reviewer": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      },
      "actions": {
        "approve": {
          "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/approve?from=2016-12-01&to=2016-12-31"
        },
        "reject": {
          "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/reject?from=2016-12-01&to=2016-12-31"
        }
      },
      "worklogs": {
        "self": "https://api.tempo.io/core/3/worklogs/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2016-12-01&to=2016-12-31"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/1111aaaa2222bbbb3333cccc?from=2016-12-01&to=2016-12-31",
      "period": {
        "from": "2016-12-01",
        "to": "2016-12-31"
      },
      "requiredSeconds": 633600,
      "timeSpentSeconds": 633600,
      "status": {
        "key": "IN_REVIEW",
        "actor": {
          "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
          "accountId": "1111aaaa2222bbbb3333cccc",
          "displayName": "John Brown"
        },
        "requiredSecondsAtSubmit": 633600,
        "timeSpentSecondsAtSubmit": 633600,
        "updatedAt": "2017-02-23T15:07:00Z"
      },
      "user": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      },
      "reviewer": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
        "accountId": "1111aaaa2222bbbb3333cccc",
        "displayName": "John Brown"
      },
      "actions": {
        "approve": {
          "self": "https://api.tempo.io/core/3/timesheet-approvals/user/1111aaaa2222bbbb3333cccc/approve?from=2016-12-01&to=2016-12-31"
        },
        "reject": {
          "self": "https://api.tempo.io/core/3/timesheet-approvals/user/1111aaaa2222bbbb3333cccc/reject?from=2016-12-01&to=2016-12-31"
        }
      },
      "worklogs": {
        "self": "https://api.tempo.io/core/3/worklogs/user/1111aaaa2222bbbb3333cccc?from=2016-12-01&to=2016-12-31"
      }
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve the current approval for a given period

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

Query Parameters

  • from: required (date-only)

    Starting date of the period

  • to: required (date-only)

    Ending date of the period (inclusive)

HTTP status code 200

The Timesheet approval

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • period: required (period)
    • from: required (date-only)
    • to: required (date-only)
  • requiredSeconds: required (number)
  • timeSpentSeconds: required (number)
  • status: required (status)
    • key: required (one of OPEN, IN_REVIEW, APPROVED)
    • comment: (string)
    • actor: (actor)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • requiredSecondsAtSubmit: (number)
    • timeSpentSecondsAtSubmit: (number)
    • updatedAt: required (datetime)
  • user: required (user)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • actions: required (actions)
    • submit: (submit)
      • self: required (string)
    • approve: (approve)
      • self: required (string)
    • reject: (reject)
      • self: required (string)
    • reopen: (reopen)
      • self: required (string)
  • worklogs: required (worklogs)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31",
  "period": {
    "from": "2017-12-01",
    "to": "2017-12-31"
  },
  "requiredSeconds": 604800,
  "timeSpentSeconds": 604800,
  "status": {
    "key": "APPROVED",
    "comment": "Approved! Great job!!",
    "actor": {
      "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
      "accountId": "1111aaaa2222bbbb3333cccc",
      "displayName": "John Brown"
    },
    "requiredSecondsAtSubmit": 604800,
    "timeSpentSecondsAtSubmit": 604800,
    "updatedAt": "2017-02-23T15:07:00Z"
  },
  "user": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "actions": {
    "reopen": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/reopen?from=2017-12-01&to=2017-12-31"
    }
  },
  "worklogs": {
    "self": "https://api.tempo.io/core/3/worklogs/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31"
  }
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Get Reviewers for a user

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

HTTP status code 200

Users with approve timesheet permission in teams where the user is a member

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of User)

    Items: User

    • self: (string)
    • accountId: required (string)
    • displayName: (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/user/1111aaaa2222bbbb3333cccc/reviewers",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
      "accountId": "1111aaaa2222bbbb3333cccc",
      "displayName": "John Brown"
    },
    {
      "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
      "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
      "displayName": "Erica Jefferson"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Approve Timesheet

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

Query Parameters

  • from: required (date-only)

    Starting date of the period

  • to: required (date-only)

    Ending date of the period (inclusive)

Body

Media type: application/json

Type: object

Properties
  • comment: (string)

Example:

{
  "comment": "Approved! Great job!!"
}

HTTP status code 200

The submitted timesheet

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • period: required (period)
    • from: required (date-only)
    • to: required (date-only)
  • requiredSeconds: required (number)
  • timeSpentSeconds: required (number)
  • status: required (status)
    • key: required (one of OPEN, IN_REVIEW, APPROVED)
    • comment: (string)
    • actor: (actor)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • requiredSecondsAtSubmit: (number)
    • timeSpentSecondsAtSubmit: (number)
    • updatedAt: required (datetime)
  • user: required (user)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • actions: required (actions)
    • submit: (submit)
      • self: required (string)
    • approve: (approve)
      • self: required (string)
    • reject: (reject)
      • self: required (string)
    • reopen: (reopen)
      • self: required (string)
  • worklogs: required (worklogs)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31",
  "period": {
    "from": "2017-12-01",
    "to": "2017-12-31"
  },
  "requiredSeconds": 604800,
  "timeSpentSeconds": 604800,
  "status": {
    "key": "APPROVED",
    "comment": "Approved! Great job!!",
    "actor": {
      "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
      "accountId": "1111aaaa2222bbbb3333cccc",
      "displayName": "John Brown"
    },
    "requiredSecondsAtSubmit": 604800,
    "timeSpentSecondsAtSubmit": 604800,
    "updatedAt": "2017-02-23T15:07:00Z"
  },
  "user": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "actions": {
    "reopen": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/reopen?from=2017-12-01&to=2017-12-31"
    }
  },
  "worklogs": {
    "self": "https://api.tempo.io/core/3/worklogs/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31"
  }
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Reject Timesheet

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

Query Parameters

  • from: required (date-only)

    Starting date of the period

  • to: required (date-only)

    Ending date of the period (inclusive)

Body

Media type: application/json

Type: object

Properties
  • comment: (string)

Example:

{
  "comment": "Timesheet was rejected because you haven't fulfilled your hours, Erica"
}

HTTP status code 200

The rejected timesheet

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • period: required (period)
    • from: required (date-only)
    • to: required (date-only)
  • requiredSeconds: required (number)
  • timeSpentSeconds: required (number)
  • status: required (status)
    • key: required (one of OPEN, IN_REVIEW, APPROVED)
    • comment: (string)
    • actor: (actor)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • requiredSecondsAtSubmit: (number)
    • timeSpentSecondsAtSubmit: (number)
    • updatedAt: required (datetime)
  • user: required (user)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • actions: required (actions)
    • submit: (submit)
      • self: required (string)
    • approve: (approve)
      • self: required (string)
    • reject: (reject)
      • self: required (string)
    • reopen: (reopen)
      • self: required (string)
  • worklogs: required (worklogs)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31",
  "period": {
    "from": "2017-12-01",
    "to": "2017-12-31"
  },
  "requiredSeconds": 604800,
  "timeSpentSeconds": 576000,
  "status": {
    "key": "OPEN",
    "comment": "Timesheet was rejected because you haven't fulfilled your hours, Erica",
    "actor": {
      "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
      "accountId": "1111aaaa2222bbbb3333cccc",
      "displayName": "John Brown"
    },
    "requiredSecondsAtSubmit": 604800,
    "timeSpentSecondsAtSubmit": 576000,
    "updatedAt": "2017-02-23T15:07:00Z"
  },
  "user": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "reviewer": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "actions": {
    "approve": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/approve?from=2017-12-01&to=2017-12-31"
    },
    "reject": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/reject?from=2017-12-01&to=2017-12-31"
    }
  },
  "worklogs": {
    "self": "https://api.tempo.io/core/3/worklogs/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31"
  }
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Re-open Timesheet

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

Query Parameters

  • from: required (date-only)

    Starting date of the period

  • to: required (date-only)

    Ending date of the period (inclusive)

Body

Media type: application/json

Type: object

Properties
  • comment: (string)

Example:

{
  "comment": "Timesheet was reopened so you can fix your timesheet, Erica"
}

HTTP status code 200

The reopened timesheet

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • period: required (period)
    • from: required (date-only)
    • to: required (date-only)
  • requiredSeconds: required (number)
  • timeSpentSeconds: required (number)
  • status: required (status)
    • key: required (one of OPEN, IN_REVIEW, APPROVED)
    • comment: (string)
    • actor: (actor)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • requiredSecondsAtSubmit: (number)
    • timeSpentSecondsAtSubmit: (number)
    • updatedAt: required (datetime)
  • user: required (user)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • actions: required (actions)
    • submit: (submit)
      • self: required (string)
    • approve: (approve)
      • self: required (string)
    • reject: (reject)
      • self: required (string)
    • reopen: (reopen)
      • self: required (string)
  • worklogs: required (worklogs)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31",
  "period": {
    "from": "2017-12-01",
    "to": "2017-12-31"
  },
  "requiredSeconds": 604800,
  "timeSpentSeconds": 576000,
  "status": {
    "key": "OPEN",
    "comment": "Timesheet was reopened so you can fix your timesheet, Erica",
    "actor": {
      "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
      "accountId": "1111aaaa2222bbbb3333cccc",
      "displayName": "John Brown"
    },
    "requiredSecondsAtSubmit": 604800,
    "timeSpentSecondsAtSubmit": 576000,
    "updatedAt": "2017-02-23T15:07:00Z"
  },
  "user": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "reviewer": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "actions": {
    "approve": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/approve?from=2017-12-01&to=2017-12-31"
    },
    "reject": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/reject?from=2017-12-01&to=2017-12-31"
    }
  },
  "worklogs": {
    "self": "https://api.tempo.io/core/3/worklogs/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31"
  }
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

post

Submit Timesheet for approvals

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

Query Parameters

  • from: required (date-only)

    Starting date of the period

  • to: required (date-only)

    Ending date of the period (inclusive)

Body

Media type: application/json

Type: object

Properties
  • comment: (string)
  • reviewerAccountId: required (string)

Example:

{
  "comment": "Please review my timesheet, John",
  "reviewerAccountId": "1111aaaa2222bbbb3333cccc"
}

HTTP status code 200

The submitted timesheet

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • period: required (period)
    • from: required (date-only)
    • to: required (date-only)
  • requiredSeconds: required (number)
  • timeSpentSeconds: required (number)
  • status: required (status)
    • key: required (one of OPEN, IN_REVIEW, APPROVED)
    • comment: (string)
    • actor: (actor)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • requiredSecondsAtSubmit: (number)
    • timeSpentSecondsAtSubmit: (number)
    • updatedAt: required (datetime)
  • user: required (user)
    • self: (string)
    • accountId: required (string)
    • displayName: (string)
  • actions: required (actions)
    • submit: (submit)
      • self: required (string)
    • approve: (approve)
      • self: required (string)
    • reject: (reject)
      • self: required (string)
    • reopen: (reopen)
      • self: required (string)
  • worklogs: required (worklogs)
    • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31",
  "period": {
    "from": "2017-12-01",
    "to": "2017-12-31"
  },
  "requiredSeconds": 604800,
  "timeSpentSeconds": 604800,
  "status": {
    "key": "IN_REVIEW",
    "comment": "Please review my timesheet, John",
    "actor": {
      "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
      "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
      "displayName": "Erica Jefferson"
    },
    "requiredSecondsAtSubmit": 604800,
    "timeSpentSecondsAtSubmit": 604800,
    "updatedAt": "2017-02-23T15:07:00Z"
  },
  "user": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
    "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
    "displayName": "Erica Jefferson"
  },
  "reviewer": {
    "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
    "accountId": "1111aaaa2222bbbb3333cccc",
    "displayName": "John Brown"
  },
  "actions": {
    "approve": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/approve?from=2017-12-01&to=2017-12-31"
    },
    "reject": {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/reject?from=2017-12-01&to=2017-12-31"
    }
  },
  "worklogs": {
    "self": "https://api.tempo.io/core/3/worklogs/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31"
  }
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

get

Retrieve the current approval for a team in a given period

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • teamId: required (string)

Query Parameters

  • from: required (date-only)

    Starting date of the period

  • to: required (date-only)

    Ending date of the period (inclusive)

HTTP status code 200

The Timesheet approval

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Timesheet Approval)

    Items: Timesheet Approval

    • self: required (string)
    • period: required (period)
      • from: required (date-only)
      • to: required (date-only)
    • requiredSeconds: required (number)
    • timeSpentSeconds: required (number)
    • status: required (status)
      • key: required (one of OPEN, IN_REVIEW, APPROVED)
      • comment: (string)
      • actor: (actor)
        • self: (string)
        • accountId: required (string)
        • displayName: (string)
      • requiredSecondsAtSubmit: (number)
      • timeSpentSecondsAtSubmit: (number)
      • updatedAt: required (datetime)
    • user: required (user)
      • self: (string)
      • accountId: required (string)
      • displayName: (string)
    • actions: required (actions)
      • submit: (submit)
        • self: required (string)
      • approve: (approve)
        • self: required (string)
      • reject: (reject)
        • self: required (string)
      • reopen: (reopen)
        • self: required (string)
    • worklogs: required (worklogs)
      • self: required (string)

Example:

{
  "self": "https://api.tempo.io/core/3/timesheet-approvals/team/1?from=2017-12-01&to=2017-12-31",
  "metadata": {
    "count": 2
  },
  "results": [
    {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31",
      "period": {
        "from": "2017-12-01",
        "to": "2017-12-31"
      },
      "requiredSeconds": 604800,
      "timeSpentSeconds": 360000,
      "status": {
        "key": "OPEN",
        "comment": "Timesheet was rejected because you haven't fulfilled your hours, Erica",
        "actor": {
          "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
          "accountId": "1111aaaa2222bbbb3333cccc",
          "displayName": "John Brown"
        },
        "requiredSecondsAtSubmit": 604800,
        "timeSpentSecondsAtSubmit": 0,
        "updatedAt": "2018-01-03T15:07:00Z"
      },
      "user": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=123456:01234567-89ab-cdef-0123-456789abcdef",
        "accountId": "123456:01234567-89ab-cdef-0123-456789abcdef",
        "displayName": "Erica Jefferson"
      },
      "actions": {
        "submit": {
          "self": "https://api.tempo.io/core/3/timesheet-approvals/user/123456:01234567-89ab-cdef-0123-456789abcdef/submit?from=2017-12-01&to=2017-12-31"
        }
      },
      "worklogs": {
        "self": "https://api.tempo.io/core/3/worklogs/user/123456:01234567-89ab-cdef-0123-456789abcdef?from=2017-12-01&to=2017-12-31"
      }
    },
    {
      "self": "https://api.tempo.io/core/3/timesheet-approvals/user/aabbccddeeff001122334455?from=2017-12-01&to=2017-12-31",
      "period": {
        "from": "2017-12-01",
        "to": "2017-12-31"
      },
      "requiredSeconds": 604800,
      "timeSpentSeconds": 604800,
      "status": {
        "key": "APPROVED",
        "comment": "Approved! Great job!!",
        "actor": {
          "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
          "accountId": "1111aaaa2222bbbb3333cccc",
          "displayName": "John Brown"
        },
        "requiredSecondsAtSubmit": 604800,
        "timeSpentSecondsAtSubmit": 604800,
        "updatedAt": "2018-01-03T15:07:00Z"
      },
      "user": {
        "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=aabbccddeeff001122334455",
        "accountId": "aabbccddeeff001122334455",
        "displayName": "Judy Simpson"
      },
      "actions": {
        "reopen": {
          "self": "https://api.tempo.io/core/3/timesheet-approvals/user/aabbccddeeff001122334455/reopen?from=2017-12-01&to=2017-12-31"
        }
      },
      "worklogs": {
        "self": "https://api.tempo.io/core/3/worklogs/user/aabbccddeeff001122334455?from=2017-12-01&to=2017-12-31"
      }
    }

  ]
}

HTTP status code 404

Team cannot be found in the system

Body

Media type: application/json

Type: object

Properties
  • errors: required (array of items)

    Items: items

    • message: required (string)

Example:

{
  "errors": [
    {
      "message": "Team not found"
    }
  ]
}

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

User Schedule

get

Retrieve user-schedule of the logged-in user

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • from: required (date-only)

    Retrieve results starting with this date

  • to: required (date-only)

    Retrieve results up to and including this date

HTTP status code 200

List of day-schedules

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Day schedule)

    Items: Day schedule

    • date: required (date-only)
    • requiredSeconds: required (number)
    • type: required (one of WORKING_DAY, NON_WORKING_DAY, HOLIDAY, HOLIDAY_AND_NON_WORKING_DAY)
    • holiday: (holiday)
      • name: required (string)
      • description: (string)
      • durationSeconds: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/user-schedule?from=2017-12-23&to=2017-12-27",
  "metadata": {
    "count": 5
  },
  "results": [
    {
      "date": "2017-12-23",
      "requiredSeconds": 0,
      "type": "NON_WORKING_DAY"
    },
    {
      "date": "2017-12-24",
      "requiredSeconds": 0,
      "type": "HOLIDAY_AND_NON_WORKING_DAY",
      "holiday": {
        "name": "Christmas Eve",
        "description": "Twas the night before Christmas",
        "durationSeconds": 14400
      }
    },
    {
      "date": "2017-12-25",
      "requiredSeconds": 0,
      "type": "HOLIDAY",
      "holiday": {
        "name": "Christmas Day",
        "durationSeconds": 28800
      }
    },
    {
      "date": "2017-12-26",
      "requiredSeconds": 0,
      "type": "HOLIDAY",
      "holiday": {
        "name": "Boxing Day",
        "durationSeconds": 28800
      }
    },
    {
      "date": "2017-12-27",
      "requiredSeconds": 28800,
      "type": "WORKING_DAY"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Retrieve user-schedule of the given user

get

Retrieve user-schedule

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountId: required (string)

Query Parameters

  • from: required (date-only)

    Retrieve results starting with this date

  • to: required (date-only)

    Retrieve results up to and including this date

HTTP status code 200

List of day-schedules

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Day schedule)

    Items: Day schedule

    • date: required (date-only)
    • requiredSeconds: required (number)
    • type: required (one of WORKING_DAY, NON_WORKING_DAY, HOLIDAY, HOLIDAY_AND_NON_WORKING_DAY)
    • holiday: (holiday)
      • name: required (string)
      • description: (string)
      • durationSeconds: required (number)

Example:

{
  "self": "https://api.tempo.io/core/3/user-schedule/1111aaaa2222bbbb3333cccc?from=2017-12-23&to=2017-12-27",
  "metadata": {
    "count": 5
  },
  "results": [
    {
      "date": "2017-12-23",
      "requiredSeconds": 0,
      "type": "NON_WORKING_DAY"
    },
    {
      "date": "2017-12-24",
      "requiredSeconds": 0,
      "type": "HOLIDAY_AND_NON_WORKING_DAY",
      "holiday": {
        "name": "Christmas Eve",
        "description": "Twas the night before Christmas",
        "durationSeconds": 14400
      }
    },
    {
      "date": "2017-12-25",
      "requiredSeconds": 0,
      "type": "HOLIDAY",
      "holiday": {
        "name": "Christmas Day",
        "durationSeconds": 28800
      }
    },
    {
      "date": "2017-12-26",
      "requiredSeconds": 0,
      "type": "HOLIDAY",
      "holiday": {
        "name": "Boxing Day",
        "durationSeconds": 28800
      }
    },
    {
      "date": "2017-12-27",
      "requiredSeconds": 28800,
      "type": "WORKING_DAY"
    }
  ]
}

HTTP status code 401

Client must be authenticated to access this resource.

Secured by OAuth 2.0

Headers

  • Authorization: required (string)

    Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

Work Attributes

get

Retrieve all work attributes

Secured by OAuth 2.0

Tempo supports OAuth 2.0 for authenticating all API requests.

HTTP status code 200

List of all work attributes

Body

Media type: application/json

Type: object

Properties
  • self: required (string)
  • metadata: required (metadata)
    • count: required (integer)
  • results: required (array of Work Attribute)

    Items: Work Attribute

    • self: required (string)
    • key: required (string)
    • name: required (string)
    • type: required (one of CHECKBOX, INPUT_FIELD, INPUT_NUMERIC, STATIC_LIST)
    • required: required (boolean - default: false)
    • values: (array of )

      Only relevant when type is STATIC_LIST. These values are immutable. Their UI representation can be looked up in the names object below.

    • names: (names)

      Only relevant when type is STATIC_LIST. Each STATIC_LIST entry has an immutable value which is stored with the worklog, and a name that is shown in the UI. The name can be changed.

    Example:

    {
      "self": "https://api.tempo.io/core/3/work-attributes",
      "metadata": {
        "count": 2
      },
      "results": [
        {
          "self": "https://api.tempo.io/core/3/work-attributes/_COLOR_",
          "key": "_COLOR_",
          "name": "Color",
          "type": "STATIC_LIST",
          "required": false,
          "values": [
            "Red",
            "Green",
            "LightBlue",
            "Yellow",
            "Pink"
          ],
          "names": {
            "Red": "Red",
            "Green": "Green",
            "LightBlue": "Light Blue",
            "Yellow": "Yellow",
            "Pink": "Rosé"
          }
        },
        {
          "self": "https://api.tempo.io/core/3/work-attributes/_EXTERNALREF_",
          "key": "_EXTERNALREF_",
          "name": "External Ref.",
          "type": "INPUT_FIELD",
          "required": true
        }
      ]
    }
    

    HTTP status code 401

    Client must be authenticated to access this resource.

    HTTP status code 403

    Authenticated user is missing permission to fulfill the request

    Body

    Media type: application/json

    Type: object

    Properties
    • errors: required (array of items)

      Items: items

      • message: required (string)

    Example:

    {
      "errors": [
        {
          "message": "The logged-in-user does not have required permission to view this data"
        }
      ]
    }

    Secured by OAuth 2.0

    Headers

    • Authorization: required (string)

      Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

    post

    Create a work attribute

    Secured by OAuth 2.0

    Tempo supports OAuth 2.0 for authenticating all API requests.

    Body

    Media type: application/json

    Type: object

    Properties
    • key: required (string)
    • name: required (string)
    • type: required (one of ACCOUNT, CHECKBOX, INPUT_FIELD, INPUT_NUMERIC, STATIC_LIST)
    • required: required (boolean - default: false)
    • values: (array of )

      When manipulating a work attribute of type "STATIC_LIST", set the list item values in this property. Otherwise, leave it empty.

    Example:

    {
      "key": "_COLOR_",
      "name": "Color",
      "type": "STATIC_LIST",
      "required": false,
      "values": [
        "Red",
        "Green",
        "Light Blue",
        "Yellow",
        "Pink"
      ]
    }
    

    HTTP status code 200

    Work attribute has been successfully created

    Body

    Media type: application/json

    Type: object

    Properties
    • self: required (string)
    • key: required (string)
    • name: required (string)
    • type: required (one of CHECKBOX, INPUT_FIELD, INPUT_NUMERIC, STATIC_LIST)
    • required: required (boolean - default: false)
    • values: (array of )

      Only relevant when type is STATIC_LIST. These values are immutable. Their UI representation can be looked up in the names object below.

    • names: (names)

      Only relevant when type is STATIC_LIST. Each STATIC_LIST entry has an immutable value which is stored with the worklog, and a name that is shown in the UI. The name can be changed.

      Example:

      {
        "self": "https://api.tempo.io/core/3/work-attributes/_COLOR_",
        "key": "_COLOR_",
        "name": "Color",
        "type": "STATIC_LIST",
        "required": false,
        "values": [
          "Red",
          "Green",
          "LightBlue",
          "Yellow",
          "Pink"
        ],
        "names": {
          "red": "Red",
          "green": "Green",
          "lightblue": "Light Blue",
          "yellow": "Yellow",
          "pink": "Rosé"
        }
      }
      

      HTTP status code 400

      Work attribute cannot be created for some reasons

      Body

      Media type: application/json

      Type: object

      Properties
      • errors: required (array of items)

        Items: items

        • message: required (string)

      Example:

      {
        "errors": [
          {
            "message": "Missing work attribute name"
          }
        ]
      }
      

      HTTP status code 401

      Client must be authenticated to access this resource.

      HTTP status code 403

      Authenticated user is missing permission to fulfill the request

      Body

      Media type: application/json

      Type: object

      Properties
      • errors: required (array of items)

        Items: items

        • message: required (string)

      Example:

      {
        "errors": [
          {
            "message": "The logged-in-user does not have required permission to view this data"
          }
        ]
      }

      Secured by OAuth 2.0

      Headers

      • Authorization: required (string)

        Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

      /work-attributes/{key} get put delete
      get

      Retrieve an existing work attribute for the given key

      Secured by OAuth 2.0

      Tempo supports OAuth 2.0 for authenticating all API requests.

      URI Parameters

      • key: required (string)

      HTTP status code 200

      Work attribute data of the given key

      Body

      Media type: application/json

      Type: object

      Properties
      • self: required (string)
      • key: required (string)
      • name: required (string)
      • type: required (one of CHECKBOX, INPUT_FIELD, INPUT_NUMERIC, STATIC_LIST)
      • required: required (boolean - default: false)
      • values: (array of )

        Only relevant when type is STATIC_LIST. These values are immutable. Their UI representation can be looked up in the names object below.

      • names: (names)

        Only relevant when type is STATIC_LIST. Each STATIC_LIST entry has an immutable value which is stored with the worklog, and a name that is shown in the UI. The name can be changed.

        Example:

        {
          "self": "https://api.tempo.io/core/3/work-attributes/_COLOR_",
          "key": "_COLOR_",
          "name": "Color",
          "type": "STATIC_LIST",
          "required": false,
          "values": [
            "Red",
            "Green",
            "LightBlue",
            "Yellow",
            "Pink"
          ],
          "names": {
            "red": "Red",
            "green": "Green",
            "lightblue": "Light Blue",
            "yellow": "Yellow",
            "pink": "Rosé"
          }
        }
        

        HTTP status code 401

        Client must be authenticated to access this resource.

        HTTP status code 403

        Authenticated user is missing permission to fulfill the request

        Body

        Media type: application/json

        Type: object

        Properties
        • errors: required (array of items)

          Items: items

          • message: required (string)

        Example:

        {
          "errors": [
            {
              "message": "The logged-in-user does not have required permission to view this data"
            }
          ]
        }

        HTTP status code 404

        Work attribute cannot be found in the system

        Body

        Media type: application/json

        Type: object

        Properties
        • errors: required (array of items)

          Items: items

          • message: required (string)

        Example:

        {
          "errors": [
            {
              "message": "A work attribute with key '_COLOR_' does not exist"
            }
          ]
        }
        

        Secured by OAuth 2.0

        Headers

        • Authorization: required (string)

          Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

        put

        Update an existing work attribute for the given key

        Secured by OAuth 2.0

        Tempo supports OAuth 2.0 for authenticating all API requests.

        URI Parameters

        • key: required (string)

        Body

        Media type: application/json

        Type: object

        Properties
        • key: required (string)
        • name: required (string)
        • type: required (one of ACCOUNT, CHECKBOX, INPUT_FIELD, INPUT_NUMERIC, STATIC_LIST)
        • required: required (boolean - default: false)
        • values: (array of )

          When manipulating a work attribute of type "STATIC_LIST", set the list item values in this property. Otherwise, leave it empty.

        Example:

        {
          "key": "_COLOR_",
          "name": "Color",
          "type": "STATIC_LIST",
          "required": false,
          "values": [
            "Red",
            "Green",
            "Light Blue",
            "Yellow",
            "Pink"
          ]
        }
        

        HTTP status code 200

        Work attribute data of the given key

        Body

        Media type: application/json

        Type: object

        Properties
        • self: required (string)
        • key: required (string)
        • name: required (string)
        • type: required (one of CHECKBOX, INPUT_FIELD, INPUT_NUMERIC, STATIC_LIST)
        • required: required (boolean - default: false)
        • values: (array of )

          Only relevant when type is STATIC_LIST. These values are immutable. Their UI representation can be looked up in the names object below.

        • names: (names)

          Only relevant when type is STATIC_LIST. Each STATIC_LIST entry has an immutable value which is stored with the worklog, and a name that is shown in the UI. The name can be changed.

          Example:

          {
            "self": "https://api.tempo.io/core/3/work-attributes/_COLOR_",
            "key": "_COLOR_",
            "name": "Color",
            "type": "STATIC_LIST",
            "required": false,
            "values": [
              "Red",
              "Green",
              "LightBlue",
              "Yellow",
              "Pink"
            ],
            "names": {
              "red": "Red",
              "green": "Green",
              "lightblue": "Light Blue",
              "yellow": "Yellow",
              "pink": "Rosé"
            }
          }
          

          HTTP status code 400

          Work attribute cannot be updated for some reasons

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Missing work attribute name"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Work attribute cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "A work attribute with key '_COLOR_' does not exist"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          delete

          Delete an existing work attribute for the given key

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • key: required (string)

          HTTP status code 204

          Worklog has been successfully deleted

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Work attribute cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "A work attribute with key '_COLOR_' does not exist"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          Workload Schemes

          get

          Retrieve all workload schemes

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          HTTP status code 200

          List of all workload schemes

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
          • results: required (array of Workload scheme)

            Items: Workload scheme

            • self: required (string)
            • id: required (integer)
            • name: required (string)
            • description: (string)
            • defaultScheme: required (boolean)
            • memberCount: required (number)
            • days: required (array of Workload scheme day)

              Items: Workload scheme day

              • day: required (string)
              • requiredSeconds: required (number)

          Example:

          {
            "self": "https://api.tempo.io/core/3/workload-schemes",
            "metadata": {
              "count": 2
            },
            "results": [
              {
                "self": "https://api.tempo.io/core/3/workload-schemes/123",
                "id": 123,
                "name": "Default Workload Scheme",
                "description": "Employees are part of this scheme by default",
                "defaultScheme": true,
                "memberCount": 33,
                "days": [
                  {
                    "day": "MONDAY",
                    "requiredSeconds": 28800
                  },
                  {
                    "day": "TUESDAY",
                    "requiredSeconds": 28800
                  },
                  {
                    "day": "WEDNESDAY",
                    "requiredSeconds": 28800
                  },
                  {
                    "day": "THURSDAY",
                    "requiredSeconds": 28800
                  },
                  {
                    "day": "FRIDAY",
                    "requiredSeconds": 28800
                  },
                  {
                    "day": "SATURDAY",
                    "requiredSeconds": 0
                  },
                  {
                    "day": "SUNDAY",
                    "requiredSeconds": 0
                  }
                ]
              },
              {
                "self": "https://api.tempo.io/core/3/workload-schemes/456",
                "id": 456,
                "name": "Part-time Workload Scheme",
                "description": "Employees working 50%",
                "defaultScheme": false,
                "memberCount": 7,
                "days": [
                  {
                    "day": "MONDAY",
                    "requiredSeconds": 14400
                  },
                  {
                    "day": "TUESDAY",
                    "requiredSeconds": 14400
                  },
                  {
                    "day": "WEDNESDAY",
                    "requiredSeconds": 14400
                  },
                  {
                    "day": "THURSDAY",
                    "requiredSeconds": 14400
                  },
                  {
                    "day": "FRIDAY",
                    "requiredSeconds": 14400
                  },
                  {
                    "day": "SATURDAY",
                    "requiredSeconds": 0
                  },
                  {
                    "day": "SUNDAY",
                    "requiredSeconds": 0
                  }
                ]
              }
            ]
          }

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          post

          Create a workload scheme

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          Body

          Media type: application/json

          Type: object

          Properties
          • name: required (string)
          • description: (string)
          • days: required (array of Workload scheme day)

            Items: Workload scheme day

            • day: required (string)
            • requiredSeconds: required (number)

          HTTP status code 200

          Workload scheme data of the scheme that was created

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • id: required (integer)
          • name: required (string)
          • description: (string)
          • defaultScheme: required (boolean)
          • memberCount: required (number)
          • days: required (array of Workload scheme day)

            Items: Workload scheme day

            • day: required (string)
            • requiredSeconds: required (number)

          HTTP status code 400

          Workload scheme cannot be created for some reasons

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "You must specify a scheme name"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          /workload-schemes/{id} get put delete
          get

          Retrieve an existing workload scheme for the given id

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • id: required (string)

          HTTP status code 200

          Workload scheme data of the scheme that matches provided id

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • id: required (integer)
          • name: required (string)
          • description: (string)
          • defaultScheme: required (boolean)
          • memberCount: required (number)
          • days: required (array of Workload scheme day)

            Items: Workload scheme day

            • day: required (string)
            • requiredSeconds: required (number)

          Example:

          {
            "self": "https://api.tempo.io/core/3/workload-schemes/123",
            "id": 123,
            "name": "Default Workload Scheme",
            "description": "Employees are part of this scheme by default",
            "defaultScheme": true,
            "memberCount": 33,
            "days": [
              {
                "day": "MONDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "TUESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "WEDNESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "THURSDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "FRIDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "SATURDAY",
                "requiredSeconds": 0
              },
              {
                "day": "SUNDAY",
                "requiredSeconds": 0
              }
            ]
          }

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          put

          Update a workload scheme for the given id

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • id: required (string)

          Body

          Media type: application/json

          Type: object

          Properties
          • name: required (string)
          • description: (string)
          • days: required (array of Workload scheme day)

            Items: Workload scheme day

            • day: required (string)
            • requiredSeconds: required (number)

          HTTP status code 200

          Workload scheme has been successfully updated

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • id: required (integer)
          • name: required (string)
          • description: (string)
          • defaultScheme: required (boolean)
          • memberCount: required (number)
          • days: required (array of Workload scheme day)

            Items: Workload scheme day

            • day: required (string)
            • requiredSeconds: required (number)

          Example:

          {
            "self": "https://api.tempo.io/core/3/workload-schemes/123",
            "id": 123,
            "name": "Default Workload Scheme",
            "description": "Employees are part of this scheme by default",
            "defaultScheme": true,
            "memberCount": 33,
            "days": [
              {
                "day": "MONDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "TUESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "WEDNESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "THURSDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "FRIDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "SATURDAY",
                "requiredSeconds": 0
              },
              {
                "day": "SUNDAY",
                "requiredSeconds": 0
              }
            ]
          }

          HTTP status code 400

          Workload scheme cannot be updated for some reasons

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "You must specify a scheme name"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          delete

          Delete a workload scheme for the given id

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • id: required (string)

          HTTP status code 204

          Workload scheme been successfully deleted

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          put

          Set the default workload scheme

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • id: required (string)

          HTTP status code 200

          The Workload scheme has been successfully set as default

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • id: required (integer)
          • name: required (string)
          • description: (string)
          • defaultScheme: required (boolean)
          • memberCount: required (number)
          • days: required (array of Workload scheme day)

            Items: Workload scheme day

            • day: required (string)
            • requiredSeconds: required (number)

          Example:

          {
            "self": "https://api.tempo.io/core/3/workload-schemes/123",
            "id": 123,
            "name": "Default Workload Scheme",
            "description": "Employees are part of this scheme by default",
            "defaultScheme": true,
            "memberCount": 33,
            "days": [
              {
                "day": "MONDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "TUESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "WEDNESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "THURSDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "FRIDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "SATURDAY",
                "requiredSeconds": 0
              },
              {
                "day": "SUNDAY",
                "requiredSeconds": 0
              }
            ]
          }

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Workload scheme cannot be found in the system

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Get members in a workload scheme

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • id: required (string)

          HTTP status code 200

          Members in the workload scheme

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 50)
            • next: (string)
            • previous: (string)
          • results: required (array of User)

            Items: User

            • self: (string)
            • accountId: required (string)
            • displayName: (string)

          Example:

          {
            "self": "https://api.tempo.io/core/3/workload-schemes/1/members&offset=0&limit=50",
            "metadata": {
              "count": 18,
              "offset": 0,
              "limit": 50
            },
            "results": [
              // skipped
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Workload scheme cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Workload scheme not found"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          post

          Set user workload scheme membership

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • id: required (string)

          Body

          Media type: application/json

          Type: object

          Properties
          • accountIds: required (array of )

          HTTP status code 204

          Users have been successfully added to the workload scheme

          HTTP status code 400

          Workload scheme membershop cannot be updated for some reasons

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "User is invalid"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Workload scheme cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Workload scheme not found"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Get user scheme

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • accountId: required (string)

          HTTP status code 200

          The user workload scheme

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • id: required (integer)
          • name: required (string)
          • description: (string)
          • defaultScheme: required (boolean)
          • memberCount: required (number)
          • days: required (array of Workload scheme day)

            Items: Workload scheme day

            • day: required (string)
            • requiredSeconds: required (number)

          Example:

          {
            "self": "https://api.tempo.io/core/3/workload-schemes/123",
            "id": 123,
            "name": "Default Workload Scheme",
            "description": "Employees are part of this scheme by default",
            "defaultScheme": true,
            "memberCount": 33,
            "days": [
              {
                "day": "MONDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "TUESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "WEDNESDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "THURSDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "FRIDAY",
                "requiredSeconds": 28800
              },
              {
                "day": "SATURDAY",
                "requiredSeconds": 0
              },
              {
                "day": "SUNDAY",
                "requiredSeconds": 0
              }
            ]
          }

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          Worklogs

          /worklogs get post
          get

          Retrieve worklogs

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          Query Parameters

          • issue: (array of string)

            Retrieve only worklogs for the given issues. Issues may be specified by either issue ids or issue keys.

          • project: (array of string)

            Retrieve only worklogs for the given projects. Projects may be specified by either project ids or project keys.

          • from: (date-only)

            Retrieve results starting with this date

          • to: (date-only)

            Retrieve results up to and including this date

          • updatedFrom: (date-only)

            Retrieve results that have been updated from this date

          • offset?: (integer - default: 0)

            Skip over a number of elements by specifying an offset value for the query

          • limit?: (integer - default: 50 - maximum: 1000)

            Limit the number of elements on the response

          HTTP status code 200

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 1000)
            • next: (string)
            • previous: (string)
          • results: required (array of Worklog)

            Items: Worklog

            • self: required (string)
            • tempoWorklogId: required (integer)
            • jiraWorklogId: (integer)
            • issue: required (issue)
              • self: required (string)
              • key: required (string)
            • timeSpentSeconds: required (number)
            • startDate: required (date-only)
            • startTime: required (time-only)
            • description: required (string)
            • createdAt: required (datetime)
            • updatedAt: required (datetime)
            • author: required (author)
              • self: (string)
              • accountId: required (string)
              • displayName: (string)
            • attributes: (attributes)
              • self: required (string)
              • values: required (array of Work Attribute Value)

                Items: Work Attribute Value

                • key: required (string)
                • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs?from=2017-02-01&to=2017-02-28&offset=0&limit=50",
            "metadata": {
              "count": 18,
              "offset": 0,
              "limit": 50
            },
            "results": [
              // skipped
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          post

          Creates a new worklog

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          Body

          Media type: application/json

          Type: object

          Properties
          • issueKey: required (string)
          • timeSpentSeconds: required (number)
          • startDate: required (date-only)
          • startTime: required (time-only)
          • description: (string)
          • authorAccountId: required (string)
          • attributes: (array of Work Attribute Value)

            Items: Work Attribute Value

            • key: required (string)
            • value: required (any)

          Example:

          {
            "issueKey": "DUM-1",
            "timeSpentSeconds": 3600,
            "billableSeconds": 5200,
            "startDate": "2017-02-06",
            "startTime": "20:06:00",
            "description": "Investigating a problem with our external database system", // optional depending on setting in Tempo Admin
            "authorAccountId": "1111aaaa2222bbbb3333cccc",
            "remainingEstimateSeconds": 7200, // optional depending on setting in Tempo Admin
            "attributes": [
              {
                "key": "_EXTERNALREF_",
                "value": "EXT-32548"
              },
              {
                "key": "_COLOR_",
                "value": "green"
              }
            ]
          }

          HTTP status code 200

          Worklog has been successfully created

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • tempoWorklogId: required (integer)
          • jiraWorklogId: (integer)
          • issue: required (issue)
            • self: required (string)
            • key: required (string)
          • timeSpentSeconds: required (number)
          • startDate: required (date-only)
          • startTime: required (time-only)
          • description: required (string)
          • createdAt: required (datetime)
          • updatedAt: required (datetime)
          • author: required (author)
            • self: (string)
            • accountId: required (string)
            • displayName: (string)
          • attributes: (attributes)
            • self: required (string)
            • values: required (array of Work Attribute Value)

              Items: Work Attribute Value

              • key: required (string)
              • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/12600",
            "tempoWorklogId": 126,
            "jiraWorklogId": 10100,
            "issue": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/DUM-1",
              "key": "DUM-1"
            },
            "timeSpentSeconds": 3600,
            "billableSeconds": 5200,
            "startDate": "2017-02-06",
            "startTime": "20:06:00",
            "description": "Investigating a problem with our external database system",
            "createdAt": "2017-02-06T16:41:41Z",
            "updatedAt": "2017-02-06T16:41:41Z",
            "author": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
              "accountId": "1111aaaa2222bbbb3333cccc",
              "displayName": "John Brown"
            },
            "attributes": {
              "self": "https://api.tempo.io/core/3/worklogs/126/work-attribute-values",
              "values": [
                {
                  "key": "_DELIVERED_",
                  "value": true
                },
                {
                  "key": "_EXTERNALREF_",
                  "value": "EXT-44556"
                },
                {
                  "key": "_COLOR_",
                  "value": "red"
                }
              ]
            }
          }
          

          HTTP status code 400

          Worklog cannot be created for some reasons

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Issue not found"
              },
              {
                "message": "Date can not be empty"
              },
              {
                "message": "Invalid time duration entered"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          /worklogs/{worklogId} get put delete
          get

          Retrieve an existing worklog for the given id

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • worklogId: required (string)

          HTTP status code 200

          Worklog data of the given id

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • tempoWorklogId: required (integer)
          • jiraWorklogId: (integer)
          • issue: required (issue)
            • self: required (string)
            • key: required (string)
          • timeSpentSeconds: required (number)
          • startDate: required (date-only)
          • startTime: required (time-only)
          • description: required (string)
          • createdAt: required (datetime)
          • updatedAt: required (datetime)
          • author: required (author)
            • self: (string)
            • accountId: required (string)
            • displayName: (string)
          • attributes: (attributes)
            • self: required (string)
            • values: required (array of Work Attribute Value)

              Items: Work Attribute Value

              • key: required (string)
              • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/12600",
            "tempoWorklogId": 126,
            "jiraWorklogId": 10100,
            "issue": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/DUM-1",
              "key": "DUM-1"
            },
            "timeSpentSeconds": 3600,
            "billableSeconds": 5200,
            "startDate": "2017-02-06",
            "startTime": "20:06:00",
            "description": "Investigating a problem with our external database system",
            "createdAt": "2017-02-06T16:41:41Z",
            "updatedAt": "2017-02-06T16:41:41Z",
            "author": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
              "accountId": "1111aaaa2222bbbb3333cccc",
              "displayName": "John Brown"
            },
            "attributes": {
              "self": "https://api.tempo.io/core/3/worklogs/126/work-attribute-values",
              "values": [
                {
                  "key": "_DELIVERED_",
                  "value": true
                },
                {
                  "key": "_EXTERNALREF_",
                  "value": "EXT-44556"
                },
                {
                  "key": "_COLOR_",
                  "value": "red"
                }
              ]
            }
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Worklog cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Worklog cannot be found"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          put

          Update an existing worklog

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • worklogId: required (string)

          Body

          Media type: application/json

          Type: object

          Properties
          • issueKey: required (string)
          • timeSpentSeconds: required (number)
          • startDate: required (date-only)
          • startTime: required (time-only)
          • description: (string)
          • authorAccountId: required (string)
          • attributes: (array of Work Attribute Value)

            Items: Work Attribute Value

            • key: required (string)
            • value: required (any)

          Example:

          {
            "issueKey": "DUM-1",
            "timeSpentSeconds": 3600,
            "billableSeconds": 5200,
            "startDate": "2017-02-06",
            "startTime": "20:06:00",
            "description": "Investigating a problem with our external database system", // optional depending on setting in Tempo Admin
            "authorAccountId": "1111aaaa2222bbbb3333cccc",
            "remainingEstimateSeconds": 7200, // optional depending on setting in Tempo Admin
            "attributes": [
              {
                "key": "_EXTERNALREF_",
                "value": "EXT-32548"
              },
              {
                "key": "_COLOR_",
                "value": "green"
              }
            ]
          }

          HTTP status code 200

          Worklog has been successfully updated

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • tempoWorklogId: required (integer)
          • jiraWorklogId: (integer)
          • issue: required (issue)
            • self: required (string)
            • key: required (string)
          • timeSpentSeconds: required (number)
          • startDate: required (date-only)
          • startTime: required (time-only)
          • description: required (string)
          • createdAt: required (datetime)
          • updatedAt: required (datetime)
          • author: required (author)
            • self: (string)
            • accountId: required (string)
            • displayName: (string)
          • attributes: (attributes)
            • self: required (string)
            • values: required (array of Work Attribute Value)

              Items: Work Attribute Value

              • key: required (string)
              • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/12600",
            "tempoWorklogId": 126,
            "jiraWorklogId": 10100,
            "issue": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/DUM-1",
              "key": "DUM-1"
            },
            "timeSpentSeconds": 3600,
            "billableSeconds": 5200,
            "startDate": "2017-02-06",
            "startTime": "20:06:00",
            "description": "Investigating a problem with our external database system",
            "createdAt": "2017-02-06T16:41:41Z",
            "updatedAt": "2017-02-06T16:41:41Z",
            "author": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
              "accountId": "1111aaaa2222bbbb3333cccc",
              "displayName": "John Brown"
            },
            "attributes": {
              "self": "https://api.tempo.io/core/3/worklogs/126/work-attribute-values",
              "values": [
                {
                  "key": "_DELIVERED_",
                  "value": true
                },
                {
                  "key": "_EXTERNALREF_",
                  "value": "EXT-44556"
                },
                {
                  "key": "_COLOR_",
                  "value": "red"
                }
              ]
            }
          }
          

          HTTP status code 400

          Worklog cannot be updated for some reasons

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Issue not found"
              },
              {
                "message": "Date can not be empty"
              },
              {
                "message": "Invalid time duration entered"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Worklog cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Worklog cannot be found"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          delete

          Delete an existing worklog

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • worklogId: required (string)

          HTTP status code 204

          Worklog has been successfully deleted

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Worklog cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Worklog cannot be found"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve all work attribute values for the worklog

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • worklogId: required (string)

          HTTP status code 200

          List of all work attribute values

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
          • results: required (array of Work Attribute Value)

            Items: Work Attribute Value

            • key: required (string)
            • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/126/work-attribute-values",
            "metadata": {
              "count": 3
            },
            "results": [
              {
                "key": "_DELIVERED_",
                "value": true
              },
              {
                "key": "_EXTERNALREF_",
                "value": "EXT-44556"
              },
              {
                "key": "_COLOR_",
                "value": "red"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve a specific work attribute value for the worklog

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • worklogId: required (string)
          • key: required (string)

          HTTP status code 200

          Work attribute value data of the given key

          Body

          Media type: application/json

          Type: object

          Properties
          • key: required (string)
          • value: required (any)

          Example:

          {
            "key": "_COLOR_",
            "value": "red"
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Work attribute value cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Work attribute value cannot be found"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve all worklogs associated to the given account key

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • accountKey: required (string)

          Query Parameters

          • from: (date-only)

            Retrieve results starting with this date

          • to: (date-only)

            Retrieve results up to and including this date

          • updatedFrom: (date-only)

            Retrieve results that have been updated from this date

          • offset?: (integer - default: 0)

            Skip over a number of elements by specifying an offset value for the query

          • limit?: (integer - default: 50 - maximum: 1000)

            Limit the number of elements on the response

          HTTP status code 200

          Worklogs associated to the account

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 1000)
            • next: (string)
            • previous: (string)
          • results: required (array of Worklog)

            Items: Worklog

            • self: required (string)
            • tempoWorklogId: required (integer)
            • jiraWorklogId: (integer)
            • issue: required (issue)
              • self: required (string)
              • key: required (string)
            • timeSpentSeconds: required (number)
            • startDate: required (date-only)
            • startTime: required (time-only)
            • description: required (string)
            • createdAt: required (datetime)
            • updatedAt: required (datetime)
            • author: required (author)
              • self: (string)
              • accountId: required (string)
              • displayName: (string)
            • attributes: (attributes)
              • self: required (string)
              • values: required (array of Work Attribute Value)

                Items: Work Attribute Value

                • key: required (string)
                • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/account/ACC-1?offset=0&limit=50",
            "metadata": {
              "count": 51,
              "offset": 0,
              "limit": 50,
              "next": "https://api.tempo.io/core/3/worklogs/account/ACC-1?offset=50&limit=50"
            },
            "results": [
              // skipped
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve all worklogs associated to the given issue key

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • key: required (string)

          Query Parameters

          • from: (date-only)

            Retrieve results starting with this date

          • to: (date-only)

            Retrieve results up to and including this date

          • updatedFrom: (date-only)

            Retrieve results that have been updated from this date

          • offset?: (integer - default: 0)

            Skip over a number of elements by specifying an offset value for the query

          • limit?: (integer - default: 50 - maximum: 1000)

            Limit the number of elements on the response

          HTTP status code 200

          Worklogs associated to the issue

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 1000)
            • next: (string)
            • previous: (string)
          • results: required (array of Worklog)

            Items: Worklog

            • self: required (string)
            • tempoWorklogId: required (integer)
            • jiraWorklogId: (integer)
            • issue: required (issue)
              • self: required (string)
              • key: required (string)
            • timeSpentSeconds: required (number)
            • startDate: required (date-only)
            • startTime: required (time-only)
            • description: required (string)
            • createdAt: required (datetime)
            • updatedAt: required (datetime)
            • author: required (author)
              • self: (string)
              • accountId: required (string)
              • displayName: (string)
            • attributes: (attributes)
              • self: required (string)
              • values: required (array of Work Attribute Value)

                Items: Work Attribute Value

                • key: required (string)
                • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/issue/PLAT-234",
            "metadata": {
              "count": 57,
              "offset": 0,
              "limit": 50,
              "next": "https://api.tempo.io/core/3/worklogs/issue/PLAT-234?offset=50&limit=50"
            },
            "results": [
              // skipped
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Worklog cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Issue not found"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve an existing worklog for the given Jira worklog id

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • jiraWorklogId: required (string)

          HTTP status code 200

          Worklog data of the given Jira worklog id

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • tempoWorklogId: required (integer)
          • jiraWorklogId: (integer)
          • issue: required (issue)
            • self: required (string)
            • key: required (string)
          • timeSpentSeconds: required (number)
          • startDate: required (date-only)
          • startTime: required (time-only)
          • description: required (string)
          • createdAt: required (datetime)
          • updatedAt: required (datetime)
          • author: required (author)
            • self: (string)
            • accountId: required (string)
            • displayName: (string)
          • attributes: (attributes)
            • self: required (string)
            • values: required (array of Work Attribute Value)

              Items: Work Attribute Value

              • key: required (string)
              • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/12600",
            "tempoWorklogId": 126,
            "jiraWorklogId": 10100,
            "issue": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/issue/DUM-1",
              "key": "DUM-1"
            },
            "timeSpentSeconds": 3600,
            "billableSeconds": 5200,
            "startDate": "2017-02-06",
            "startTime": "20:06:00",
            "description": "Investigating a problem with our external database system",
            "createdAt": "2017-02-06T16:41:41Z",
            "updatedAt": "2017-02-06T16:41:41Z",
            "author": {
              "self": "https://my-cloud-instance.atlassian.net/rest/api/2/user?accountId=1111aaaa2222bbbb3333cccc",
              "accountId": "1111aaaa2222bbbb3333cccc",
              "displayName": "John Brown"
            },
            "attributes": {
              "self": "https://api.tempo.io/core/3/worklogs/126/work-attribute-values",
              "values": [
                {
                  "key": "_DELIVERED_",
                  "value": true
                },
                {
                  "key": "_EXTERNALREF_",
                  "value": "EXT-44556"
                },
                {
                  "key": "_COLOR_",
                  "value": "red"
                }
              ]
            }
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Worklog cannot be found in the system

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Worklog cannot be found"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve worklogs associated to the given Jira filter id

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • jirafilterId: required (string)

          Query Parameters

          • from: (date-only)

            Retrieve results starting with this date

          • to: (date-only)

            Retrieve results up to and including this date

          • updatedFrom: (date-only)

            Retrieve results that have been updated from this date

          • offset?: (integer - default: 0)

            Skip over a number of elements by specifying an offset value for the query

          • limit?: (integer - default: 50 - maximum: 1000)

            Limit the number of elements on the response

          HTTP status code 200

          Worklogs of the given Jira filter id

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 1000)
            • next: (string)
            • previous: (string)
          • results: required (array of Worklog)

            Items: Worklog

            • self: required (string)
            • tempoWorklogId: required (integer)
            • jiraWorklogId: (integer)
            • issue: required (issue)
              • self: required (string)
              • key: required (string)
            • timeSpentSeconds: required (number)
            • startDate: required (date-only)
            • startTime: required (time-only)
            • description: required (string)
            • createdAt: required (datetime)
            • updatedAt: required (datetime)
            • author: required (author)
              • self: (string)
              • accountId: required (string)
              • displayName: (string)
            • attributes: (attributes)
              • self: required (string)
              • values: required (array of Work Attribute Value)

                Items: Work Attribute Value

                • key: required (string)
                • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/jira/filter/10020?offset=0&limit=50",
            "metadata": {
              "count": 64,
              "offset": 0,
              "limit": 50,
              "next": "https://api.tempo.io/core/3/worklogs/jira/filter/10020?offset=50&limit=50"
            },
            "results": [
              // skipped
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve all worklogs associated to the given project key

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • projectKey: required (string)

          Query Parameters

          • from: (date-only)

            Retrieve results starting with this date

          • to: (date-only)

            Retrieve results up to and including this date

          • updatedFrom: (date-only)

            Retrieve results that have been updated from this date

          • offset?: (integer - default: 0)

            Skip over a number of elements by specifying an offset value for the query

          • limit?: (integer - default: 50 - maximum: 1000)

            Limit the number of elements on the response

          HTTP status code 200

          Worklogs associated to the project

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 1000)
            • next: (string)
            • previous: (string)
          • results: required (array of Worklog)

            Items: Worklog

            • self: required (string)
            • tempoWorklogId: required (integer)
            • jiraWorklogId: (integer)
            • issue: required (issue)
              • self: required (string)
              • key: required (string)
            • timeSpentSeconds: required (number)
            • startDate: required (date-only)
            • startTime: required (time-only)
            • description: required (string)
            • createdAt: required (datetime)
            • updatedAt: required (datetime)
            • author: required (author)
              • self: (string)
              • accountId: required (string)
              • displayName: (string)
            • attributes: (attributes)
              • self: required (string)
              • values: required (array of Work Attribute Value)

                Items: Work Attribute Value

                • key: required (string)
                • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/project/PRJ-1",
            "metadata": {
              "count": 51,
              "offset": 0,
              "limit": 50,
              "next": "https://api.tempo.io/core/3/worklogs/project/PRJ-1?offset=50&limit=50"
            },
            "results": [
              // skipped
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get
          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • teamId: required (string)

          Query Parameters

          • from: (date-only)

            Retrieve results starting with this date

          • to: (date-only)

            Retrieve results up to and including this date

          • updatedFrom: (date-only)

            Retrieve results that have been updated from this date

          • offset?: (integer - default: 0)

            Skip over a number of elements by specifying an offset value for the query

          • limit?: (integer - default: 50 - maximum: 1000)

            Limit the number of elements on the response

          HTTP status code 200

          Worklogs associated to the team

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 1000)
            • next: (string)
            • previous: (string)
          • results: required (array of Worklog)

            Items: Worklog

            • self: required (string)
            • tempoWorklogId: required (integer)
            • jiraWorklogId: (integer)
            • issue: required (issue)
              • self: required (string)
              • key: required (string)
            • timeSpentSeconds: required (number)
            • startDate: required (date-only)
            • startTime: required (time-only)
            • description: required (string)
            • createdAt: required (datetime)
            • updatedAt: required (datetime)
            • author: required (author)
              • self: (string)
              • accountId: required (string)
              • displayName: (string)
            • attributes: (attributes)
              • self: required (string)
              • values: required (array of Work Attribute Value)

                Items: Work Attribute Value

                • key: required (string)
                • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/team/42",
            "metadata": {
              "count": 0,
              "offset": 0,
              "limit": 50
            },
            "results": [
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          get

          Retrieve all worklogs associated to the given user

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • accountId: required (string)

          Query Parameters

          • from: (date-only)

            Retrieve results starting with this date

          • to: (date-only)

            Retrieve results up to and including this date

          • updatedFrom: (date-only)

            Retrieve results that have been updated from this date

          • offset?: (integer - default: 0)

            Skip over a number of elements by specifying an offset value for the query

          • limit?: (integer - default: 50 - maximum: 1000)

            Limit the number of elements on the response

          HTTP status code 200

          Worklogs associated to the user

          Body

          Media type: application/json

          Type: object

          Properties
          • self: required (string)
          • metadata: required (metadata)
            • count: required (integer)
            • offset: required (integer - default: 0)
            • limit: required (integer - default: 50 - maximum: 1000)
            • next: (string)
            • previous: (string)
          • results: required (array of Worklog)

            Items: Worklog

            • self: required (string)
            • tempoWorklogId: required (integer)
            • jiraWorklogId: (integer)
            • issue: required (issue)
              • self: required (string)
              • key: required (string)
            • timeSpentSeconds: required (number)
            • startDate: required (date-only)
            • startTime: required (time-only)
            • description: required (string)
            • createdAt: required (datetime)
            • updatedAt: required (datetime)
            • author: required (author)
              • self: (string)
              • accountId: required (string)
              • displayName: (string)
            • attributes: (attributes)
              • self: required (string)
              • values: required (array of Work Attribute Value)

                Items: Work Attribute Value

                • key: required (string)
                • value: required (any)

          Example:

          {
            "self": "https://api.tempo.io/core/3/worklogs/user/john?offset=100&limit=50",
            "metadata": {
              "count": 250,
              "offset": 100,
              "limit": 50,
              "next": "https://api.tempo.io/core/3/worklogs/user/john?offset=150&limit=50",
              "previous": "https://api.tempo.io/core/3/worklogs/user/john?offset=50&limit=50"
            },
            "results": [
              // skipped
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"

          post

          Bulk create work attribute values for worklogs.

          Note: This API only supports creating new work attribute values. Work attribute values can only be updated as part of the worklog.

          Secured by OAuth 2.0

          Tempo supports OAuth 2.0 for authenticating all API requests.

          Body

          Media type: application/json

          Type: object

          Properties
          • tempoWorklogId: required (integer)
          • attributeValues: required (string)

          Example:

          [
            {
              "tempoWorklogId": 10100,
              "attributeValues": [
                {
                  "key": "_COLOR_",
                  "value": "red"
                }
              ]
            },
            {
              "tempoWorklogId": 10101,
              "attributeValues": [
                {
                  "key": "_DELIVERED_",
                  "value": true
                },
                {
                  "key": "_EXTERNALREF_",
                  "value": "EXT-44556"
                }
              ]
            }
          ]
          

          HTTP status code 204

          Work attribute values have been created

          HTTP status code 400

          Work attribute values cannot be created for some reasons, for example if the value is not valid for the type of the work attribute, or if the worklog already has a value for the specified attribute.

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "Invalid work attribute value"
              }
            ]
          }
          

          HTTP status code 401

          Client must be authenticated to access this resource.

          HTTP status code 403

          Authenticated user is missing permission to fulfill the request

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "The logged-in-user does not have required permission to view this data"
              }
            ]
          }

          HTTP status code 404

          Worklog or Work attribute key not found

          Body

          Media type: application/json

          Type: object

          Properties
          • errors: required (array of items)

            Items: items

            • message: required (string)

          Example:

          {
            "errors": [
              {
                "message": "A work attribute with key '_COLOR_' does not exist"
              }
            ]
          }
          

          Secured by OAuth 2.0

          Headers

          • Authorization: required (string)

            Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"