WiseTime Connect API (1.2.1)

Download OpenAPI specification:Download

WiseTime Connect API Support: contact@wisetime.io URL: https://wisetime.io/docs/connect

Use the WiseTime Connect API to build connectors to your application.

Authentication

ConnectApiKeyAuth

See the Authentication documentation page for more details.

Security scheme type: API Key
Header parameter name: x-api-key

Team Info

Retrieve information about the team

Authorizations:

Responses

200

Successfully found the team info.

401

A valid API key is required to access this resource.

500

An unexpected error occured.

get /team/info
https://wisetime.io/connect/api/team/info

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "teamName": "string"
}

Tags

Create a new tag, or update the tag if it already exists

Authorizations:
Request Body schema: application/json
name
string

Tag name to create. If a tag by this name already exists, the tag will be updated.

description
string

Displayed in the GUI and search functions. An empty (or null) description will be ignored, the description will remain with the previous value instead of replacing it.

excludeTagNameKeyword
boolean

The default behaviour when creating a tag is for the tagName to be added as a keyword for the tag. If excludeTagNameKeyword is set to true, the tagName will not be added as a keyword, unless it is explicitly defined in the additionalKeywords list of the request.

path
string

Path at which to create the tag. The path must start with a / and end with a / For example /myteam/inprotech/ Use / to create tag in root.

additionalKeywords
Array of strings

A tag is applied to a time row if one of its keywords matches text in the time row activity description. Keywords provided via this property will be added to the list of existing keywords for the tag. Existing keywords won't be removed.

Responses

200

Tag successfully created or updated.

400

Invalid request. Tag name is required.

401

A valid API key is required to access this resource.

402

Number of tags plan limit exceeded.

500

An unexpected error occured.

post /tag
https://wisetime.io/connect/api/tag

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "description": "string",
  • "excludeTagNameKeyword": true,
  • "path": "string",
  • "additionalKeywords":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Delete an existing tag

Authorizations:
Request Body schema: application/json
name
string

Tag name to delete.

Responses

200

Tag successfully updated.

400

Invalid request. Tag name is required.

401

A valid API key is required to access this resource.

404

Tag not found.

500

An unexpected error occured.

post /tag/delete
https://wisetime.io/connect/api/tag/delete

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Add one or more keywords to an existing tag

Authorizations:
Request Body schema: application/json
tagName
string

The tag to which to add the keywords.

additionalKeywords
Array of strings

One or more new keywords for the tag. Keywords provided via this property will be added to the list of existing keywords for the tag. Existing keywords won't be removed.

Responses

200

Keyword(s) successfully added.

400

Invalid request. Tag name and additional keywords are required.

401

A valid API key is required to access this resource.

404

Tag not found.

500

An unexpected error occured.

post /tag/keyword
https://wisetime.io/connect/api/tag/keyword

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tagName": "string",
  • "additionalKeywords":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Delete an existing keyword from a tag

Authorizations:
Request Body schema: application/json
tagName
string

The tag from which to delete the keywords.

keyword
string

The keyword to delete.

Responses

200

Tag successfully deleted.

400

Invalid request. Tag name and keyword are required.

401

A valid API key is required to access this resource.

404

Tag or keyword not found.

500

An unexpected error occured.

post /tag/keyword/delete
https://wisetime.io/connect/api/tag/keyword/delete

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tagName": "string",
  • "keyword": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Posted Time

Returns posted time for the team.

This is a long polling call (an alternative to using the webhook mechanism). The connection will be held open for a maximum of 60 seconds or until there is a new posted time event. When calling this method without first calling the /postedtime/registerfetchclient endpoint, recording posted time for fetching will implicitly be turned on.

Authorizations:
query Parameters
limit
integer

Maximum amount of posted time entries to retrieve. If not set, the API will return up to a maximum of 25 entries for each request.

Responses

200

List of posted time events.

400

Invalid request. Limit cannot be smaller than 1.

401

A valid API key is required to access this resource.

409

This team has a registered posted time webhook. Switching to use fetch client is required.

500

An unexpected error occured.

get /postedtime
https://wisetime.io/connect/api/postedtime

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Register the intent to fetch time from the /postedtime endpoint.

WiseTime will start recording posted time events that can be fetched via the /postedtime endpoint.

Authorizations:
Request Body schema: application/json

Responses

200

Fetch client successfully registered.

400

Invalid request. Callback URL is required.

401

A valid API key is required to access this resource.

