MRI Software Contractor members API

A contractor member belongs to an organization that is contracted to provide a service. Each member has a profile in OnLocation that includes their contact details, status, access permission dates, and locations.Use the contractor member API to retrieve your contractor member list, or add, update or delete a member profile.To manage which organizations a member belongs to, use the contractor membership endpoint.Learn more about contractor members in the OnLocation Help Center.

Operations 5

GET /sp/member List all members #
POST /sp/member Create a member #
GET /sp/member/{id} Retrieve a member #
PUT /sp/member/{id} Update a member #
DELETE /sp/member/{id} Delete a member #

Documentation

Specifications

Schemas & Data

Other Resources

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/mri-software:mri-software-contractor-members-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

mri-software-contractor-members-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mri Software Contractor members API
  version: '0.1'
  contact:
    email: support@whosonlocation.com
  description: 'Operations tagged Contractor members across 2 of this provider''s published API definitions: mri-software-onlocation-openapi.json, mri-software-onlocation-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.whosonlocation.com/v1
tags:
- name: Contractor members
  description: 'A contractor member belongs to an organization that is contracted to provide a service. Each member has a profile in OnLocation that includes their contact details, status, access permission dates, and locations.


    Use the contractor member API to retrieve your contractor member list, or add, update or delete a member profile.


    To manage which organizations a member belongs to, use the contractor membership endpoint.


    Learn more about contractor members in the OnLocation Help Center.'
paths:
  /sp/member:
    get:
      tags:
      - Contractor members
      summary: List all members
      description: 'Returns a list of all contractor organization members.


        A comma separated list of tag:value search parameters, a colon separator performs an exact match and a percent separator performs a starts-with search.


        A contractor member can be matched to an external token which has been assigned to their profile such as RFID card number, a security turnstile controller may search for an account to update the onsite status, eg q=token:C1BB7F.'
      operationId: getContractorMemberList
      parameters:
      - name: q
        in: query
        description: Filter by any contractor member value. It is not possible to filter by customfield-elements at this point.
        required: false
        schema:
          type: string
          format: string
        example: name:ACME
      - name: order
        in: query
        description: Order by any element returned, prefix with a - to reverse order.
        required: false
        schema:
          type: string
          format: string
        example: -service_provider_id
      - name: limit
        in: query
        description: Limits the amount of records to return
        required: false
        schema:
          type: integer
          format: int32
        example: '10'
      - name: If-Modified-Since
        in: header
        description: A UTC timestamp (yyyy-mm-ddThh:mm:ss) . Only entities created or modified since this timestamp will be returned e.g. 2009-11-12T00:00:00
        required: false
        schema:
          type: string
          format: int32
      responses:
        '200':
          description: List of contractor organization members
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContractorMemberResponse'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContractorMemberResponse'
        '403':
          description: Access denied to this resource
        '404':
          description: Resource not found
        '500':
          description: Internal server error
    post:
      tags:
      - Contractor members
      summary: Create a member
      description: 'Add a new contractor organization member to the database.


        To add a member with custom fields:


        First, load the available custom fields (GET /customfield/element/sp-member)


        POST Request to /sp/member with a key that is called customfields, holding the id: value pair of the data. Your return will show you the type of contractor member custom field, its ID number, and its name.


        Fire the POST updating the custom field.'
      operationId: createContractorMember
      requestBody:
        description: 'Contractor member information:'
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractorMemberRequest'
      responses:
        '201':
          description: Member created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractorMemberResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/ContractorMemberResponse'
        '403':
          description: Access denied to this resource
        '500':
          description: Internal server error
    servers:
    - url: https://api.whosonlocation.com/v1
  /sp/member/{id}:
    get:
      tags:
      - Contractor members
      summary: Retrieve a member
      description: Retrieves a single contractor organization member, filtering with the provided ID.
      operationId: getContractorMember
      parameters:
      - name: id
        in: path
        description: ID of the contractor organization member to retrieve
        required: true
        schema:
          type: integer
          format: int32
        example: id=16348
      responses:
        '200':
          description: Member returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractorMemberResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/ContractorMemberResponse'
        '403':
          description: Access denied to resource
        '404':
          description: Resource not found
        '500':
          description: Internal server error
    put:
      tags:
      - Contractor members
      summary: Update a member
      description: Update a contractor organization member profile using the provided ID.
      operationId: updateContractorMember
      parameters:
      - name: id
        in: path
        description: ID of the contractor member to update
        required: true
        schema:
          type: integer
          format: int32
        example: id=16348
      requestBody:
        description: 'Information used to create the contractor member record:'
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractorMemberRequest'
      responses:
        '204':
          description: Updated member
        '403':
          description: Access denied to this resource
        '500':
          description: Internal server error
    delete:
      tags:
      - Contractor members
      summary: Delete a member
      description: Delete a contractor organization member using the provided ID.
      operationId: deleteContractorMember
      parameters:
      - name: id
        in: path
        description: ID of the specified contractor organization to delete
        required: true
        schema:
          type: integer
          format: int32
        example: id=16348
      responses:
        '204':
          description: Member deleted
        '403':
          description: Access denied to resource
        '404':
          description: Resource not found
        '500':
          description: Internal server error
    servers:
    - url: https://api.whosonlocation.com/v1
