API Documentation

API Endpoint

Custom Fields

Custom Fields

Custom fields allow you to use unique categorizations that are not available in Productive’s default settings, allowing you to organize data based on your specific criteria and use it throughout the app.

For more details on how to work with custom fields please refer to Working with custom fields guide.

Aggregation type

The aggregation_type_id attribute can have one of the following integer values:

  • 1 (sum)

  • 2 (avg)

Customizable type

The customizable_type attribute can have one of the following string values:

  • deals

  • projects

  • companies

  • budgets

  • invoices

  • tasks

  • project

  • bookings

  • project_expenses

  • services

  • employees

  • contacts

  • pages

Data type

The data_type_id attribute can have one of the following integer values:

  • 1 (Text field)

  • 2 (Number field)

  • 3 (Select field)

  • 4 (Date field)

  • 5 (Multiple select field)

  • 6 (Person field)

  • 7 (Attachment field)

Formatting type

The formatting_type_id attribute can have one of the following integer values:

  • 1 (decimal)

  • 2 (percentage)

Supported filter params

  • name

  • project_id

  • customizable_type

  • archived (‘true’ or ‘false’)

  • global (‘true’ or ‘false’)

GET /api/v2/custom_fields
Requestsreturns custom fields without people fields

GET  /api/v2/custom_fields

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": "9",
      "type": "custom_fields",
      "attributes": {
        "created_at": "2025-07-21T06:04:43.867+02:00",
        "updated_at": "2025-07-21T06:04:43.867+02:00",
        "name": "Custom field no.9",
        "data_type_id": 1,
        "required": false,
        "description": null,
        "archived_at": null,
        "aggregation_type_id": null,
        "formatting_type_id": null,
        "global": null,
        "show_in_add_edit_views": true,
        "sensitive": false,
        "position": 1,
        "quick_add_enabled": false,
        "customizable_type": "employees"
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "281"
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        },
        "section": {
          "meta": {
            "included": false
          }
        },
        "survey": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "options": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "10",
      "type": "custom_fields",
      "attributes": {
        "created_at": "2025-07-21T06:04:43.871+02:00",
        "updated_at": "2025-07-21T06:04:43.871+02:00",
        "name": "Custom field no.10",
        "data_type_id": 1,
        "required": false,
        "description": null,
        "archived_at": null,
        "aggregation_type_id": null,
        "formatting_type_id": null,
        "global": null,
        "show_in_add_edit_views": true,
        "sensitive": false,
        "position": 1,
        "quick_add_enabled": false,
        "customizable_type": "contacts"
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "281"
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        },
        "section": {
          "meta": {
            "included": false
          }
        },
        "survey": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "options": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "11",
      "type": "custom_fields",
      "attributes": {
        "created_at": "2025-07-21T06:04:43.876+02:00",
        "updated_at": "2025-07-21T06:04:43.876+02:00",
        "name": "Custom field no.11",
        "data_type_id": 1,
        "required": false,
        "description": null,
        "archived_at": null,
        "aggregation_type_id": null,
        "formatting_type_id": null,
        "global": null,
        "show_in_add_edit_views": true,
        "sensitive": false,
        "position": 1,
        "quick_add_enabled": false,
        "customizable_type": "invoices"
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "281"
          }
        },
        "project": {
          "meta": {
            "included": false
          }
        },
        "section": {
          "meta": {
            "included": false
          }
        },
        "survey": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "options": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/custom_fields?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/custom_fields?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 3,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get custom fields
GET/api/v2/custom_fields


GET /api/v2/custom_fields/1
Requestsreturns custom field

