API Documentation

API Endpoint

Users

Users

GET /api/v2/users
Requestsreturns usersreturns :unauthorized

GET  /api/v2/users

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "124",
      "type": "users",
      "attributes": {
        "updated_at": "2026-03-17T05:04:00.843+01:00",
        "email": "user124@email.com",
        "first_name": "name",
        "last_name": "surname",
        "time_zone": null,
        "avatar_url": null,
        "default_organization_id": 74,
        "default_organization_slug": "74-organization74",
        "intercom_hash": "9d3ffaeb7d89a80f892fcf2397f5597ed5ad4c50d0d89213ba62186fccbd915a",
        "flags": {},
        "newsletter_consent": false,
        "newsletter_consent_at": null,
        "ical_token": null,
        "preferences": null,
        "sysadmin": false,
        "sysadmin_permissions": [],
        "two_factor_auth": false,
        "sso_provision": false,
        "account_access_expires_at": null,
        "locale": "en_US"
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/users?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/users?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "page_size": 30,
    "max_page_size": 200
  }
}

GET  /api/v2/users?token=invalid

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses401
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "401",
      "code": "invalid_auth_token",
      "title": "Unauthenticated",
      "detail": "You are not authenticated",
      "meta": {},
      "source": {}
    }
  ]
}

Gets users
GET/api/v2/users


GET /api/v2/users/1
Requestsreturns userreturns :not_found

GET  /api/v2/users/126

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "126",
    "type": "users",
    "attributes": {
      "updated_at": "2026-03-17T05:04:01.057+01:00",
      "email": "user126@email.com",
      "first_name": "name",
      "last_name": "surname",
      "time_zone": null,
      "avatar_url": null,
      "default_organization_id": 76,
      "default_organization_slug": "76-organization76",
      "intercom_hash": "599b64241a91d6ca842df5a5fbc14e989ae2d98657eaa5770ff3434b83343e37",
      "flags": {},
      "newsletter_consent": false,
      "newsletter_consent_at": null,
      "ical_token": null,
      "preferences": null,
      "sysadmin": false,
      "sysadmin_permissions": [],
      "two_factor_auth": false,
      "sso_provision": false,
      "account_access_expires_at": null,
      "locale": "en_US"
    }
  },
  "meta": {}
}

GET  /api/v2/users/128

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses404
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "404",
      "code": "record_not_found",
      "title": "Record Not Found",
      "detail": "The requested record was not found",
      "meta": {},
      "source": {}
    }
  ]
}

Gets a user
GET/api/v2/users/{id}

URI Parameters
HideShow
id
number (required) Example: 1

user id


PATCH /api/v2/users/1
Requestsupdates userreturns error

PATCH  /api/v2/users/129

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "users",
    "attributes": {
      "default_organization_id": 2
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "129",
    "type": "users",
    "attributes": {
      "updated_at": "2026-03-17T05:04:01.286+01:00",
      "email": "user129@email.com",
      "first_name": "name",
      "last_name": "surname",
      "time_zone": null,
      "avatar_url": null,
      "default_organization_id": 78,
      "default_organization_slug": "78-organization78",
      "intercom_hash": "e159fd55abb4516cf754f8785f347b93929ce27d22c1dcbf4bc116df0dece5d3",
      "flags": {},
      "newsletter_consent": false,
      "newsletter_consent_at": null,
      "ical_token": null,
      "preferences": null,
      "sysadmin": false,
      "sysadmin_permissions": [],
      "two_factor_auth": false,
      "sso_provision": false,
      "account_access_expires_at": null,
      "locale": "en_US"
    }
  },
  "meta": {}
}

PATCH  /api/v2/users/130

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "users",
    "attributes": {
      "first_name": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/first_name"
      }
    }
  ]
}

Update a user
PATCH/api/v2/users/{id}

URI Parameters
HideShow
id
number (required) Example: 1

user id


PATCH /api/v2/users/1/update_password
Requestsupdates password

PATCH  /api/v2/users/131/update_password

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "users",
    "attributes": {
      "current_password": "password1234",
      "password": "newpassword1234"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "131",
    "type": "users",
    "attributes": {
      "updated_at": "2026-03-17T05:04:01.612+01:00",
      "email": "user131@email.com",
      "first_name": "name",
      "last_name": "surname",
      "time_zone": null,
      "avatar_url": null,
      "default_organization_id": 80,
      "default_organization_slug": "80-organization80",
      "intercom_hash": "226382fe8e6203fbf9420915d2d5c98042a7a1edd5d0e3152ad20a79fd4f216e",
      "flags": {},
      "newsletter_consent": false,
      "newsletter_consent_at": null,
      "ical_token": null,
      "preferences": null,
      "sysadmin": false,
      "sysadmin_permissions": [],
      "two_factor_auth": false,
      "sso_provision": false,
      "account_access_expires_at": null,
      "locale": "en_US"
    }
  },
  "meta": {}
}

Update password for a user
PATCH/api/v2/users/{id}/update_password

URI Parameters
HideShow
id
number (required) Example: 1

user id


Generated by aglio on 17 Mar 2026