components:
  schemas:
    ContractorLocation:
      properties:
        id:
          type: integer
          format: int32
          example: 301
        name:
          type: string
          format: string
          example: Sub Office
        start:
          type: string
          format: date
          example: '2021-12-01'
        expires:
          type: string
          format: date
          example: '2021-12-01'
      type: object
    ContractorMemberRequest:
      required:
      - name
      - status
      properties:
        name:
          type: string
          format: string
          example: New Member
        title:
          type: string
          format: string
          example: Contractor
        email:
          type: string
          format: string
          example: example@example.org
        altemail:
          type: string
          format: string
          example: example-alt@example.org
        phone:
          type: string
          format: string
          example: +1 206 555 0123
        ice:
          type: string
          format: string
          example: +1 206 555 0123
        cur_location:
          type: integer
          format: int32
          example: 301
        extension:
          type: string
          format: string
          example: '047'
        mobile:
          type: string
          format: string
          example: +1 206 555 0123
        valid_from:
          type: string
          format: date
          example: '2021-09-03'
        valid_to:
          type: string
          format: date
          example: '2026-09-02'
        onsite_status:
          type: string
          format: string
          example: onsite
        service_provider_id:
          type: string
          format: string
          example: '12345'
        cf:
          description: This will return an object of custom fields set for the contractor. The key of the custom field corresponds to the ID of the custom fields when using the Customfield endpoint
          type: object
          example:
            '123': custom-field value
          additionalProperties: true
      type: object
    BasicIdNamePair:
      properties:
        id:
          type: integer
          format: int32
          example: 556
        name:
          type: string
          format: string
          example: Example Name
      type: object
    ContractorMemberOrganisation:
      properties:
        id:
          type: integer
          format: int32
          example: 4587
        name:
          type: string
          format: string
          example: Head Office
        roles:
          type: array
          items:
            $ref: '#/components/schemas/BasicIdNamePair'
        locations:
          type: array
          items:
            $ref: '#/components/schemas/ContractorLocation'
        locations_same_as_org:
          type: boolean
          format: bool
          example: true
      type: object
    ContractorMemberResponse:
      properties:
        id:
          type: integer
          format: int32
          example: 16348
        created:
          type: string
          format: date-time
          example: '2021-09-03T15:17:57+12:00'
        modified:
          type: string
          format: date-time
          example: '2021-11-29T08:39:55+13:00'
        name:
          type: string
          format: string
          example: First Contractor
        setup_by:
          type: integer
          format: int32
          example: 823431
        title:
          type: string
          format: string
          example: Contractor
        service_provider_id:
          type: string
          format: string
          example: contract_047
        email:
          type: string
          format: string
          example: contractor-email@whosonlocation.com
        altemail:
          type: string
          format: string
          example: alternative-address@whosonlocation.com
        phone:
          type: string
          format: string
          example: +1 206 555 0123
        mobile:
          type: string
          format: string
          example: +1 206 555 0123
        status:
          type: string
          format: string
          example: active
        valid_from:
          type: string
          format: date
          example: '2021-09-03'
        valid_to:
          type: string
          format: date
          example: '2026-09-02'
        extension:
          type: string
          format: string
          example: '047'
        ice:
          type: string
          format: string
          example: +1 206 555 0123
        onsite_status:
          type: string
          format: string
          example: onsite
        cur_location_id:
          type: integer
          format: int32
          example: 301
        cur_sp_org_id:
          type: integer
          format: int32
          example: 4587
        cur_location:
          type: string
          format: string
          example: Head Office
        sp_orgs:
          type: array
          items:
            $ref: '#/components/schemas/ContractorMemberOrganisation'
        logs:
          type: array
          items:
            format: string
        tokens:
          type: array
          items:
            format: string
        customfields:
          description: This will return an array of custom fields set for contractor members. The ID of the custom field corresponds to the ID of the custom fields when using the Customfield endpoint
          type: object
          example:
            '123': custom-field value
          additionalProperties: true
      type: object
x-refined-from:
- mri-software-onlocation-openapi.json
- mri-software-onlocation-openapi.yml