Nifty API
  • Authentication
  • OAuth 2.1
  • v1.0 API
  • API tokens
Information
Apps
    Get AppsgetGet Appget
Authentication
    Generate TokenpostAuthorize (browser entry point)get
Chats
    Get ChatsgetGet Chatget
Documents
    Get DocumentsgetCreate documentpostGet Personal DocumentsgetCreate Personal DocumentpostGet DocumentgetUpdate DocumentputRemove DocumentdeleteMove DocumentputUpdate Document MemberputRemove Document MemberdeleteUpdate DocumentpostUpdate Document LabelsputRemove Document Labelsdelete
Custom Fields
    Get Custom fieldsgetGet Custom fieldget
Files
    Get FilesgetUpload FilespostGet FilegetUpdate FileputRemove FiledeleteCopy FilepostAdd File LabelsputRemove File Labelsdelete
Folders
    Get Folder ChildrengetAdd FolderpostGet Folderget/api/v2.0/folders/{folderId}putRemove FolderdeleteGet Folder Conntentsget
Invite
    Get Inviteeget
Tags
    Get TagsgetCreate TagpostGet TaggetUpdate TagputRemove Tagdelete
Members
    Get Members DetailsgetGet Member Detailsget
Messages
    Get MessagesgetCreate MessagepostGet MessagegetUpdate MessageputRemove MessagedeleteMark Message seenpostMark Message heardpost
Milestones & Lists
    Get MilestonesgetCreate MilestonepostGet MilestonegetUpdate MilestoneputRemove MilestonedeleteMove MilestoneputTie Task To MilestoneputRemove Milestone TaskdeleteArchive Milestonepost
Projects
    Get ProjectsgetCreate ProjectpostGet ProjectgetUpdate ProjectputRemove ProjectdeleteInvite Team Member for projectpostLeave ProjectpostStart ProjectpostGet Project Custom FieldsgetAdd Project Custom FieldspostUpdate Project Custom Fieldsput
Portfolios
    Get PortfoliosgetCreate PortfoliopostGet PortfoliogetUpdate PortfolioputRemove PortfoliodeleteUpdate Portfolio MemberputRemove Portfolio MemberdeleteLeave Portfoliopost
Tasks
    Get TasksgetCreate TaskpostRemove TaskdeleteGet Personal TasksgetCreate Personal TaskpostGet TaskgetUpdate TaskputRemove TaskdeleteUpdate Task MilestoneputComplete TaskpostArchive TaskpostMove TaskpostAssign TaskputRemove AssigneedeleteAdd LabelsputRemove LabelsdeleteGet FieldsgetAdd FieldspostUpdate FieldsputAdd DocumentputClone TaskpostMove Taskpost
Status
    Get StatusesgetCreate StatuspostGet StatusgetUpdate StatusputRemove StatusdeleteMove TaskspostAssign Status MembersputRemove Status Memberdelete
Templates
    Get Templatesget
Time Tracking
    Get Tracked Time ReportgetGet Tracked Time Durationget
Users
    Get User Detailsget
Webhook
    Get WebhooksgetCreate WebhookpostUpdate WebhookputRemove Webhookdelete
Other endpoints
    /get
Schemas
powered by Zudoku
Nifty API v1.0
Nifty API v1.0

Authentication


Generate Token

POST
https://openapi.niftypm.com
/oauth/token

Exchange OAuth app credentials for a bearer token pair (access_token + refresh_token) — returns both in one call.

grant_type: "authorization_code" — first-time exchange, right after the user approves your app. Requires code (from the authorization redirect) and redirect_uri (must match the one used to obtain that code).

grant_type: "refresh_token" — mint a fresh token pair once the access token nears expiry, without asking the user to re-approve. Requires refresh_token (from a prior call to this endpoint).

Both grant types also require client_id and client_secret, sent either as the request body fields or as HTTP Basic auth (Authorization: Basic base64(client_id:client_secret)).

The resulting access_token authenticates like any bearer token — Authorization: Bearer <access_token> — on both the v1.0 and v3.0 APIs.

Generate Token › Headers

authorization
​string

The string Basic with your Client ID and Client Secret separated with colon (:), Base64-encoded. For example, Client_ID:Client_Secret Base64-encoded is Q2xpZW50X0lEOkNsaWVudF9TZWNyZXQ=.

Generate Token › Request Body

GenerateRefreshToken
code
​string · required

Code will be come from the authorize url call back redirect url.

Example: Pk6DnFY4q9Z1X7aOQATV5z4bxg1rjwH4
refresh_token
​string · required

Refresh Token

grant_type
​string · enum · required

grant_type

Enum values:
authorization_code
refresh_token
redirect_uri
​string · required

Redirect URI

Generate Token › Responses

The refresh and access token pair.

TokenResponse
access_token
​string · required

Access Token

token_type
​string · required

Token Type

refresh_token
​string · required

Refresh token

expires_in
​number · required

Expires in seconds

scope
​string · enum · required

Scope

Enum values:
file
label
doc
milestone
message
subtask
project
task_group
POST/oauth/token
curl https://openapi.niftypm.com/oauth/token \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "code": "Pk6DnFY4q9Z1X7aOQATV5z4bxg1rjwH4", "refresh_token": "refresh_token", "grant_type": "authorization_code", "redirect_uri": "redirect_uri" }'
Example Request Body
{ "code": "Pk6DnFY4q9Z1X7aOQATV5z4bxg1rjwH4", "refresh_token": "refresh_token", "grant_type": "authorization_code", "redirect_uri": "redirect_uri" }
json
Example Responses
{ "access_token": "access_token", "token_type": "token_type", "refresh_token": "refresh_token", "expires_in": 0, "scope": "file" }
json
application/json

Authorize (browser entry point)

GET
https://openapi.niftypm.com
/oauth/authorize

The OAuth 2.1 authorization endpoint (RFC 8414 authorization_endpoint). Redirect the end user's browser here to start the interactive consent flow — this is not an endpoint your application code calls directly. Returns a 302 to the Nifty consent screen; after the user approves or denies, they land back on your redirect_uri with either a code or an error query parameter.

Authorize (browser entry point) › Responses

200
No data returned
GET/oauth/authorize
curl https://openapi.niftypm.com/oauth/authorize
Example Responses
No example specified for this content type

AppsChats