409

This team already has a registered fetch client or webhook.

500

An unexpected error occured.

post /postedtime/registerfetchclient
https://wisetime.io/connect/api/postedtime/registerfetchclient

Request samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Delete existing fetch client, unsubscribing your application from posted time fetching.

WiseTime will stop recording posted time events for fetch when users post time to your team.

Authorizations:
Request Body schema: application/json

Responses

200

Fetch client successfully unregistered.

401

A valid API key is required to access this resource.

404

Fetch client not found.

409

This team has a registered posted time webhook. Switching to use fetch client is required.

500

An unexpected error occured.

post /postedtime/unregisterfetchclient
https://wisetime.io/connect/api/postedtime/unregisterfetchclient

Request samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Updates the status of a received time group. Providing its success or failure to be processed.

This is intended for use with the fetch mechanism only. Not to be used with webhooks. If this endpoint isn't called for a time group within a certain amount of time after fetching it the time group will be made available again for fetching.

Authorizations:
Request Body schema: application/json
timeGroupId
string

ID of the time group to be updated.

status
string
Enum: "SUCCESS" "FAILURE" "RETRIABLE_FAILURE"

This field describes the status of the posted time group. On SUCCESS the time group will be marked as successfully posted. On FAILURE the time group will be marked as failed and the attached message will displayed to the user. On RETRIABLE_FAILURE the time group will be marked as temporary failed and scheduled for retry. The attached message might be displayed to the user.

message
string

Reason for the failure, will be displayed to the user.

Responses

200

Status of the time group was updated successfully.

400

Invalid request.

401

A valid API key is required to access this resource.

404

The time group/fetch client id pair was not found.

409

This team has a registered posted time webhook. Switching to use fetch client is required.

500

An unexpected error occured.

post /postedtime/status
https://wisetime.io/connect/api/postedtime/status

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "timeGroupId": "string",
  • "status": "SUCCESS",
  • "message": "string"
}

Subscribe to be notified when a user posts time information to your team.

WiseTime will call your webhook with a payload of the posted time information. See the posted time webhook documentation for details. Each team is limited to one webhook callback.

Authorizations:
Request Body schema: application/json
callbackUrl
required
string

The webhook URL that WiseTime will call to notify you of user posted time.

callerKey
string

WiseTime will send this key back to you when it calls your webhook. That way you can authenticate that the request comes from WiseTime.

Responses

200

Webhook subscription successfully created.

400

Invalid request. Callback URL is required.

401

A valid API key is required to access this resource.

409

This team already has a registered webhook or fetch client.

500

An unexpected error occured.

post /postedtime/subscribe
https://wisetime.io/connect/api/postedtime/subscribe

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "callbackUrl": "string",
  • "callerKey": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "webhookId": "string"
}

Delete existing webhook by id, unsubscribing your application from posted time notifications.

WiseTime will stop calling your webhook when users post time to your team.

Authorizations:
Request Body schema: application/json
webhookId
string

The ID of the webhook to be deleted.

Responses

200

Webhook successfully deleted.

401

A valid API key is required to access this resource.

404

Webhook not found.

500

An unexpected error occured.

post /postedtime/unsubscribe
https://wisetime.io/connect/api/postedtime/unsubscribe

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "webhookId": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Connector Management

Retrieve configuration particulars to suppport the managed connector service.

Authorizations:
Request Body schema: application/json
environment
object

A dictionary of client runtime environment properties.

connectorType
string

The paired system type that the connector supplies activity data to.

connectorVersion
string

The connector version.

connectorLibraryVersion
string

The WiseTime connector library version that the connector is using.

clientTimestamp
number <int64>

The current system timestamp from epoch of the client environment.

clientTimeZoneOffset
string

The local time offset of the environment that the client is running within.

Responses

200

Managed config response.

401

A valid API key is required to access this resource.

500

An unexpected error occured.

post /team/managed/config
https://wisetime.io/connect/api/team/managed/config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "environment":
    {
    },
  • "connectorType": "string",
  • "connectorVersion": "string",
  • "connectorLibraryVersion": "string",
  • "clientTimestamp": 0,
  • "clientTimeZoneOffset": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "serviceId": "string",
  • "serviceKey": "string",
  • "serviceIdExpiry": "2019-10-25T08:33:27Z",
  • "serviceSessionToken": "string",
  • "groupName": "string",
  • "regionName": "string",
  • "connectorConfiguration":
    {
    }
}