VSCO Job Payment API
The Job Payment API from VSCO — 1 operation(s) for job payment.
The Job Payment API from VSCO — 1 operation(s) for job payment.
openapi: 3.0.0
info:
title: VSCO Workspace Brands Job Payment API
termsOfService: https://terms-of-service.vsco.page/
description: This API is for interacting with a single Studio using <a href="https://workspace.vsco.co/settings/api" target="_blank">an API Key</a>.
contact:
name: VSCO Workspace Support
url: https://help.workspace.vsco.co/
email: workspace-support@vsco.co
version: v2.0.0
x-logo:
url: https://workspace.vsco.co/static/Images/Public/Logo.Black.vsco.svg
altText: VSCO Workspace
servers:
- url: https://tave.io/v2
description: Legacy Táve API production environment
- url: https://workspace.vsco.co/api/v2
description: Workspace API production environment
security:
- ApiKeyAuth: []
- BearerAuth: []
tags:
- name: Job Payment
paths:
/job/{id}/payment:
get:
summary: Get a list of payments for a specific job
operationId: listResourceJobPayment
x-entity: Payment
tags:
- Job Payment
parameters:
- $ref: '#/components/parameters/idInPath'
- name: sortBy
in: query
description: Sort items in the collection by the given property.
schema:
title: Sort objects by properties
type: string
anyOf:
- title: id
enum:
- id
- id asc
- id desc
- title: modified
enum:
- modified
- modified asc
- modified desc
- title: created
enum:
- created
- created asc
- created desc
default: id
responses:
'200':
description: Successful payment retrieval response.
content:
application/json:
schema:
$ref: '#/components/schemas/JobPaymentCollection'
'404':
$ref: '#/components/responses/validationError'
'429':
$ref: '#/components/responses/tooManyRequestsError'
components:
schemas:
Link:
title: Hypermedia Link Relationship
description: 'The target URL indicated in the `href` property is related to the
current resource according to the defined semantics of the link
property name.'
type: object
required:
- href
properties:
href:
description: The hypertext reference to the API resource at tave.io.
type: string
format: uri
managerHref:
description: The URL to this item inside the Manager application at workspace.vsco.co.
type: string
format: uri
clientHref:
description: The URL to this item in Client Access, if available.
type: string
format: uri
MoneyAmount:
title: Numeric representing an amount in the studio's currency
type: integer
minimum: -99999999999
maximum: 99999999999
example: 200
NullableDate:
title: A date that could be null instead
description: 'A date string consisting of year, month and day in the timezone of the
event if specified or the studio.'
type: string
format: date
nullable: true
example: '2020-04-10'
Error:
description: An error.
type: object
properties:
type:
description: A namespace URI uniquely identifying the error type.
type: string
enum:
- unknown
- quota-limit
- not-implemented
title:
description: A short description of the error encountered.
type: string
example: Bad Request
detail:
description: A longer description of of the error encountered.
type: string
example: There was a problem with your request. Please see `info` for more information.
status:
description: The HTTP status code associated with this error.
type: integer
example: 400
PositiveMoneyAmount:
title: Positive numeric representing an amount in the studio's currency
type: integer
minimum: 0
maximum: 99999999999
JobPaymentCollection:
allOf:
- properties:
type:
enum:
- jobpayment-collection
items:
title: Payment
type: array
items:
$ref: '#/components/schemas/Payment'
- $ref: '#/components/schemas/List'
NullableId:
title: Entity Identifier that might be null instead
description: A ULID entity identifier that is nullable.
type: string
format: ulid
nullable: true
example: 01fqcr215r79p3h19crqbpzwzh
ResourceType:
title: Resource Type
description: The type of resource represented.
type: string
example: resource-type
ServerTimestamp:
title: Server Timestamp
description: A server timestamp (always in UTC)
type: string
format: date-time
readOnly: true
example: '2020-08-01T17:32:32Z'
Links:
title: Link Relationships
description: 'Each property defines a hypertext link relationship as indicated by a
link object or array of link objects. The target URL of each hypertext
link relationship is related to the current resource according to the
defined semantics of the link relationship property name.'
readOnly: true
required:
- self
type: object
example: "\"self\": {\n \"href\": \"https://example.com/object-endpoint/03c41781-f06f-4402-a5d9-1c30ccb4db29\",\n \"title\": \"Example Link Relationship\",\n \"type\": \"application/json\",\n}"
properties:
self:
allOf:
- title: Self
description: The target URL is the current resource's own location.
- $ref: '#/components/schemas/Link'
IsHidden:
title: Hidden attribute
description: Whether or not the object is hidden.
type: boolean
example: false
readOnly: true
PaymentAllocation:
title: Payment Allocation
type: object
required:
- amount
properties:
id:
$ref: '#/components/schemas/Id'
created:
$ref: '#/components/schemas/ServerTimestamp'
modified:
$ref: '#/components/schemas/ServerTimestamp'
hidden:
$ref: '#/components/schemas/IsHidden'
paymentId:
$ref: '#/components/schemas/Id'
orderId:
$ref: '#/components/schemas/NullableId'
invoiceItemId:
allOf:
- readOnly: true
- $ref: '#/components/schemas/NullableId'
jobId:
$ref: '#/components/schemas/NullableId'
amount:
$ref: '#/components/schemas/MoneyAmount'
refundedAmount:
allOf:
- readOnly: true
- $ref: '#/components/schemas/MoneyAmount'
Payment:
title: Payment
type: object
required:
- jobId
- amount
properties:
links:
$ref: '#/components/schemas/Links'
id:
$ref: '#/components/schemas/Id'
created:
$ref: '#/components/schemas/ServerTimestamp'
modified:
$ref: '#/components/schemas/ServerTimestamp'
hidden:
$ref: '#/components/schemas/IsHidden'
jobId:
$ref: '#/components/schemas/NullableId'
payerId:
$ref: '#/components/schemas/NullableId'
paymentMethodId:
$ref: '#/components/schemas/NullableId'
invoiceItemId:
$ref: '#/components/schemas/NullableId'
status:
type: string
enum:
- future
- confirmed-future
- posted
- failed
- pending
default: posted
amount:
$ref: '#/components/schemas/PositiveMoneyAmount'
refundedAmount:
allOf:
- readOnly: true
- $ref: '#/components/schemas/PositiveMoneyAmount'
memo:
type: string
maxLength: 128
nullable: true
checkNumber:
type: string
maxLength: 18
nullable: true
transactionId:
type: string
maxLength: 255
nullable: true
authCode:
type: string
maxLength: 100
nullable: true
received:
$ref: '#/components/schemas/NullableDate'
processedViaClientAccess:
readOnly: true
type: boolean
refunds:
type: array
items:
$ref: '#/components/schemas/Payment'
nullable: true
readOnly: true
paymentAllocations:
readOnly: true
type: array
items:
allOf:
- $ref: '#/components/schemas/PaymentAllocation'
- type: object
required:
- orderId
- paymentId
Id:
title: Entity Identifier
description: A lowercase [ULID](https://github.com/ulid/spec) entity identifier
type: string
format: ulid
example: 01h35ccwymj5ctckp8px1azhg6
readOnly: true
ErrorValidation:
description: A validation error.
type: object
properties:
type:
description: A namespace URI uniquely identifying the error type.
type: string
enum:
- validation-error
title:
description: A short description of the error encountered.
type: string
example: Validation Error
detail:
description: Breakdown of what fields valid validation and why
type: object
status:
description: The HTTP status code associated with this error.
type: integer
example: 400
List:
title: Collection
description: A collection (or list) of resources.
type: object
required:
- type
- items
properties:
meta:
description: Metadata describing the current result set.
type: object
readOnly: true
properties:
currentPage:
description: The current page of results returned.
type: integer
totalPages:
description: 'The total number of pages in the result set. This is affected by
the `pageSize` parameter (`totalItems / pageSize == totalPages`).'
type: integer
totalItems:
description: 'The total number of items in the result set. This may be
affected by active search/filter parameters.'
type: integer
rows:
description: The number of rows returned per page for the current result set.
type: integer
type:
$ref: '#/components/schemas/ResourceType'
items:
description: A collection of resources returned in the current result set.
type: array
items:
type: object
responses:
validationError:
description: 'Validation error response. Check the `info.errors` property in the
response for more details.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorValidation'
tooManyRequestsError:
description: Exceeded request quota, see Retry-After header
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
idInPath:
name: id
in: path
description: ULID to perform an action on.
schema:
$ref: '#/components/schemas/Id'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
BearerAuth:
type: http
scheme: bearer
x-tagGroups:
- name: Jobs & Contacts
tags:
- Jobs
- Job Contacts
- Job Worksheets
- Contacts
- Events
- Files
- Galleries
- Notes
- Orders
- Payment
- name: Studio Settings
tags:
- Studio
- Brands
- Custom Fields
- Discounts
- Discount Types
- Event Types
- File Types
- Job Closed Reasons
- Job Roles
- Job Types
- Lead Sources
- Lead Statuses
- Payment Methods
- Products
- Product Types
- Profit Centers
- Tax Groups
- Tax Rates
- Timezones
- Users
- name: API Resources
tags:
- Rest Hooks