Trimble States API

The States API from Trimble — 6 operation(s) for states.

GitHub OpenAPI

Operations 6

GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache Gets all States objects from the cache #
POST /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/search Search through States objects in the data cache #
GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/{ryvitId_value} Gets one States object from the cache #
GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/__ryvitId/{ryvitId_value} Gets one States object from the cache #
GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/keyid/{KeyID} Gets one States object from the cache #
GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/natural/{PRCo}/{State} Gets one States object from the cache #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/trimble:trimble-states-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

trimble-states-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vista Payroll v2 Direct States API
  description: For assistance, please visit our Customer Support page.
  contact:
    name: Customer Support
  version: '2'
  x-logo:
    url: https://cdn.brandfolder.io/IH4HLZST/at/pwwq8z7wf64v8jxbtrgnpwqr/TrimbleR-Horiz-RGB-Blue.png
    altText: Trimble logo
servers:
- url: https://{apiHost}/connect/v1/
  description: App Xchange API (choose region)
  variables:
    apiHost:
      default: api.xchange.trimble.com
      description: Regional API hostname. Application keys and subscriber codes are environment-specific.
      enum:
      - api.xchange.trimble.com
      - api-ap-au.xchange.trimble.com
security:
- {}
tags:
- name: States
paths:
  /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache:
    get:
      tags:
      - States
      summary: Gets all States objects from the cache
      description: 'Represents data found in Vista™ PR State Information program.


        Vista views: PRSI, PRSD'
      operationId: GET/direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache
      parameters:
      - $ref: '#/components/parameters/subscriber_code'
      - $ref: '#/components/parameters/X-Application-Key'
      - $ref: '#/components/parameters/limit_continuation'
      - $ref: '#/components/parameters/modifiedUTCSince'
      - $ref: '#/components/parameters/continuationToken'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                required:
                - limit
                - data
                - next
                - continuationToken
                type: object
                properties:
                  limit:
                    type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/data_states_withKeys'
                  next:
                    type: string
                  continuationToken:
                    type: string
        '400':
          $ref: '#/components/responses/errorResponse'
        '401':
          $ref: '#/components/responses/unauth'
        '403':
          $ref: '#/components/responses/forbidden'
      x-operation-id-source: normalized
      x-operation-id-original: GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache
  /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/search:
    post:
      tags:
      - States
      summary: Search through States objects in the data cache
      description: 'Represents data found in Vista™ PR State Information program.


        Vista views: PRSI, PRSD'
      operationId: POST/direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/search/search
      parameters:
      - $ref: '#/components/parameters/subscriber_code'
      - $ref: '#/components/parameters/X-Application-Key'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                modifiedUtcAfter:
                  maxLength: 28
                  minLength: 28
                  type: string
                  description: 'Returns objects that were modified after the specified date (ISO 8601 format).  Format: yyyy-MM-ddThh:mm:ss.fffffffZ.  Example ''2019-12-11T20:16:58.3419275Z''.  If provided on the first call, the same value must be provided on all subsequent calls as you use the continuation token for the next result set.'
                  format: date-time
                modifiedUtcBefore:
                  maxLength: 28
                  minLength: 28
                  type: string
                  description: 'Returns objects that were modified before the specified date (ISO 8601 format).  Format: yyyy-MM-ddThh:mm:ss.fffffffZ.  Example ''2019-12-11T20:16:58.3419275Z''.  If provided on the first call, the same value must be provided on all subsequent calls as you use the continuation token for the next result set.'
                  format: date-time
                continuationToken:
                  type: string
                  description: Supplying this token will result in retrieving the next chunk of data if the first request contained more than 100 (up to) records or greater than 1 megabyte in size.  On your first call, you must omit or provide an empty string.  On subsequent calls, provide the continuationToken from the previous result.
                filters:
                  type: array
                  items:
                    oneOf:
                    - required:
                      - propertyName
                      - value
                      - operator
                      type: object
                      properties:
                        propertyName:
                          type: string
                          description: Name of the property to apply the filter on. Nested properties are supported with a dot (.) delimiter.  E.g. 'PONumber' or 'Sender.LastName'.
                        value:
                          type: integer
                          description: You must match the JSON type value to the propertyName JSON type.  There is no type coercion.
                        operator:
                          enum:
                          - Equal
                          - GreaterThan
                          - GreaterThanOrEqual
                          - LessThan
                          - LessThanOrEqual
                          - NotEqual
                          type: string
                      additionalProperties: false
                      description: ''
                    - required:
                      - propertyName
                      - value
                      - operator
                      type: object
                      properties:
                        propertyName:
                          type: string
                          description: Name of the property to apply the filter on. Nested properties are supported with a dot (.) delimiter.  E.g. 'PONumber' or 'Sender.LastName'.
                        value:
                          type: string
                          description: You must match the JSON type value to the propertyName JSON type.  There is no type coercion.
                        operator:
                          enum:
                          - Equal
                          - GreaterThan
                          - GreaterThanOrEqual
                          - LessThan
                          - LessThanOrEqual
                          - NotEqual
                          - Like
                          - EndsWith
                          - StartsWith
                          - Contains
                          type: string
                      additionalProperties: false
                      description: ''
                    - required:
                      - propertyName
                      - value
                      - operator
                      type: object
                      properties:
                        propertyName:
                          type: string
                          description: Name of the property to apply the filter on. Nested properties are supported with a dot (.) delimiter.  E.g. 'PONumber' or 'Sender.LastName'.
                        value:
                          type: boolean
                          description: You must match the JSON type value to the propertyName JSON type.  There is no type coercion.
                        operator:
                          enum:
                          - Equal
                          - NotEqual
                          type: string
                      additionalProperties: false
                      description: ''
                    - required:
                      - propertyName
                      - value
                      - operator
                      type: object
                      properties:
                        propertyName:
                          type: string
                          description: Name of the property to apply the filter on. Nested properties are supported with a dot (.) delimiter.  E.g. 'PONumber' or 'Sender.LastName'.
                        value:
                          type: array
                          items:
                            oneOf:
                            - type: string
                            - type: number
                          description: ' This oneOf option is to be used for null values for all data types.  You must match the JSON type value to the propertyName JSON type.  There is no type coercion.'
                        operator:
                          enum:
                          - In
                          type: string
                      additionalProperties: false
                      description: ''
                  description: All provided filters are combined with AND conditions. E.g. filter1 AND filter2 AND filter3.  Not providing a filter will result in an unfiltered result.  Filtering can be performed on nested object properties but can not be performed on array item properties.  If provided on the first call, the same value must be provided on all subsequent calls as you use the continuation token for the next result set.
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                required:
                - count
                - data
                type: object
                properties:
                  count:
                    type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/data_states_withKeys'
                  continuationToken:
                    type: string
                    description: Supply this token on the next request to get the next chunk of data. This will have a value if the result set contains more than 100 records or the set is greater than 1 megabyte.
        '400':
          $ref: '#/components/responses/errorResponse'
        '401':
          $ref: '#/components/responses/unauth'
        '403':
          $ref: '#/components/responses/forbidden'
      x-operation-id-source: normalized
      x-operation-id-original: POST /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/search/search
  /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/{ryvitId_value}:
    get:
      tags:
      - States
      summary: Gets one States object from the cache
      description: 'Represents data found in Vista™ PR State Information program.


        Vista views: PRSI, PRSD'
      operationId: GET/direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/{ryvitId_value}
      parameters:
      - $ref: '#/components/parameters/subscriber_code'
      - $ref: '#/components/parameters/X-Application-Key'
      - name: ryvitId_value
        in: path
        description: The code of the data object you want to get.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data_states_withKeys'
        '401':
          $ref: '#/components/responses/unauth'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
      x-operation-id-source: normalized
      x-operation-id-original: GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/{ryvitId_value}
  /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/__ryvitId/{ryvitId_value}:
    get:
      tags:
      - States
      summary: Gets one States object from the cache
      description: 'Represents data found in Vista™ PR State Information program.


        Vista views: PRSI, PRSD'
      operationId: GET/direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/__ryvitId/{ryvitId_value}
      parameters:
      - $ref: '#/components/parameters/subscriber_code'
      - $ref: '#/components/parameters/X-Application-Key'
      - name: ryvitId_value
        in: path
        description: The code of the data object you want to get.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data_states_withKeys'
        '401':
          $ref: '#/components/responses/unauth'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
      x-operation-id-source: normalized
      x-operation-id-original: GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/__ryvitId/{ryvitId_value}
  /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/keyid/{KeyID}:
    get:
      tags:
      - States
      summary: Gets one States object from the cache
      description: 'Represents data found in Vista™ PR State Information program.


        Vista views: PRSI, PRSD'
      operationId: GET/direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/keyid/{KeyID}
      parameters:
      - $ref: '#/components/parameters/subscriber_code'
      - $ref: '#/components/parameters/X-Application-Key'
      - name: KeyID
        in: path
        description: The KeyID portion of the key used to identify the object.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data_states_withKeys'
        '401':
          $ref: '#/components/responses/unauth'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
      x-operation-id-source: normalized
      x-operation-id-original: GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/keyid/{KeyID}
  /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/natural/{PRCo}/{State}:
    get:
      tags:
      - States
      summary: Gets one States object from the cache
      description: 'Represents data found in Vista™ PR State Information program.


        Vista views: PRSI, PRSD'
      operationId: GET/direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/natural/{PRCo,State}
      parameters:
      - $ref: '#/components/parameters/subscriber_code'
      - $ref: '#/components/parameters/X-Application-Key'
      - name: PRCo
        in: path
        description: The PRCo portion of the key used to identify the object.
        required: true
        schema:
          type: string
      - name: State
        in: path
        description: The State portion of the key used to identify the object.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/data_states_withKeys'
        '401':
          $ref: '#/components/responses/unauth'
        '403':
          $ref: '#/components/responses/forbidden'
        '404':
          $ref: '#/components/responses/notFound'
      x-operation-id-source: normalized
      x-operation-id-original: GET /direct/subscribers/{subscriber_code}/vista/pr/2/data/states/cache/natural/{PRCo,State}
