openapi: 3.2.0 info: title: Platform REST Users API version: Evergreen servers: - url: https://prod.apigateway.co/platform description: Production - description: Demo url: https://demo.apigateway.co/platform - description: Local url: '{local}/platform' - url: http://localhost:11001/platform description: Localhost tags: - name: Users paths: /users: post: summary: Create User operationId: post-users responses: '201': description: Created content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' links: type: object properties: self: type: string format: uri description: The address of the newly created user headers: Location: schema: type: string format: uri description: The address of the newly created user requestBody: content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' examples: Example 1: value: data: type: users attributes: givenName: William familyName: Smith greetingName: Billy email: bill@example.com languageLocaleCode: en-US phoneNumbersSet: true phoneNumbers: - number: +1-306-555-1234 ext. 56 typeCode: mobile address: line1: 109 8th Street E. line2: Suite 23 streetAddress: 109 8th Street E. additionalAddress: Suite 23 city: Saskatoon postalCode: S7M 1R3 regionCode: CA-SK countryCode: CA timeZone: America/Regina relationships: partner: data: type: partners id: ABC businessLocations: data: - type: businessLocations id: AG-1234567 platformAccess: data: - type: appFeatures id: pc:access x-lifecycle: status: trustedTester description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Used to record basic data for a new location. The following members must be populated during creation: - `relationships.partner.data.id` - `attributes.email`' parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true - schema: type: string default: application/vnd.api+json enum: - application/vnd.api+json in: header name: Content-Type required: true description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json` security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin tags: - Users options: operationId: options-users summary: List valid HTTP verbs for /users description: 'Used solely for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user''s security. You should not call this operation directly. ' responses: '204': description: No Content tags: - Users get: summary: List Users operationId: get-users responses: '200': description: OK content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/users' links: type: object properties: self: type: string format: uri first: type: string description: Provides a link back to the first page of results format: uri next: type: string description: The URI at which the next batch of users can be gotten from format: uri description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Produces a list of users' parameters: - schema: type: string in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true - schema: type: string in: query name: filter[partner.id] description: Return users for the specified partner. Required except when filtering by id. - schema: type: string in: query description: The cursor stores all your filters and current location in the list to allow paging over the results in smaller batches. The value will be provided in the response links. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging). name: page[cursor] - schema: type: integer minimum: 1 maximum: 100 default: 10 in: query description: The maximum number of users you would like returned in a single batch. Use the links.next member in the response to get the remainder. [Pagination Docs](https://developers.vendasta.com/platform/ZG9jOjEwMTkzMDg0-overview#paging). name: page[limit] - schema: type: array example: - U-12342,U-5345 items: type: string in: query name: filter[id] description: A comma separated list of user ids to fetch in a batch - schema: type: string in: query name: filter[searchTerm] description: A string containing a partial name or email address. The results order is not affected by the quality of this match. - schema: type: string in: query name: filter[email] description: A string containing a complete email that must be an exact match. - schema: type: array items: type: string enum: - business - partner - bot in: query name: filter[category] description: 'Filter the users based on the broad category that they fall into. In some rare cases users may be part of multiple categories. ' security: - OAuth2Demo: - user.admin - user.list - OAuth2Prod: - user.admin - user.list tags: - Users x-lifecycle: status: trustedTester /users/{id}: parameters: - schema: type: string name: id in: path required: true get: summary: Get User tags: - Users responses: '200': description: OK content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' links: type: object properties: self: type: string operationId: get-users-id x-lifecycle: status: trustedTester description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Returns information about a single user. The fields you are able to use will be affected by the combination of scopes that you were granted access to.' parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true security: - OAuth2Demo: - user.admin - user.profile:read - user.contact:read - user.permission:read - user.permission - self.user.admin - self.user.contact:read - openid - profile - email - phone - address - OAuth2Prod: - user.admin - user.profile:read - user.contact:read - user.permission:read - user.permission - self.user.admin - self.user.contact:read - openid - profile - email - phone - address options: operationId: options-users-id summary: List valid HTTP verbs for /users/{id} description: 'Used solely for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user''s security. You should not call this operation directly. ' responses: '204': description: No Content tags: - Users patch: summary: Update User operationId: patch-users-id tags: - Users description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Proposed` Update the existing user. Only the root ID and type fields are required. All others are optional and will keep their original value if omitted.' x-lifecycle: status: proposed parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true - schema: type: string default: application/vnd.api+json enum: - application/vnd.api+json in: header name: Content-Type required: true description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json` security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin responses: '200': description: Ok content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' links: type: object properties: self: type: string format: uri description: The address of the updated user headers: {} requestBody: content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' examples: Example 1: value: data: type: users id: U-3ca38c57-7677-45d4-81e8-cd29eab91d63 attributes: givenName: William familyName: Smith greetingName: Billy email: bill@example.com languageLocaleCode: en-US phoneNumbersSet: true phoneNumbers: - number: +1-306-555-1234 ext. 56 typeCode: mobile address: line1: 109 8th Street E. line2: Suite 23 streetAddress: 109 8th Street E. additionalAddress: Suite 23 city: Saskatoon postalCode: S7M 1R3 regionCode: CA-SK countryCode: CA timeZone: America/Regina relationships: partner: data: type: partners id: ABC businessLocations: data: - type: businessLocations id: AG-1234567 platformAccess: data: - type: appFeatures id: pc:access delete: summary: Delete User operationId: delete-users-id responses: '204': description: No Content description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Deleting a user will remove personal data from it and prevent the ID from being used again in the future.' security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin tags: - Users parameters: - schema: type: string in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true x-lifecycle: status: trustedTester /users/{id}/relationships/businessLocations: parameters: - schema: type: string name: id in: path required: true options: operationId: options-users-id-relationships-businessLocations summary: List valid HTTP verbs for /users/{id}/relationships/businessLocations description: 'Used solely for [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) the OPTIONS request returns the list of possible HTTP methods and other headers that browsers use to protect user''s security. You should not call this operation directly. ' responses: '204': description: No Content tags: - Users post: summary: Associate user with location operationId: post-users-id-relationships-businessLocations requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: array description: A list of business locations to be added items: type: object properties: id: type: string example: AG-1234567 description: The ID of a business location to grant access to type: type: string description: This should always be `businessLocations` default: businessLocations example: businessLocations required: - id - type required: - data responses: '201': description: Created content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' links: type: object properties: self: type: string x-lifecycle: status: trustedTester description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Users can be granted access to business location(s) using the POST operation. After the operation completes, the user will have access to all their previous business locations plus any new locations in the POST request. If the user already has access to one or more of the specified locations they will be silently ignored.' parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true - schema: type: string default: application/vnd.api+json enum: - application/vnd.api+json in: header name: Content-Type required: true description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json` security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin tags: - Users get: summary: Get user locations operationId: get-users-id-relationships-businessLocations responses: '200': description: OK content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' links: type: object properties: self: type: string x-lifecycle: status: trustedTester description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Retrieves the business locations to which the User is associated.' parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin tags: - Users patch: summary: Replace user location access operationId: patch-users-id-relationships-businessLocations requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: array description: A list of business locations to be updated items: type: object properties: id: type: string example: AG-1234567 description: The ID of a business location to grant access to type: type: string description: This should always be `businessLocations` default: businessLocations example: businessLocations required: - id - type required: - data responses: '200': description: OK content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/users' links: type: object properties: self: type: string x-lifecycle: status: trustedTester description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Users can be granted access to business location(s) or removed from access to business location(s) using the PATCH operation. After the operation completes, the user will have access only to those business locations specified in the request body (if any).' parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true - schema: type: string default: application/vnd.api+json enum: - application/vnd.api+json in: header name: Content-Type required: true description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json` security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin tags: - Users delete: summary: Dissociate user from location operationId: delete-users-id-relationships-businessLocations requestBody: content: application/vnd.api+json: schema: type: object properties: data: type: array description: A list of business locations to be removed items: type: object properties: id: type: string example: AG-1234567 description: The ID of a business location to remove access type: type: string description: This should always be `businessLocations` default: businessLocations example: businessLocations required: - id - type required: - data responses: '204': description: No Content x-lifecycle: status: trustedTester description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Access to business locations can be removed from a user with the DELETE operation. If the user does not already have access to one or more of the specified locations, they will be silently ignored.' parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true - schema: type: string default: application/vnd.api+json enum: - application/vnd.api+json in: header name: Content-Type required: true description: Indicates the format of the request body being sent. In most cases you will want `application/vnd.api+json` security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin tags: - Users /users/{id}/customFields: parameters: - schema: type: string name: id in: path required: true get: summary: Get Custom Fields responses: '200': description: OK content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/userCustomFields' links: type: object properties: self: type: string format: uri examples: Return Example: value: data: id: U-12345678-abcd-1234-abcd-123456789ab1 type: userCustomFields attributes: partnerFields: - fieldId: FieldID-123448ca-abc0-abc5-abc2-abc640bf4b99 integerValue: 1000 title: Title of 123448ca field description: Description for 123448ca field fieldType: integer - fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99 dateValue: A good date value title: Title of 987448ca field description: Description for 987448ca field fieldType: date - fieldId: FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99 stringValue: A good string value title: Title of abc448ca field description: Description for abc448ca field fieldType: string operationId: get-userCustomFields-by-userid description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` This endpoint acts like a alias to [Get User Custom Fields by ID endpoint](b3A6MzczMDUyMjU-get-custom-fields-by-id). It returns custom fields for a user.' security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin x-lifecycle: status: trustedTester tags: - Users parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true /users/{id}/actions/sendWelcomeEmail: parameters: - schema: type: string name: id in: path required: true get: summary: Send Welcome Email operationId: get-sendWelcomeEmail-by-userid description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` An email will be sent to the already created user whose user id is passed in the request.' security: - OAuth2Demo: - user.admin - OAuth2Prod: - user.admin x-lifecycle: status: trustedTester tags: - Users parameters: - schema: type: string example: Bearer pattern: ^Bearer\s\S+ in: header name: Authorization description: A Bearer access token to identify the user the app is acting on behalf of. See the Authorization guide for details. required: true responses: '202': description: Accepted components: schemas: users: title: Users type: object x-lifecycle: status: proposed description: "[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Proposed`\n\t\nA “user” is a person or bot that could potentially interact with the platform. If they have not been granted access to any features they will not be able to do anything after logging in.\n\nA person who is the customer of multiple businesses may have multiple separate user records within the platform so it is important to always include an organization filter when searching by email or name. \n\nTo learn more and view sample requests visit the [user management guide](../../../../../docs/Guides/Users.md)" x-tags: - Users properties: type: type: string default: users enum: - users id: type: string description: 'The id will be assigned by the server and must be included on all update requests. Values sent during creation will be ignored. It is globally unique across all platform instances and will not change. You may use the special id `me` to operate on the current user if you have the scope `openid`.' example: U-3ca38c57-7677-45d4-81e8-cd29eab91d63 attributes: type: - object - 'null' properties: displayName: type: string example: Bill Smith description: The user’s name formatted for display. This will always have a value. readOnly: true givenName: type: string description: Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters. minLength: 0 maxLength: 50 example: William familyName: type: string description: Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters. minLength: 0 maxLength: 50 example: Smith greetingName: type: string description: The name to use at the opening of messages addressed to the user. Note that in some cultures this is an alternate spelling or shortened form of the first name. Defaults to givenName. minLength: 0 maxLength: 50 example: Billy email: type: string format: email example: bill@example.com minLength: 5 description: 'The primary email address for the user. This is required when creating a user.' emailVerified: type: boolean default: false description: 'True if the End-User''s e-mail address has been verified; otherwise false. When true affirmative steps to ensure that this e-mail address was controlled by the End-User at the time the verification was performed. ' readOnly: true emailSet: type: boolean description: Indicates there is an email address available that can have messages sent to it using the notifications system. readOnly: true languageLocaleCode: type: string pattern: ^[a-z]{2}(-[A-Z]{2})?$ example: en-US description: 'The local language that content should be displayed to this user in. Note: We currently have a limited set of allowed languages but expect to support many more in the future. When the requested language is not supported US English will be used. It should be a single BCP47/RFC5646 language tag. This is an [ISO 639-1 Alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code in lowercase and an [ISO 3166-1 Alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) country code in uppercase, separated by a dash. Examples: - `en-US` English (US) - `fr-FR` French (France) - `cs-CZ` Czech (Czech Republic) - `de-DE` German (Germany) - `nl-BE` Dutch (Belgium) - `it` Italian' phoneNumbersSet: type: boolean phoneNumbers: type: array minItems: 0 description: "A list of phone numbers for the user. \n\nNote: Do not send a phone number object or \n type if the user does not have a phone number." items: type: object properties: number: type: string description: 'The standard phone numbers for the location. Formatting characters may be included. **Extensions** It is recommended that extensions are included at the end of the number after an appropriate separator: Pause: `,` Wait: `;` Default: `ext.` You may test the parsibility of a number using https://phonenumbers.temba.io/ All partial phone numbers are assumed to be in the same country as this user''s address.' example: +1-306-555-1234 ext. 56 typeCode: type: string description: 'A classification of what the number should be used for. The mobile number should be preferred when sending SMS messages to the user however they may also be sent to work or home numbers.' enum: - mobile - work - home - fax - pager required: - number - typeCode address: type: object description: The primary address where this user can be reached. properties: line1: type: string example: 109 8th Street E. description: The primary information. Typically a street address. line2: type: string example: Suite 23 description: An additional line of information to add after the street address. streetAddress: type: string example: 109 8th Street E. deprecated: true description: Deprecated - This field has been renamed line1 x-lifecycle: status: deprecated deprecated: '2021-10-04' proposedRemoval: '2021-11-04' description: This field was renamed to line1 while at the trusted tester phase. It will be removed shortly. additionalAddress: type: string example: Suite 23 deprecated: true description: Deprecated - This field has been renamed line2. An additional line of information to add after the street address. x-lifecycle: status: deprecated deprecated: '2021-10-04' proposedRemoval: '2021-11-04' description: This field was renamed to line2 while at the trusted tester phase. It will be removed shortly. city: type: string description: The city, town or locality component of an address. example: Saskatoon postalCode: type: string description: The zip code or postal code component of an address. example: S7M 1R3 regionCode: type: string description: 'The code for the top level subdivision within the country (state/province). For more info see the [Addresses guide](https://developers.vendasta.com/platform/1ljuzmi2uboim-addresses) Examples: CA-SK, US-FL, AG-08, AU-NSW' example: CA-SK maxLength: 6 minLength: 4 pattern: ^[A-Z]{2}-[\w]{1,3}$ countryCode: type: string maxLength: 2 minLength: 2 example: CA description: 'The two letter country code. For more info see the [Addresses guide](https://developers.vendasta.com/platform/1ljuzmi2uboim-addresses) Examples: CA, US, AU' pattern: ^[A-Z]{2}$ profileImage: type: string format: uri description: A photo that can be used to represent this user. If the user does not have a custom image set a default image will be returned. example: https://storage.googleapis.com/wordpress-www-vendasta/vw-wordpress/Brendan-King-1.jpg readOnly: true timeZone: type: string description: 'The User''s time zone in the IANA [time zone database format](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Example: `America/Los_Angeles`' example: America/Regina createdAt: type: string format: date-time description: The time at which the user was initially created in the platform. readOnly: true updatedAt: type: string format: date-time description: 'The time at which the user’s profile was last updated. Note: Changes to permissions will not affect this field.' readOnly: true relationships: type: object properties: partner: type: object description: A link to the organization that provides the platform to this user. properties: data: type: object required: - type - id properties: type: type: string default: partners enum: - partners id: type: string example: ABC required: - data businessLocations: type: object description: 'The business locations that this user is a member of. When a new location is added to a user they will be granted the default business user permissions. Fine grained permissions currently must be managed in Partner Center''s UI. We are gathering interest to determine how it should work by API so please send us your use cases.' properties: data: type: array items: type: object additionalProperties: false properties: type: type: string default: businessLocations example: businessLocations enum: - businessLocations id: type: string example: AG-1234567 description: The ID of a previously created business location record. required: - type - id platformAccess: type: object description: '`Proposed` The platform access functionality is still at a `proposed` status. Not all options are currently available. Use this field to grant access to platform level features to your employees and contractors.' properties: data: type: array items: type: object properties: type: type: string default: appFeatures example: appFeatures id: type: string enum: - pc:access - pc:canCustomizeWhitelabel - pc:canAccessBilling - pc:canManageSales - pc:canManageAccounts - pc:canManageTasks - pc:canAccessBrands - pc:canAccessMarketing - pc:canAccessDashboard - pc:canAccessOrders - pc:canManageAdmins - pc:canAccessMarketplace - pc:canEnableApps - pc:canAccessCompanyProfile - pc:canAccessAutomations - ssc:access - ssc:manage - tm:access - tm:manage - crm:contacts:write:own - crm:contacts:write:ownunowned - crm:contacts:write:all - crm:contacts:manage - crm:companies:write:own - crm:companies:write:ownunowned - crm:companies:write:all - crm:companies:manage - crm:custom_objects:write:own - crm:custom_objects:write:ownunowned - crm:custom_objects:write:all - crm:custom_objects:manage description: 'The platform access functionality is still at a `proposed` status. Not all options are currently available. ' required: - type - id userCustomFields: title: User Custom Fields type: object x-lifecycle: status: trustedTester description: '[Status](https://developers.vendasta.com/platform/ZG9jOjEwMTU2NTYy-versioning): `Trusted Tester` Custom fields associated with a user. The field definitions can be managed at Partner Center -> Administration -> Custom Fields. One form of identifier should be chosen, either `fieldId` or `externalId`. `fieldId` is the computer generated ID (like `FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99`) and `externalId` is a optional human-readable ID that can be set in the administration panel. Dropdown possible value and the currency code are also configured in the Administration panel.' x-examples: Custom Fields with string value Example: data: id: U-12345678-abcd-1234-abcd-123456789abc type: userCustomFields partnerFields: - fieldId: FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99 stringValue: A good string value title: Title of abc448ca field description: Description for abc448ca field fieldType: string Custom Fields with integer value Example: data: id: U-12345678-abcd-1234-abcd-123456789abd type: userCustomFields partnerFields: - fieldId: FieldID-123448ca-abc0-abc5-abc2-abc640bf4b99 integerValue: 1000 title: Title of 123448ca field description: Description for 123448ca field fieldType: integer Custom Fields with Date value Example: data: id: U-12345678-abcd-1234-abcd-123456789abe type: userCustomFields partnerFields: - fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99 dateValue: '2016-01-02T15:04:05Z' title: Title of 987448ca field description: Description for 987448ca field fieldType: date Custom Fields Full: data: id: U-12345678-abcd-1234-abcd-123456789abf type: userCustomFields partnerFields: - fieldId: FieldID-abc448ca-abc0-abc5-abc2-abc640bf4b99 stringValue: A good string value title: Title of abc448ca field description: Description for abc448ca field fieldType: string - fieldId: FieldID-123448ca-abc0-abc5-abc2-abc640bf4b99 integerValue: 1000 title: Title of 123448ca field description: Description for 123448ca field fieldType: integer - fieldId: FieldID-987448ca-abc0-abc5-abc2-abc640bf4b99 dateValue: '2022-01-02T15:04:05Z' title: Title of 987448ca field description: Description for 987448ca field fieldType: date - fieldId: FieldID-987448f2-abc0-abc5-abc2-abc640bf4b00 dropdownValue: red title: Title of 987448f2 field description: Description for 987448f2 field fieldType: dropdown - fieldId: FieldID-98744854-abc0-abc5-abc2-abc640bf4b01 currencyValue: 10000 title: Title of 98744854 field description: Description for 98744854 field fieldType: currency currencyCode: CAD Custom Fields with Dropdown Example: data: id: U-12345678-abcd-1234-abcd-123456789abc type: userCustomFields partnerFields: - fieldId: FieldID-987448f2-abc0-abc5-abc2-abc640bf4b00 dropdownValue: red title: Title of 987448f2 field description: Description for 987448f2 field fieldType: dropdown Custom Fields with Currency Example: data: id: U-12345678-abcd-1234-abcd-123456789abc type: userCustomFields partnerFields: - fieldId: FieldID-98744854-abc0-abc5-abc2-abc640bf4b01 currencyValue: 10000 title: Title of 98744854 field description: Description for 98744854 field fieldType: currency currencyCode: CAD x-tags: - User Custom Fields properties: id: type: string example: U-12345678-abcd-1234-abcd-123456789abc description: An identifier for the parent entity, in this case user readOnly: true type: type: string default: userCustomFields enum: - userCustomFields description: Should always be userCustomFields partnerFields: type: array description: 'List of custom fields specific to the partner with a direct relationship to the user/contact. To send a new value each field must have at least the fieldId and its correspondent value. For example a field of type string must have the stringValue attribute filled. string -> stringValue integer -> integerValue date -> dateValue Only the fields that you wish to modify need to be sent.' items: type: object properties: fieldId: type: string description: Field identifier, can be retrieved by listing the attributes externalId: type: string description: Alternative field identifier, can be set on admin panel and can be retrieved by listing the attributes fieldType: type: string example: string enum: - string - integer - date - dropdown - currency description: 'Indicates which of the value fields to use to read or write the data. It can only be modified from within partner center. string -> stringValue integer -> integerValue date -> dateValue dropdown -> dropdownValue currency -> currencyValue' readOnly: true stringValue: type: string description: Required when the field type is `string` integerValue: type: integer description: Required when the field type is `integer` dateValue: type: string description: Required when the field type is `date` format: date dropdownValue: type: string description: Required when type is `dropdown`. The possible values can be discovered using the administration panel. currencyValue: type: integer description: 'Required when the field type is `currency`. This field represents the cents (or the smallest part of the currency). Example: USD 600.00 -> currencyValue=60000' currencyCode: type: string minLength: 3 maxLength: 3 description: 'Represents the type of currency when the field is type `currency`. It will be the 3 letter currency code as defined by [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) Ex: USD, CAD, AUD' example: USD readOnly: true title: type: string description: The main label for the field, appearing in most user interfaces that show the value. This field is not read when setting a value. readOnly: true description: type: string description: A longer text explanation of the field, it optionally appears in the UI. This field is not read when setting a value. readOnly: true required: - id - type securitySchemes: JWT: type: http scheme: bearer bearerFormat: JWT OAuth2Demo: type: oauth2 flows: authorizationCode: authorizationUrl: https://sso-api-demo.apigateway.co/oauth2/auth tokenUrl: https://sso-api-demo.apigateway.co/oauth2/token scopes: sales.contact: Read-write access to sales contact details business:read: Read only access to business details business: Read-write access to business details partner:read: Read-write access to details about your partner financial: Read-write access to financial details order: Read-write access to order details order:read: Read only access to order details user.profile:read: Read access to the profile fields of all categories of users user.contact:read: Read access to the contact info (email, phone, address) of all categories of users user.permission:read: Read access to the permission info (accessible locations, features and roles) of all categories of users user.permission: Read-write access to the permission info (accessible locations, features and roles) of all categories of users user.admin: Read-write access to manage all users user.list: '''Allows searching for users based on a set of filters. (ex: email, name, category, organization). Without this scope an exact user id is required.' self.user.admin: Allows editing the profile, contact info and profile image for the current user. self.user.contact:read: Read access to the contact info (email, phone, address) of the current user. openid: Allows getting the user id of the current user profile: Readonly access to the user profile, including name, locale, and language preferences. email: Allows readonly access to the email of the current user. phone: Allows readonly access to the phone numbers of the current user. address: Allows readonly access to the address of the current user. sales.account: Allows read-write access to account records sales.proposals: Allows read-write access to proposals product: Read access to the product details automation:read: Read only access to automations refreshUrl: '' OAuth2Prod: type: oauth2 flows: authorizationCode: authorizationUrl: https://sso-api-prod.apigateway.co/oauth2/auth tokenUrl: https://sso-api-prod.apigateway.co/oauth2/token scopes: sales.contact: Read-write access to sales contact details business:read: Read only access to business details business: Read-write access to business details partner:read: Read-write access to details about your partner financial: Read-write access to financial details order:read: Read only access to order details order: Read-write access to order details user.profile:read: Read access to the profile fields of all categories of users user.contact:read: Read access to the contact info (email, phone, address) of all categories of users user.permission:read: Read access to the permission info (accessible locations, features and roles) of all categories of users user.permission: Read-write access to the permission info (accessible locations, features and roles) of all categories of users user.admin: Read-write access to manage all users user.list: '''Allows searching for users based on a set of filters. (ex: email, name, category, organization). Without this scope an exact user id is required.' self.user.admin: Allows editing the profile, contact info and profile image for the current user. self.user.contact:read: Read access to the contact info (email, phone, address) of the current user. openid: Allows getting the user id of the current user profile: Readonly access to the user profile, including name, locale, and language preferences. email: Allows readonly access to the email of the current user. phone: Allows readonly access to the phone numbers of the current user. address: Allows readonly access to the address of the current user. sales.account: Allows read-write access to account records sales.proposals: Allows read-write access to proposals product: Read access to the product details automation:read: Read only access to automations refreshUrl: ''