openapi: 3.0.4
info:
title: Bench AccountActivities PersonHistoricalExperienceFields API
description: "
Versioning
\n\n The API is currently at version 1.0. All API endpoints (other than\n authentication) require you to specify the API version as part of the path.\n
\n\nURL Paths
\n\n Authentication requests should be made to /auth/signin,\n as documented below. All other API requests should be made to\n sub-paths of /rp/api/1.0/....\n
\n\nAuthentication
\n\n API requests are authenticated using an OAuth Bearer token.\n You can get a token by authenticating your user by sending a\n POST request to /auth/signin, with \"username and \"password\"\n parameters form-encoded in the body of the request.\n\n POST /auth/signin HTTP/1.1\n Content-Type: application/x-www-form-urlencoded\n\n username=user@example.com&password=some-secret-password\n
\n\n The response will be a JSON object including both\n \"access_token\" and \"refresh_token\" property.\n All other requests against the Bench API should include an\n authorization header: Authorization: Bearer xxxYYYzzz,\n where xxxYYYzzz is the value of \"access_token\" in the response.\n
\n For example:\n\n $ curl https://bench.gobridgit.com/auth/signin -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'username=someone@example.com' --data-urlencode 'password=[...snip...]'\n {\n \"access_token\": \"...snip...\",\n \"token_type\": \"Bearer\",\n \"refresh_token\": \"...snip...\"\n \"expiry\": \"2020-01-01T00:00:00.413440849Z\"\n }\n\n
\n\n\n The refresh token can be used to generate new session by request with /auth/token endpoint:\n\n POST /auth/token HTTP/1.1\n Content-Type: application/x-www-form-urlencoded\n\n grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA\n
\n\n Note that once the refresh token is used, the previous access and refresh token is no longer valid.\n
\n For example:\n\n $ curl https://bench.gobridgit.com/auth/token -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=refresh_token' --data-urlencode 'refresh_token=[...snip...]'\n {\n \"access_token\": \"...snip...\",\n \"token_type\": \"Bearer\",\n \"refresh_token\": \"...snip...\"\n \"expiry\": \"2020-01-01T00:00:00.413440849Z\"\n }\n
\n\nPagination
\n\n Several of the API endpoints are paginated. These are denoted by\n including the offset (zero-based offset) and limit query\n parameters. For example, to request the 10 items,\n set the offset=0 to limit=10.\n
\n NOTE: the result set contains items with index of 0-9\n
\n To request the next 10 items (starting at index 10),\n set the offset=10 to limit=10\n
\n\n Responses to paginated API endpoints return a JSON array of objects.\n If there are results beyond the page you have requested, the server\n will set a query-has-more: true header in the response.\n
\n\nRequest Encoding
\n\n GET and DELETE requests should have parameters encoded as URL query\n parameters. Boolean values should be encoded as true and\n false, not as 1 and 0.\n
\n\nErrors
\n\n Errors are returned for some response codes such as 400 Bad Request in the\n following format:\n\n {\n \"errors\": [\n {\n \"errorType\": \"ValidationError\",\n \"description\": \"The value of Name must be a string with a minimum length of 1 and a maximum length of 8 and not whitespace.\",\n \"field\": \"Name\",\n \"values\": [\n null\n ]\n }\n ],\n \"title\": \"One or more validation errors occurred.\",\n \"status\": 400,\n \"instance\": \"api/v1/accounts/0/persons\",\n \"requestUid\": \"123e4567-e89b-12d3-a456-426614174000\"\n }\n
\n"
version: '1.0'
servers:
- url: https://bench.gobridgit.com
description: Bridgit Bench production
security:
- {}
tags:
- name: PersonHistoricalExperienceFields
paths:
/rp/api/v1/accounts/{accountId}/persons/{personId}/historical-experiences/{historicalExperienceId}/experience-fields:
post:
tags:
- PersonHistoricalExperienceFields
summary: "Add historical experience field values for a person in an account.\n \nWorth noting that this endpoint is purely additive, i.e. idempotent.\nIt will also ignore field sets for fields that are not found under the account.\nFurthermore, if an experienceFieldValueId is provided, the corresponding value will be ignored."
description: '
Permissions
Account: Write'
operationId: PersonHistoricalExperienceFields_Post
parameters:
- name: accountId
in: path
description: The account ID.
required: true
schema:
type: integer
format: int32
- name: personId
in: path
description: The person ID.
required: true
schema:
type: integer
format: int64
- name: historicalExperienceId
in: path
description: The historical experience ID.
required: true
schema:
type: string
format: uuid
requestBody:
description: The request body.
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValuesPostRequest'
application/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValuesPostRequest'
text/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValuesPostRequest'
application/*+json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValuesPostRequest'
responses:
'201':
description: The added historical experience field values.
content:
text/plain:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValuesPostResponse'
application/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValuesPostResponse'
text/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValuesPostResponse'
'403':
description: User is not authorized to update profile historical experience.
? /rp/api/v1/accounts/{accountId}/persons/{personId}/historical-experiences/{historicalExperienceId}/experience-fields/{experienceFieldId}
: patch:
tags:
- PersonHistoricalExperienceFields
summary: Update a historical experience field value for a person in an account.
description: '
Permissions
Account: Write'
operationId: PersonHistoricalExperienceFields_Patch
parameters:
- name: accountId
in: path
description: The account ID.
required: true
schema:
type: integer
format: int32
- name: personId
in: path
description: The person ID.
required: true
schema:
type: integer
format: int64
- name: historicalExperienceId
in: path
description: The historical experience ID.
required: true
schema:
type: string
format: uuid
- name: experienceFieldId
in: path
description: The experience field ID.
required: true
schema:
type: string
format: uuid
requestBody:
description: The request body.
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValueUpdateRequest'
application/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValueUpdateRequest'
text/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValueUpdateRequest'
application/*+json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValueUpdateRequest'
responses:
'200':
description: The updated historical experience field value.
content:
text/plain:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValue'
application/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValue'
text/json:
schema:
$ref: '#/components/schemas/HistoricalExperienceFieldValue'
'400':
description: The target experience field value not found.
'403':
description: User is not authorized to update profile historical experience.
delete:
tags:
- PersonHistoricalExperienceFields
summary: Delete a historical experience field value for a person in an account.
description: '
Permissions
Account: Write'
operationId: PersonHistoricalExperienceFields_Delete
parameters:
- name: accountId
in: path
description: The account ID.
required: true
schema:
type: integer
format: int32
- name: personId
in: path
description: The person ID.
required: true
schema:
type: integer
format: int64
- name: historicalExperienceId
in: path
description: The historical experience ID.
required: true
schema:
type: string
format: uuid
- name: experienceFieldId
in: path
description: The experience field ID.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: The historical experience field value is deleted.
'403':
description: User is not authorized to update profile historical experience, or if the experience field value is not found
components:
schemas:
HistoricalExperienceFieldValuesPostResponse:
type: object
properties:
experienceFields:
type: array
items:
$ref: '#/components/schemas/HistoricalExperienceFieldValue'
nullable: true
additionalProperties: false
HistoricalExperienceFieldValuesPostRequest:
type: object
properties:
experienceFields:
type: array
items:
$ref: '#/components/schemas/HistoricalExperienceFieldValueRequest'
nullable: true
additionalProperties: false
HistoricalExperienceFieldValueUpdateRequest:
type: object
properties:
experienceFieldValueId:
type: string
format: uuid
nullable: true
value:
type: string
nullable: true
additionalProperties: false
HistoricalExperienceFieldValue:
required:
- fieldName
- value
type: object
properties:
experienceFieldId:
type: string
format: uuid
experienceFieldValueId:
type: string
format: uuid
fieldName:
type: string
nullable: true
value:
type: string
nullable: true
additionalProperties: false
HistoricalExperienceFieldValueRequest:
type: object
properties:
experienceFieldId:
type: string
format: uuid
experienceFieldValueId:
type: string
format: uuid
nullable: true
value:
type: string
nullable: true
additionalProperties: false
securitySchemes:
Bearer:
type: http
description: Standard Authorization header using the Bearer scheme
scheme: bearer
bearerFormat: JWT