GET  /api/v2/custom_fields/13

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": "13",
    "type": "custom_fields",
    "attributes": {
      "created_at": "2025-07-21T06:04:44.045+02:00",
      "updated_at": "2025-07-21T06:04:44.045+02:00",
      "name": "Custom field no.13",
      "data_type_id": 1,
      "required": false,
      "description": null,
      "archived_at": null,
      "aggregation_type_id": null,
      "formatting_type_id": null,
      "global": null,
      "show_in_add_edit_views": true,
      "sensitive": false,
      "position": 1,
      "quick_add_enabled": false,
      "customizable_type": "deals"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "282"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "section": {
        "meta": {
          "included": false
        }
      },
      "survey": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "options": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a custom field
GET/api/v2/custom_fields/{id}

URI Parameters
HideShow
id
number (required) Example: 1

custom field id


POST /api/v2/custom_fields
Requestscreates custom fieldreturns error

POST  /api/v2/custom_fields

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": "custom_fields",
    "attributes": {
      "name": "Priority",
      "data_type_id": 1,
      "customizable_type": "deals"
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "14",
    "type": "custom_fields",
    "attributes": {
      "created_at": "2025-07-21T06:04:44.102+02:00",
      "updated_at": "2025-07-21T06:04:44.102+02:00",
      "name": "Priority",
      "data_type_id": 1,
      "required": false,
      "description": null,
      "archived_at": null,
      "aggregation_type_id": null,
      "formatting_type_id": null,
      "global": true,
      "show_in_add_edit_views": true,
      "sensitive": false,
      "position": 1,
      "quick_add_enabled": false,
      "customizable_type": "deals"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "283"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "section": {
        "meta": {
          "included": false
        }
      },
      "survey": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "options": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/custom_fields

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": "custom_fields",
    "attributes": {
      "data_type_id": 1,
      "customizable_type": "deals"
    }
  }
}
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",
      "source": {
        "pointer": "data/attributes/name"
      }
    }
  ]
}

Creates a custom field
POST/api/v2/custom_fields

URI Parameters
HideShow
id
number (required) Example: 1

custom field id


PATCH /api/v2/custom_fields/1
Requestsupdates custom field

PATCH  /api/v2/custom_fields/15

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": "custom_fields",
    "attributes": {
      "name": "Team"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "15",
    "type": "custom_fields",
    "attributes": {
      "created_at": "2025-07-21T06:04:44.178+02:00",
      "updated_at": "2025-07-21T06:04:44.189+02:00",
      "name": "Team",
      "data_type_id": 1,
      "required": false,
      "description": null,
      "archived_at": null,
      "aggregation_type_id": null,
      "formatting_type_id": null,
      "global": true,
      "show_in_add_edit_views": true,
      "sensitive": false,
      "position": 1,
      "quick_add_enabled": false,
      "customizable_type": "deals"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "285"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "section": {
        "meta": {
          "included": false
        }
      },
      "survey": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "options": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Updates a custom field
PATCH/api/v2/custom_fields/{id}

URI Parameters
HideShow
id
number (required) Example: 1

custom field id


PATCH /api/v2/custom_fields/1/archive
Requestsarchives custom field

PATCH  /api/v2/custom_fields/16/archive

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": "16",
    "type": "custom_fields",
    "attributes": {
      "created_at": "2025-07-21T06:04:44.222+02:00",
      "updated_at": "2025-07-21T06:04:44.248+02:00",
      "name": "Custom field no.15",
      "data_type_id": 3,
      "required": false,
      "description": null,
      "archived_at": "2025-07-21T06:04:44.000+02:00",
      "aggregation_type_id": null,
      "formatting_type_id": null,
      "global": null,
      "show_in_add_edit_views": true,
      "sensitive": false,
      "position": 1,
      "quick_add_enabled": false,
      "customizable_type": "deals"
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "286"
        }
      },
      "project": {
        "meta": {
          "included": false
        }
      },
      "section": {
        "meta": {
          "included": false
        }
      },
      "survey": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "options": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Archives a custom field
PATCH/api/v2/custom_fields/{id}/archive

URI Parameters
HideShow
id
number (required) Example: 1

custom field id


Generated by aglio on 21 Jul 2025