REST API documentation version 3
https://api.tempo.io/core/{version}
About the Tempo REST API
Version 3 of the Tempo REST API is available as of February 1st, 2019.
As of March 29th, 2019, version 2 has been decomissioned. Everyone using the API is encouraged to switch to version 3.
For more information, see this announcement.
The REST API is designed around a flexible and scalable architecture that will extend in lockstep with Tempo’s development.
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.
Changes from version 2
Privacy improvements
All APIs that previously used a username to identify users now use accountId instead. Field names in JSON documents have changed accordingly, for example leadUsername
has been replaced with leadAccountId
.
Account contact
When creating an account, separate fields are used to identify the contact depending on whether the contact is a registered Jira user.
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.
In account responses, a new type
field marks the contact as a Jira user (USER) or not (EXTERNAL).
Team permission update
The API for updating team permissions has been removed.
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.
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&access_type=tenant_user
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 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"
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 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.
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 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 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
- version: required (3)
Accounts
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.
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve existing accounts
Tempo supports OAuth 2.0 for authenticating all API requests.
Query Parameters
- status: (string)
Retrieve accounts for the given status [OPEN, CLOSED, ARCHIVED]
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: required (string)
- accountId: required (string)
- displayName: required (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"
}
}
]
}
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}"
Retrieve an existing account for the given key
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Update an existing account
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: required (string)
- accountId: required (string)
- displayName: required (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 an existing account
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}"
Retrieve all existing links associated to this account
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- key: required (string)
HTTP status code 200
List of all links for this account
Body
Media type: application/json
Type: object
Properties- self: required (string)
- metadata: required (metadata)
- count: required (integer)
- results: required (array of AccountLink)
Items: AccountLink
- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- id: required (number)
- type: required (PROJECT)
- account: required (account)
- self: required (string)
Example:
{
"self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT/links",
"metadata": {
"count": 1
},
"results": [
{
"self": "https://api.tempo.io/core/3/account-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PRJ-1",
"id": 100100,
"type": "PROJECT"
},
"account": {
"self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT"
}
}
]
}
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
Creates a new category
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}"
Retrieve all existing categories
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}"
Retrieve an existing category for the given key
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}"
Update an existing category
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 an existing category
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
Retrieve all existing types
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}"
Account - Links
Creates a new account-link
Tempo supports OAuth 2.0 for authenticating all API requests.
Body
Media type: application/json
Type: object
Properties- accountKey: required (string)
- scopeType: required (PROJECT)
- scopeId: required (number)
Example:
{
"accountKey": "CLOUDBAY_DEVELOPMENT",
"scopeType": "PROJECT",
"scopeId": 100100
}
HTTP status code 200
Account-link has been successfully-created
Body
Media type: application/json
Type: object
Properties- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- id: required (number)
- type: required (PROJECT)
- account: required (account)
- self: required (string)
Example:
{
"self": "https://api.tempo.io/core/3/account-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PRJ-1",
"id": 100100,
"type": "PROJECT"
},
"account": {
"self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT"
}
}
HTTP status code 400
Account-link 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": "Invalid account key"
}
]
}
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}"
Retrieve an existing account-link for the given id
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- id: required (string)
HTTP status code 200
Retrieve a account-link
Body
Media type: application/json
Type: object
Properties- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- id: required (number)
- type: required (PROJECT)
- account: required (account)
- self: required (string)
Example:
{
"self": "https://api.tempo.io/core/3/account-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PRJ-1",
"id": 100100,
"type": "PROJECT"
},
"account": {
"self": "https://api.tempo.io/core/3/accounts/CLOUDBAY_DEVELOPMENT"
}
}
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-link 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": "Link not found"
}
]
}
Secured by OAuth 2.0
Headers
- Authorization: required (string)
Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"
Delete an existing account-link
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- id: required (string)
HTTP status code 204
Account-link 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-link 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": "Link not found"
}
]
}
Secured by OAuth 2.0
Headers
- Authorization: required (string)
Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"
Retrieve account-link by project
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- projectKey: required (string)
HTTP status code 200
Retrieve account-links
Body
Media type: application/json
Type: object
Properties- self: required (string)
- metadata: required (metadata)
- count: required (integer)
- results: required (array of AccountLinkByScope)
Items: AccountLinkByScope
- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- account: required (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: required (string)
- accountId: required (string)
- displayName: required (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/account-links/project/PROJ-1",
"metadata": {
"count": 2
},
"results": [
{
"self": "https://api.tempo.io/core/3/account-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PROJ-1"
},
"account": {
"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/account-links/2",
"id": 2,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PROJ-1"
},
"account": {
"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"
},
"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"
}
]
}
Secured by OAuth 2.0
Headers
- Authorization: required (string)
Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"
Customers
Creates a new customer
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}"
Retrieve all existing customers
Tempo supports OAuth 2.0 for authenticating all API requests.
Query Parameters
- id: required (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}"
Retrieve an existing customer for the given key
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}"
Update an existing Customer
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 an existing customer
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}"
Retrieve all accounts for a given customer
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Holiday Schemes
Retrieve all holiday schemes
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Create a Holiday scheme
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}"
Retrieve an existing holiday scheme
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}"
Update a holiday scheme
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 a holiday scheme
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}"
Set the default holiday scheme
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}"
Retrieve holidays for an existing holiday scheme
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://test.api.tempo.io/core/3/holiday-schemes/123/holidays?year=2021",
"metadata": {
"count": 2
},
"results": [
{
"self": "https://test.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://test.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}"
Create a Holiday
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://test.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}"
Retrieve an existing holiday
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:
Can not resolve examples/holiday -scheme-holiday.json
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}"
Update a holiday
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 a holiday
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 members in a holiday scheme
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}"
Assign a holiday scheme to members
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 user scheme
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
Retrieve all periods for a given date range
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
Retrieve permission roles
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.
- key: required (string)
- permittedUsers: required (array of User)
Items: User
- self: required (string)
- accountId: required (string)
- displayName: required (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://test.api.tempo.io/core/3/permission-roles",
"metadata": {
"count": 2
},
"results": [
{
"self": "https://test.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://test.api.tempo.io/core/3/teams/1"
}
],
"editable": true
},
{
"self": "https://test.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}"
Create a new editable permission role
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.
- key: required (string)
- permittedUsers: required (array of User)
Items: User
- self: required (string)
- accountId: required (string)
- displayName: required (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://test.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://test.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}"
Retrieve global permission roles
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.
- key: required (string)
- permittedUsers: required (array of User)
Items: User
- self: required (string)
- accountId: required (string)
- displayName: required (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://test.api.tempo.io/core/3/permission-roles",
"metadata": {
"count": 1
},
"results": [
{
"self": "https://test.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}"
Retrieve a permission role
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.
- key: required (string)
- permittedUsers: required (array of User)
Items: User
- self: required (string)
- accountId: required (string)
- displayName: required (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://test.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://test.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}"
Update a permission role. Only members of editable roles can be updated.
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.
- key: required (string)
- permittedUsers: required (array of User)
Items: User
- self: required (string)
- accountId: required (string)
- displayName: required (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 an editable permission role
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
Retrieve plans
Tempo supports OAuth 2.0 for authenticating all API requests.
Query Parameters
- assigneeType: (string)
Retrieve only plans with assignees of the given type.
- planItemType: (string)
Retrieve only plans with plan items of the given type.
- from: required (date-only)
Retrieve results starting with this date
- to: required (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 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)
- 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)
- metadata: required (metadata)
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
}
]
}
},
{
"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}"
Creates a new plan
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)
- 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)
- metadata: required (metadata)
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}"
Retrieve an existing plan for the given id. Add from and to query params to expand recurrences.
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)
- 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)
- metadata: required (metadata)
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}"
Update an existing plan for the given id
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)
- 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)
- metadata: required (metadata)
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 an existing plan
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}"
Retrieve plans for user
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: (date-only)
Retrieve results that have been updated from this 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)
- 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)
- metadata: required (metadata)
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
Retrieve all programs
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Creates a new program
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve an existing program for the given id
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Update an existing program for the given id
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: required (string)
- accountId: required (string)
- displayName: required (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 an existing program
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}"
Retrieve teams associated to this program
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
Retrieve all roles
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}"
Creates a new role
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}"
Retrieve the default role
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}"
Retrieve an existing role for the given id
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}"
Update an existing role for the given id
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 an existing role
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
Creates a new team
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve all teams
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve an existing team for the given id
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Update an existing team for the given id
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: required (string)
- accountId: required (string)
- displayName: required (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 an existing team
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}"
Retrieve all the links for this team
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- id: required (string)
HTTP status code 200
Team's links
Body
Media type: application/json
Type: object
Properties- self: required (string)
- metadata: required (metadata)
- count: required (integer)
- results: required (array of TeamLinkRef)
Items: TeamLinkRef
- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- id: required (number)
- type: required (one of BOARD, PROJECT)
- team: required (team)
- self: required (string)
Example:
{
"self": "https://api.tempo.io/core/3/teams/14/links",
"metadata": {
"count": 2
},
"results": [
{
"self": "https://api.tempo.io/core/3/team-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PRJ-1",
"id": 100100,
"type": "PROJECT"
},
"team": {
"self": "https://api.tempo.io/core/3/teams/14"
}
},
{
"self": "https://api.tempo.io/core/3/team-links/3",
"id": 3,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/agile/1.0/board/123456",
"id": 123456,
"type": "BOARD"
},
"team": {
"self": "https://api.tempo.io/core/3/teams/14"
}
}
]
}
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}"
Retrieve all the members for this team with their active membership
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: required (string)
- accountId: required (string)
- displayName: required (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)
- self: required (self)
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}"
Retrieve the member's active membership for this team
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: required (string)
- accountId: required (string)
- displayName: required (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)
- self: required (self)
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}"
Retrieve member's memberships for this team
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}"
Retrieve all the permissions for this team
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve a specific permission belonging to the team
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: required (string)
- accountId: required (string)
- displayName: required (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 - Links
Creates a new team-link
Tempo supports OAuth 2.0 for authenticating all API requests.
Body
Media type: application/json
Type: object
Properties- teamId: required (integer)
- scopeType: required (one of BOARD, PROJECT)
- scopeId: required (number)
Example:
{
"teamId": 14,
"scopeType": "PROJECT",
"scopeId": 100100
}
HTTP status code 200
Team-link has been successfully-created
Body
Media type: application/json
Type: object
Properties- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- id: required (number)
- type: required (one of BOARD, PROJECT)
- team: required (team)
- self: required (string)
- id: required (integer)
- name: required (string)
Example:
{
"self": "https://api.tempo.io/core/3/team-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/2/project/PRJ-1",
"id": 100100,
"type": "PROJECT"
},
"team": {
"self": "https://api.tempo.io/core/3/teams/14",
"id": 14,
"name": "Team-A"
}
}
HTTP status code 400
Team-link 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 do not have permission to browse Project connected to the link"
}
]
}
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}"
Retrieve an existing team-link for the given id
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- id: required (string)
HTTP status code 200
Retrieve a team-link
Body
Media type: application/json
Type: object
Properties- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- id: required (number)
- type: required (one of BOARD, PROJECT)
- team: required (team)
- self: required (string)
- id: required (integer)
- name: required (string)
Example:
{
"self": "https://api.tempo.io/core/3/team-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/2/project/PRJ-1",
"id": 100100,
"type": "PROJECT"
},
"team": {
"self": "https://api.tempo.io/core/3/teams/14",
"id": 14,
"name": "Team-A"
}
}
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-link 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": "Link with id '99' does not exist"
}
]
}
Secured by OAuth 2.0
Headers
- Authorization: required (string)
Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"
Delete an existing team-link
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- id: required (string)
HTTP status code 204
Team-link 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-link 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": "Link with id '99' does not exist"
}
]
}
Secured by OAuth 2.0
Headers
- Authorization: required (string)
Used to send a valid OAuth 2 token : "Authorization: Bearer ${token}"
Retrieve team-link by project
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- projectKey: required (string)
HTTP status code 200
Retrieve team-links
Body
Media type: application/json
Type: object
Properties- self: required (string)
- metadata: required (metadata)
- count: required (integer)
- results: required (array of TeamLinkByScope)
Items: TeamLinkByScope
- self: required (string)
- id: required (number)
- scope: required (scope)
- self: required (string)
- team: required (team)
- self: required (string)
- id: required (integer)
- name: required (string)
- summary: (string)
- lead: (lead)
- self: required (string)
- accountId: required (string)
- displayName: required (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/team-links/project/PRJ-1",
"metadata": {
"count": 2
},
"results": [
{
"self": "https://api.tempo.io/core/3/team-links/1",
"id": 1,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PRJ-1"
},
"team": {
"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/team-links/3",
"id": 3,
"scope": {
"self": "https://my-cloud-instance.atlassian.net/rest/api/2/project/PRJ-1"
},
"team": {
"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}"
Team - Memberships
Creates a new membership
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve an existing membership for the given id
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Update an existing membership for the given id
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: required (string)
- accountId: required (string)
- displayName: required (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 an existing membership
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}"
Timesheet Approvals
Retrieve all timesheets that are awaiting my approval
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: required (string)
- accountId: required (string)
- displayName: required (string)
- requiredSecondsAtSubmit: (number)
- timeSpentSecondsAtSubmit: (number)
- updatedAt: required (datetime)
- user: required (user)
- self: required (string)
- accountId: required (string)
- displayName: required (string)
- actions: required (actions)
- submit: (submit)
- self: required (string)
- approve: (approve)
- self: required (string)
- reject: (reject)
- self: required (string)
- reopen: (reopen)
- self: required (string)
- submit: (submit)
- 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}"
Retrieve the current approval for a given period
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
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: required (string)
- accountId: required (string)
- displayName: required (string)
- requiredSecondsAtSubmit: (number)
- timeSpentSecondsAtSubmit: (number)
- updatedAt: required (datetime)
- user: required (user)
- self: required (string)
- accountId: required (string)
- displayName: required (string)
- actions: required (actions)
- submit: (submit)
- self: required (string)
- approve: (approve)
- self: required (string)
- reject: (reject)
- self: required (string)
- reopen: (reopen)
- self: required (string)
- submit: (submit)
- 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 Reviewers for a user
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Approve Timesheet
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- accountId: required (string)
Query Parameters
- from: (date-only)
Starting date of the period
- to: (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: required (string)
- accountId: required (string)
- displayName: required (string)
- requiredSecondsAtSubmit: (number)
- timeSpentSecondsAtSubmit: (number)
- updatedAt: required (datetime)
- user: required (user)
- self: required (string)
- accountId: required (string)
- displayName: required (string)
- actions: required (actions)
- submit: (submit)
- self: required (string)
- approve: (approve)
- self: required (string)
- reject: (reject)
- self: required (string)
- reopen: (reopen)
- self: required (string)
- submit: (submit)
- 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}"
Reject Timesheet
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- accountId: required (string)
Query Parameters
- from: (date-only)
Starting date of the period
- to: (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: required (string)
- accountId: required (string)
- displayName: required (string)
- requiredSecondsAtSubmit: (number)
- timeSpentSecondsAtSubmit: (number)
- updatedAt: required (datetime)
- user: required (user)
- self: required (string)
- accountId: required (string)
- displayName: required (string)
- actions: required (actions)
- submit: (submit)
- self: required (string)
- approve: (approve)
- self: required (string)
- reject: (reject)
- self: required (string)
- reopen: (reopen)
- self: required (string)
- submit: (submit)
- 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}"
Re-open Timesheet
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- accountId: required (string)
Query Parameters
- from: (date-only)
Starting date of the period
- to: (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: required (string)
- accountId: required (string)
- displayName: required (string)
- requiredSecondsAtSubmit: (number)
- timeSpentSecondsAtSubmit: (number)
- updatedAt: required (datetime)
- user: required (user)
- self: required (string)
- accountId: required (string)
- displayName: required (string)
- actions: required (actions)
- submit: (submit)
- self: required (string)
- approve: (approve)
- self: required (string)
- reject: (reject)
- self: required (string)
- reopen: (reopen)
- self: required (string)
- submit: (submit)
- 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}"
Submit Timesheet for approvals
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- accountId: required (string)
Query Parameters
- from: (date-only)
Starting date of the period
- to: (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: required (string)
- accountId: required (string)
- displayName: required (string)
- requiredSecondsAtSubmit: (number)
- timeSpentSecondsAtSubmit: (number)
- updatedAt: required (datetime)
- user: required (user)
- self: required (string)
- accountId: required (string)
- displayName: required (string)
- actions: required (actions)
- submit: (submit)
- self: required (string)
- approve: (approve)
- self: required (string)
- reject: (reject)
- self: required (string)
- reopen: (reopen)
- self: required (string)
- submit: (submit)
- 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}"
Retrieve the current approval for a team in a given period
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
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: required (string)
- accountId: required (string)
- displayName: required (string)
- requiredSecondsAtSubmit: (number)
- timeSpentSecondsAtSubmit: (number)
- updatedAt: required (datetime)
- user: required (user)
- self: required (string)
- accountId: required (string)
- displayName: required (string)
- actions: required (actions)
- submit: (submit)
- self: required (string)
- approve: (approve)
- self: required (string)
- reject: (reject)
- self: required (string)
- reopen: (reopen)
- self: required (string)
- submit: (submit)
- 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
Retrieve user-schedule of the logged-in user
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
Retrieve user-schedule
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
Retrieve all work attributes
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 aname
that is shown in the UI. Thename
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}"
Create a work attribute
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 aname
that is shown in the UI. Thename
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}"
Retrieve an existing work attribute for the given key
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 aname
that is shown in the UI. Thename
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}"
Update an existing work attribute for the given key
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 aname
that is shown in the UI. Thename
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}"
Update an existing work attribute for the given key
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 aname
that is shown in the UI. Thename
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 an existing work attribute for the given key
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}"
Delete an existing work attribute for the given key
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
Retrieve all workload schemes
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}"
Create a workload scheme
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}"
Retrieve an existing workload scheme for the given id
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}"
Update a workload scheme for the given id
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 a workload scheme for the given id
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}"
Set the default workload scheme
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 members in a workload scheme
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: 1000)
- next: (string)
- previous: (string)
- results: required (array of User)
Items: User
- self: required (string)
- accountId: required (string)
- displayName: required (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}"
Set user workload scheme membership
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 user scheme
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
Retrieve worklogs
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Creates a new worklog
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve an existing worklog for the given id
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Update an existing worklog
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: required (string)
- accountId: required (string)
- displayName: required (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 an existing worklog
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}"
Retrieve all work attribute values for the worklog
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}"
Retrieve a specific work attribute value for the worklog
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}"
Retrieve worklogs associated to the given JIRA filter id
Tempo supports OAuth 2.0 for authenticating all API requests.
URI Parameters
- worklogId: required (string)
- 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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve all worklogs associated to the given account key
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve all worklogs associated to the given issue key
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve an existing worklog for the given JIRA worklog id
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve all worklogs associated to the given project key
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: required (string)
- accountId: required (string)
- displayName: required (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}"
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Retrieve all worklogs associated to the given user
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: required (string)
- accountId: required (string)
- displayName: required (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}"
Bulk create work attribute values for worklogs
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
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}"