components:
  parameters:
    X-Application-Key:
      name: X-Application-Key
      in: header
      description: Used to authorize access to the Direct API.
      required: true
      schema:
        type: string
    continuationToken:
      name: continuationToken
      in: query
      description: A URL Encoded continuationToken value from a previous GET response.  When provided, the next set of results for the original GET will be returned.
      schema:
        type: string
    subscriber_code:
      name: subscriber_code
      in: path
      description: The code of the subscriber that you are making this request for.
      required: true
      schema:
        type: string
    modifiedUTCSince:
      name: modifiedUTCSince
      in: query
      description: A string specifies a datetime against which to filter the results. When specified the result will be ordered oldest __modifiedUTC to newest.  Example 2019-12-11T20:16:58.3419275Z. Optional. If unspecified, all cached objects will be returned.
      schema:
        type: string
    limit_continuation:
      name: limit
      in: query
      description: Limits the number of records returned by the API, up to a maximum of 1,000.  The API may return less than the limit even when more records exist.  Always examine the 'next' and 'continuationToken' properties to determine if more records are available.
      schema:
        type: integer
  responses:
    errorResponse:
      description: Describes issues with the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorSchema'
    unauth:
      description: You have not provided a proper X-Application-Key in the header of this request.
    notFound:
      description: The object with the given ID was not found OR a subscriber with the given URL was not found.
    forbidden:
      description: The X-Application-Key provided is valid but the key does not have access to this resource.
  schemas:
    errorSchema:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  target:
                    title: Describes which field in the request has an issue.
                    type: string
                  message:
                    title: The error message describing the issue.
                    type: string
    data_states_withKeys:
      allOf:
      - type: object
        properties:
          __ryvitKeys:
            type: array
            items:
              type: string
            description: Array of key paths that can be used to retrieve this object.
            example:
            - keyid/{KeyID}
          __modifiedUTC:
            type: string
            description: UTC timestamp of when this object was last modified in the cache.
            example: '2020-01-01T13:01:01.1234567Z'
      - $ref: '#/components/schemas/data_states'
    data_states:
      required:
      - PRCo
      - State
      - TaxDiff
      - AccumHrsWks
      - KeyID
      - ExcludeOutOfStateSUTAWagesYN
      - AccumulateSubjectEarningsYN
      type: object
      properties:
        PRCo:
          type: integer
          description: ''
        State:
          maxLength: 4
          type: string
          description: ''
        TaxID:
          maxLength: 20
          type:
          - string
          - 'null'
          description: '**[PROTECTED FIELD]** '
          x-protectedValue: true
        TaxDedn:
          type:
          - integer
          - 'null'
          description: ''
        TaxDiff:
          enum:
          - Y
          - N
          type: string
          description: ''
        UnempID:
          maxLength: 20
          type:
          - string
          - 'null'
          description: '**[PROTECTED FIELD]** '
          x-protectedValue: true
        SUTALiab:
          type:
          - integer
          - 'null'
          description: ''
        AccumHrsWks:
          maxLength: 1
          type: string
          description: ''
        Contact:
          maxLength: 30
          type:
          - string
          - 'null'
          description: ''
        Phone:
          maxLength: 15
          type:
          - string
          - 'null'
          description: ''
        PhoneExt:
          maxLength: 5
          type:
          - string
          - 'null'
          description: ''
        TransId:
          maxLength: 10
          type:
          - string
          - 'null'
          description: ''
        C3:
          maxLength: 1
          type:
          - string
          - 'null'
          description: ''
        SuffixCode:
          maxLength: 5
          type:
          - string
          - 'null'
          description: ''
        EstabId:
          maxLength: 4
          type:
          - string
          - 'null'
          description: ''
        StateId:
          maxLength: 2
          type:
          - string
          - 'null'
          description: '**[PROTECTED FIELD]** '
          x-protectedValue: true
        TaxType:
          maxLength: 1
          type:
          - string
          - 'null'
          description: ''
        TaxEntity:
          maxLength: 10
          type:
          - string
          - 'null'
          description: ''
        ControlId:
          maxLength: 7
          type:
          - string
          - 'null'
          description: ''
        UnitId:
          maxLength: 5
          type:
          - string
          - 'null'
          description: ''
        County:
          maxLength: 3
          type:
          - string
          - 'null'
          description: ''
        OutCounty:
          maxLength: 7
          type:
          - string
          - 'null'
          description: ''
        DocControl:
          maxLength: 10
          type:
          - string
          - 'null'
          description: ''
        Notes:
          type:
          - string
          - 'null'
          description: ''
        LocalCode1:
          maxLength: 10
          type:
          - string
          - 'null'
          description: ''
        LocalCode2:
          maxLength: 10
          type:
          - string
          - 'null'
          description: ''
        LocalCode3:
          maxLength: 10
          type:
          - string
          - 'null'
          description: ''
        Plant:
          maxLength: 2
          type:
          - string
          - 'null'
          description: ''
        Branch:
          maxLength: 3
          type:
          - string
          - 'null'
          description: ''
        UniqueAttchID:
          maxLength: 36
          minLength: 36
          pattern: '[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}'
          type:
          - string
          - 'null'
          description: ''
        DLCode1:
          type:
          - integer
          - 'null'
          description: ''
        DLCode2:
          type:
          - integer
          - 'null'
          description: ''
        DisabilityPlanId:
          maxLength: 20
          type:
          - string
          - 'null'
          description: ''
        WagePlan:
          maxLength: 1
          type:
          - string
          - 'null'
          description: ''
        KeyID:
          type: integer
          description: ''
        EMail:
          maxLength: 50
          type:
          - string
          - 'null'
          description: ''
        ExcludeOutOfStateSUTAWagesYN:
          enum:
          - Y
          - N
          type: string
          description: ''
        AccumulateSubjectEarningsYN:
          enum:
          - Y
          - N
          type: string
          description: ''
        __custom_fields:
          type: object
          description: This property will be added if there are any custom fields defined for this object in Vista.  Each custom field will be a property of this object.
        AdditionalDednLiabs:
          type: array
          items:
            required:
            - DLCode
            - BasedOn
            - KeyID
            - AlwaysCalcForResidentYN
            type: object
            properties:
              DLCode:
                type: integer
                description: ''
              BasedOn:
                maxLength: 1
                type: string
                description: ''
              UniqueAttchID:
                maxLength: 36
                minLength: 36
                pattern: '[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}'
                type:
                - string
                - 'null'
                description: ''
              KeyID:
                type: integer
                description: ''
              AlwaysCalcForResidentYN:
                enum:
                - Y
                - N
                type: string
                description: ''
              __custom_fields:
                type: object
                description: This property will be added if there are any custom fields defined for this object in Vista.  Each custom field will be a property of this object.
          description: ''