Download OpenAPI specification: Download
Please read our Terms of Service and Privacy policy.
payCircle's Account Access APIs allows authorized individuals to automate various tasks related to payCircle accounts of various types. This means being able to initiate contributions and disbursements, or organize and verify the identity of contacts that will be interacting with accounts.
When making basic CRUD-style requests, endpoints usually conform to basic REST principles. For instance, when working with contacts
the following endpoints are used:
GET /v2/contacts # Shows all accessible contacts POST /v2/contacts # Creates a new contact GET /v2/contacts/:id # Shows a contact PATCH /v2/contacts/:id # Updates a contact DELETE /v2/contacts/:id # Archives a contact
Most endpoints support most or all of these calls. Note specifically that PATCH
is used and not PUT
for updates ( PUT
is not supported at all). Very little data in the system is ever actually destroyed, so DELETE
calls are almost always used to take a particular resource out of commission, whether that means archiving a contact so it's no longer part of index views or cancelling a disbursement request, it tends to render a particular object as "no longer usable" rather than actually destroyed.
Additionally, there are certain special actions in the API that don't map very well to a REST pattern. They usually come in the form of a POST
call to a nested endpoint that operates more like an RPC (Remote Procedure Call). An example of this would be updating the password for a user:
POST /v2/users/current/password
This is used to create a new password for a user. However, there is no related GET
request and the resource that is returned will be a user. Some of these endpoints may create a new resource from an existing resource and others will modify an existing resource. Aside from looking at the id
returned from the endpoint, special actions that create a new resource will return a 201
and those that update a resource will return a 200
.
Sandbox requests should use sandbox.paycircle.io
whereas production requests should use api.paycircle.io
. This document uses paths relative to those hosts.
If you are using one of the Product APIs see the getting started section as well for that set of APIs for more specific information on opening and approving accounts.
A setup at a high level will go as follows:
API responses will always return only one status code. While the JSONAPI spec does have examples of mixed errors, our API does not use them.
Location
header will tell you where the resource can be found when your request completes processing. DELETE
requests. Endpoints are organized by resource types and most resource IDs are UUIDs, although there are a few occasions where natural string keys are used for enum-like resources (e.g. account-types
). So, contacts
can be found at /v2/contacts
and a single contact can be found at /v2/contacts/:id
. If related
links are not specifically provided in relationships, the location of related resources can be inferred accordingly.
In addition to the include
, which all endpoints that return a payload support, index requests can also be paginated, sorted and filtered.
Allows for the inclusion of other related resources on the same API call with the keyword include
. For example:
GET v2/contacts?include=cip-check
The parameter page
is used for pagination. page[number]
indicates the page number and page[size]
is the maximum number or resources returned. These default respectively to 1
and 25
.
All applicable links are provided in links
: first
, last
, next
, and prev
.
Additionally, meta
properties are returned to indicate totals. page-count
is the total number of pages and resource-count
is the total number of resources.
For example, to get the 4th page and show 50 resources per page, you would append the following parameters to your URL:
?page[number]=4&page[size]=50
The parameter sort
is used for sorting how resources are returned. The value should be a comma-separated list of attribute names.
Resources can be sorted both by their own attributes or on the attributes of their respective relationships using a dot ( .
) to separate the relationship name and the attributes. A minus ( -
) is used for sorting in descending order.
For example, if you wanted to sort a contact by their primary street address and then name in descending order you would use the following:
?sort=primary-address.street-1,-name
Note specifically that you do not prefix attribute names on the current resource and you use the relationship name, not the resource type, for sorting relationships (e.g primary-address
is used, not addresses
which is the resource type of the primary-address
relationship). Nested sorts are only available for resources immediately related to the current resource. You cannot, for instance, sort with an attribute like: account.owner.primary-address.country
.
Filtering can be applied on GET
calls for certain endpoints so you receive back only the information you require in the response body.
Filtering Rules
Note: It's important to note that you can't filter by every column. Right now if you try to filter or sort by something that isn't allowed, the filter or sort is silently ignored or, in the case of bad data (like a number for a date field) you'll get a 500. , Columns on which filtering is allowed:
Attributes on which filter is mentioned are columns you can apply filtering by.
Operators The current operators you can filter by:
Here are the current operators.
eq
: Equals (exact match). Used when no operator is specified.
gt
: Greater than.
gte
: Greater than or equal to.
in
: Any item is an exact match. Takes special syntax, so if you wanted something where a status was one of a few, you would pass ?filter[status in]=pending,processing.\
like
: Case insensitive search. Does NOT support wildcards as of right now.
lt
: Less than.
lte
: Less than or equal to.
neq
: NOT equal.
nin
: NOT in.
nlike
: NOT like.
sw
: Starts with. Look for strings that being with filter value. Case insensitive.
Examples of Filtering
You pass a filter parameter that is the name of a field, potentially namespaced by a relationship, and optional operator (defaults to eq if none are given)
So, to filter contacts by names starting with j:
GET /v2/contacts?filter[name sw]=j
Filter contacts by account ID:
GET /v2/contacts?filter[account.id]=
Filter contacts by primary address in Nevada:
GET /v2/contacts?filter[primary-address.region]=NV
There's also a special shorthand for filtering by id to make related links shorter. Contacts, again, by account ID:
GET /v2/contacts?account.id=
All POST
API requests are checked for the presence of a X-Idempotent-ID
header. The X-Idempotent-ID
should contain a valid UUIDv4.
If the header exists but does not contain a valid UUIDv4, a 400
error is returned. If the header exists and contains a valid UUIDv4, one of two things can happen:
X-Idempotent-ID
has already been used to successfully create/manipulate a resource in the past, then a 202
is returned with a Content-Location
header that points to the resource.
Note: In both cases there will be a X-Idempotent-ID
header in the response which exactly matches the X-Idempotent-ID
header in the request.
Example Header
X-Idempotent-Id: 1cc2f3fe-e3aa-48d6-966b-9b8a61030dd0
Idempotent requests have been improved to provide the original status code and response of a request regardless of outcome.
As with the first version of idempotency, When using the X-Idempotent-ID-V2 header the requested operation will only ever be executed on our system once as long as you send us the same UUID value on subsequent requests as you did on the first request.
However, V2 has the additional property that you will receive back the original response status code and response body every time you make the request. As soon as a response has been executed once, it will be returned to you on every subsequent request made with the same X-Idempotent-ID-V2 header value.
Example Header
X-Idempotent-ID-V2: 1cc2f3fe-e3aa-48d6-966b-9b8a61030dd0
To make authenticated requests against the API you must start by creating a user with a name, email and password.
Request
POST v2/users { "data" : { "type" : "user", "attributes" : { "email" : "{{user-email}}", "name" : "{{user-name}}", "password" : "{{password}}" } } }
Response
{ "data": { "type": "users", "id": "a94128fa-187a-44ba-b2d0-a2a9bbf9988b", "attributes": { "claims": {}, "created-at": "2019-12-03T06:04:37Z", "disabled": false, "email": "documentation@paycircle.io", "mfa-types": [], "name": "payCircle Documentation", "updated-at": "2019-12-03T06:04:37Z" }, "links": { "self": "/v2/users/a94128fa-187a-44ba-b2d0-a2a9bbf9988b" }, "relationships": { "user-groups": { "links": { "related": "/v2/user-groups?users.id=a94128fa-187a-44ba-b2d0-a2a9bbf9988b" } } } }, "included": [] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Request
POST /auth/jwts
Response
{ "token": "eyJhbGciOiJIUzI1NiJ9.eyJhdXRoX3NlY3JldCI6ImUxNWFlNjZjLTI0NzgtNDE0NC1hNTM0LWJlOTRkNzI5MGUyOCIsInVzZXJfZ3JvdXBzIjpbXSwibm93IjoxNTc1MzUzMzUwLCJleHAiOjE1NzU5NTgxNTB9.C7honVy37VztObEofwPMn7XWus6r8VpYuSk8lXwlLYw" }
Once you have created a JWT you are ready to interact with the rest of the payCircle API.
Also see for further information:
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
There are multiple times when an entity needs to clear payCircle's KYC process including account opening or if a contact is added to an account for KYC purposes. Personal identifying information (PII) of end-users in the PT system are represented as contacts.
To clear payCircle's KYC process, a contact must usually go through three different checks. These checks are listed below:
PTs compliance team requires the following information to clear the KYC process for an individual:
Documents required from an individual:
The process to clear an individual through PTs KYC process will look as follows:
Note that all documents and information should be in Latin chracters or should have translated versions of documents as well.
Request
POST v2/contacts { "data" : { "type" : "contacts", "attributes": { "account-id" : "{{account-id}}", "contact-type" : "natural_person", "name" : "John James Doe", "email" : "johndoe@email.in", "date-of-birth" : "1980-06-09", "sex" : "male", "tax-id-number" : "123123123", "tax-country" : "US", "primary-phone-number" : { "country" : "US", "number" : "1231231231", "sms" : true }, "primary-address" : { "street-1" : "123 MK Road", "street-2" : "Flat 3", "postal-code" : "89145", "city" : "Las Vegas", "region" : "NV", "country" : "US" } } } }
Response
{ "data": { "type": "contacts", "id": "7ae9525b-4127-48e8-a089-80199b0383cd", "attributes": { "account-roles": [], "aml-cleared": false, "cip-cleared": false, "contact-type": "natural_person", "date-of-birth": "1980-06-09", "email": "johndoe@email.in", "identity-confirmed": false, "identity-documents-verified": false, "name": "John James Doe", "proof-of-address-documents-verified": false, "region-of-formation": null, "sex": "male", "tax-country": "US", "tax-id-number": "123123123", "tax-state": "NV", "type": "natural-person", "created-at": "2019-12-03T17:21:04Z", "updated-at": "2019-12-03T17:21:04Z" }, "links": { "self": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" }, "relationships": { "addresses": { "links": { "related": "/v2/addresses?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "aml-checks": { "links": { "related": "/v2/aml-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "asset-transfer-methods": { "links": { "related": "/v2/asset-transfer-methods?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "cip-checks": { "links": { "related": "/v2/cip-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contact-funds-transfer-references": { "links": { "related": "/v2/contact-funds-transfer-references?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contributions": { "links": { "related": "/v2/contributions?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "disbursements": { "links": { "related": "/v2/disbursements?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "from-contact-relationships": { "links": { "related": "/v2/contact-relationships?from-contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "funds-transfer-methods": { "links": { "related": "/v2/funds-transfer-methods?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "kyc-document-checks": { "links": { "related": "/v2/kyc-document-checks?contacts.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "payment-methods": { "links": { "related": "/v2/payment-methods?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "phone-numbers": { "links": { "related": "/v2/phone-numbers?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "related-from-contacts": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd/related-from-contacts" } }, "related-to-contacts": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd/related-to-contacts" } }, "to-contact-relationships": { "links": { "related": "/v2/contact-relationships?to-contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "uploaded-documents": { "links": { "related": "/v2/uploaded-documents?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "primary-address": { "links": { "related": "/v2/addresses/a7267de0-d19f-45d6-ade6-50b92ef611d1" } }, "primary-contact": { "data": null }, "primary-phone-number": { "links": { "related": "/v2/phone-numbers/bf2a7757-b5ab-4494-ad1e-b42bc2a44d2f" } }, "latest-cip-check": { "links": { "related": "/v2/cip-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd&sort=-created-at&limit=1" } }, "latest-aml-check": { "links": { "related": "/v2/aml-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd&sort=-created-at&limit=1" } }, "latest-kyc-document-check": { "links": { "related": "/v2/kyc-document-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd&sort=-created-at&limit=1" } } } }, "included": [] }
Request
POST v2/uploaded-documents
Example in CURL
curl -X POST https://sandbox.paycircle.io/v2/uploaded-documents \ -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGfpOiJIUzI1NiJ9.eyJhdXRoX2lkIjoiZTUwODliNjItNzMwOC00ZDY3LThiNjAtMTAxZjZmNGU3MDc5IiwiZXhwIjoxNTQzNzEyMjkzfQ.T8pH1wPwfgj4lPXWroEAk0rLuE7_i2y53BBGEMY7sNA' \ -F 'contact-id=2be84953-3fd7-4442-8497-c3056b089a5e' \ -F 'label=drivers_license' \ -F 'public=false' \ -F 'file=@washington_sample_license.jpg'
Unlike other endpoints the POST request does not conform with JSONAPI and instead uses a multipart form request. Only one file can be uploaded per request. And hence a Header
with Content-Type: multipart/form-data
must be set.
Response
{ "data": { "type": "uploaded-documents", "id": "8c9e8156-e787-4490-bbd8-995fd7342098", "attributes": { "allow-download": true, "created-at": "2019-12-03T17:28:59Z", "description": null, "extension": ".png", "file-url": "https://s3.amazonaws.com/uploads.sandbox.paycircle.io/uploaded_documents/8c9e8156-e787-4490-bbd8-995fd7342098.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA3IAMB4HICHKIYMFE%2F20191203%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191203T172859Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=e2f96250226641dcbada813f77a9880c8352ca58e10555c8db102fa34f5fba9e", "label": "\"Drivers License\"", "mime-type": "image/png", "public": false, "version-urls": { "original": "https://s3.amazonaws.com/uploads.sandbox.paycircle.io/uploaded_documents/8c9e8156-e787-4490-bbd8-995fd7342098.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA3IAMB4HICHKIYMFE%2F20191203%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20191203T172859Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=e2f96250226641dcbada813f77a9880c8352ca58e10555c8db102fa34f5fba9e" } }, "links": { "self": "/v2/uploaded-documents/8c9e8156-e787-4490-bbd8-995fd7342098" }, "relationships": { "accounts": { "links": { "related": "/v2/accounts?uploaded-documents.id=8c9e8156-e787-4490-bbd8-995fd7342098" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "bank-report": { "links": { "related": "/v2/bank-reports?uploaded_documents.id=8c9e8156-e787-4490-bbd8-995fd7342098" } }, "kyc-document-check": { "links": { "related": "/v2/kyc-document-checks?uploaded-documents.id=8c9e8156-e787-4490-bbd8-995fd7342098" } }, "kyc-backside-document-check": { "links": { "related": "/v2/kyc-document-checks?uploaded-documents.id=8c9e8156-e787-4490-bbd8-995fd7342098" } } } }, "included": []
Request
POST v2/kyc-document-checks { "data" : { "type" : "kyc-document-checks", "attributes" : { "contact-id" : "{{contact-id}}", "uploaded-document-id" : "{{uploaded-document-id}}", "backside-document-id" : "{{uploaded-document-backside-id}}", "expires-on" : "2029-12-30", "identity" : true, "identity-photo" : true, "proof-of-address" : true, "kyc-document-country" : "US", "kyc-document-type" : "drivers_license" } } }
Response
{ "data": { "type": "kyc-document-checks", "id": "47a0f860-39a6-47ed-bec0-f28a6cc9eb1f", "attributes": { "created-at": "2019-12-03T17:37:49Z", "expires-on": "2029-12-30", "exceptions": [ "auto_check_failed" ], "failure-details": null, "identity": true, "identity-photo": true, "kyc-document-country": "US", "kyc-document-other-type": null, "kyc-document-type": "drivers_license", "proof-of-address": true, "status": "pending", "updated-at": "2019-12-03T17:37:49Z" }, "links": { "self": "/v2/kyc-document-checks/47a0f860-39a6-47ed-bec0-f28a6cc9eb1f" }, "relationships": { "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "uploaded-document": { "links": { "related": "/v2/uploaded-documents/8c9e8156-e787-4490-bbd8-995fd7342098" } }, "backside-document": { "links": { "related": "/v2/uploaded-documents/4d373402-1192-42d9-93f3-54a9c8851205" } } } }, "included": [] }
The checks can be monitored for exceptions or failures to see if information needs to be updated on the contact and/or if new documents need to be uploaded to clear CIP, KYC document or AML checks along with the statuses on the contact itself. These should be monitored via webhooks but can be checked for further detail as seen below.
Request
GET v2/contacts?filter[contact.id eq]={{contact-id}}&include=cip-checks,aml-checks,kyc-document-checks
Response
{ "links": { "self": "/v2/contacts?filter%5Bid+eq%5D=7ae9525b-4127-48e8-a089-80199b0383cd&include=cip-checks%2Caml-checks%2Ckyc-document-checks", "first": "/v2/contacts?filter%5Bid+eq%5D=7ae9525b-4127-48e8-a089-80199b0383cd&include=cip-checks%2Caml-checks%2Ckyc-document-checks&page%5Bnumber%5D=1&page%5Bsize%5D=25" }, "meta": { "page-count": 1, "resource-count": 1 }, "data": [ { "type": "contacts", "id": "7ae9525b-4127-48e8-a089-80199b0383cd", "attributes": { "account-roles": [], "aml-cleared": false, "cip-cleared": false, "contact-type": "natural_person", "date-of-birth": "1980-06-09", "email": "johndoe@email.in", "identity-confirmed": false, "identity-documents-verified": false, "name": "John James Doe", "proof-of-address-documents-verified": false, "region-of-formation": null, "sex": "male", "tax-country": "US", "tax-id-number": "123123123", "tax-state": "NV", "type": "natural-person", "created-at": "2019-12-03T17:21:04Z", "updated-at": "2019-12-03T17:21:04Z" }, "links": { "self": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" }, "relationships": { "addresses": { "links": { "related": "/v2/addresses?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "aml-checks": { "data": [] }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "asset-transfer-methods": { "links": { "related": "/v2/asset-transfer-methods?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "cip-checks": { "data": [ { "type": "cip-checks", "id": "782fed91-2fa5-47d6-b33a-a1a76f081e90" } ] }, "contact-funds-transfer-references": { "links": { "related": "/v2/contact-funds-transfer-references?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contributions": { "links": { "related": "/v2/contributions?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "disbursements": { "links": { "related": "/v2/disbursements?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "from-contact-relationships": { "links": { "related": "/v2/contact-relationships?from-contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "funds-transfer-methods": { "links": { "related": "/v2/funds-transfer-methods?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "kyc-document-checks": { "data": [ { "type": "kyc-document-checks", "id": "47a0f860-39a6-47ed-bec0-f28a6cc9eb1f" } ] }, "payment-methods": { "links": { "related": "/v2/payment-methods?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "phone-numbers": { "links": { "related": "/v2/phone-numbers?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "related-from-contacts": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd/related-from-contacts" } }, "related-to-contacts": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd/related-to-contacts" } }, "to-contact-relationships": { "links": { "related": "/v2/contact-relationships?to-contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "uploaded-documents": { "links": { "related": "/v2/uploaded-documents?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "primary-address": { "links": { "related": "/v2/addresses/a7267de0-d19f-45d6-ade6-50b92ef611d1" } }, "primary-contact": { "data": null }, "primary-phone-number": { "links": { "related": "/v2/phone-numbers/bf2a7757-b5ab-4494-ad1e-b42bc2a44d2f" } }, "latest-cip-check": { "links": { "related": "/v2/cip-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd&sort=-created-at&limit=1" } }, "latest-aml-check": { "links": { "related": "/v2/aml-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd&sort=-created-at&limit=1" } }, "latest-kyc-document-check": { "links": { "related": "/v2/kyc-document-checks?contact.id=7ae9525b-4127-48e8-a089-80199b0383cd&sort=-created-at&limit=1" } } } } ], "included": [ { "type": "cip-checks", "id": "782fed91-2fa5-47d6-b33a-a1a76f081e90", "attributes": { "created-at": "2019-12-03T17:21:05Z", "exceptions": [ "manual_review_required" ], "exception-details": null, "status": "pending", "updated-at": "2019-12-03T17:21:05Z" }, "links": { "self": "/v2/cip-checks/782fed91-2fa5-47d6-b33a-a1a76f081e90" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } } } }, { "type": "kyc-document-checks", "id": "47a0f860-39a6-47ed-bec0-f28a6cc9eb1f", "attributes": { "created-at": "2019-12-03T17:37:49Z", "expires-on": "2029-12-30", "exceptions": [ "auto_check_failed" ], "failure-details": null, "identity": true, "identity-photo": true, "kyc-document-country": "US", "kyc-document-other-type": null, "kyc-document-type": "drivers_license", "proof-of-address": true, "status": "pending", "updated-at": "2019-12-03T17:37:49Z" }, "links": { "self": "/v2/kyc-document-checks/47a0f860-39a6-47ed-bec0-f28a6cc9eb1f" }, "relationships": { "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "uploaded-document": { "links": { "related": "/v2/uploaded-documents/8c9e8156-e787-4490-bbd8-995fd7342098" } }, "backside-document": { "links": { "related": "/v2/uploaded-documents/4d373402-1192-42d9-93f3-54a9c8851205" } } } } ] }
Clearing a non-natural person through PT's KYC process requires more information but in terms of process is similar to clearing the KYC process for an individual.
PT's compliance team requires the following information to clear a non-natural person aka a company.
Documents Required for a company:
The PII information for beneficial owners, beneficial entities, authorized perons and associated persons can all be passed in a flat structure in the related-contacts
array as seen below. The original/main company contact will need at least one related-contact
that is a natural person but other beneficial entities must be passed in without any further related-contacts
. If beneficial entities' beneficial owners need to be passed in as they are also beneficial owners of the original company then they must be passed in as a related-contact
of the original/main company.
These related-contacts
are related-to
the original company. The first natural person contact
in this array will be treated as the primary
contact and this contact cannot be removed until this designation is moved to another natural person contact
. See contact-relationships for more information on how these contacts are related to the original company.
Request
POST v2/contacts?include=related-to-contacts { "data" : { "type" : "contacts", "attributes" : { "account-id" : "{{account-id}}", "contact-type" : "company", "name" : "Big Blockchain Ltd", "email" : "support@bb.io", "tax-id-number" : "123123123", "tax-country" : "US", "region-of-formation" : "DW", "primary-phone-number" : { "country" : "US", "number" : "7026912022", "sms" : false }, "primary-address" : { "street-1" : "330 S. Rampart", "street-2" : "Suite 260", "postal-code" : "89145", "city" : "Las Vegas", "region" : "NV", "country" : "US" }, "related-contacts" : [ { "contact-type" : "natural_person", "name" : "Jill Johnson", "email" : "jill@bb.io", "tax-id-number" : "123123123", "tax-country" : "US", "date-of-birth" : "1993-03-16", "sex" : "female", "label" : "Beneficial Owner 1 - Primary Contact", "primary-phone-number" : { "country" : "US", "number" : "7026912023", "sms" : false }, "primary-address" : { "street-1" : "330 N. Rampart", "street-2" : "Apt 270", "postal-code" : "89145", "city" : "Las Vegas", "region" : "NV", "country" : "US" } }, { "contact-type" : "natural_person", "name" : "James Johnson", "email" : "james@bb.io", "tax-id-number" : "123123123", "tax-country" : "US", "date-of-birth" : "1993-03-16", "sex" : "male", "label" : "Authorized Person", "primary-phone-number" : { "country" : "US", "number" : "7026912024", "sms" : false }, "primary-address" : { "street-1" : "330 N. Rampart", "street-2" : "Apt 280", "postal-code" : "89145", "city" : "Las Vegas", "region" : "NV", "country" : "US" } }, { "contact-type" : "company", "label" : "Beneficial Owner/Entity 2", "name" : "Parent Blockchain Company", "email" : "support@bb.io", "tax-id-number" : "123123123", "tax-country" : "US", "region-of-formation" : "DW", "primary-phone-number" : { "country" : "US", "number" : "7026912022", "sms" : false }, "primary-address" : { "street-1" : "330 S. Rampart", "street-2" : "Suite 260", "postal-code" : "89145", "city" : "Las Vegas", "region" : "NV", "country" : "US" } } ] } } }
Response
{ "data": { "type": "contacts", "id": "0e561e6b-c76f-4df7-ae18-4c9248a7edbc", "attributes": { "account-roles": [], "aml-cleared": false, "cip-cleared": false, "contact-type": "company", "date-of-birth": null, "email": "support@bb.io", "identity-confirmed": false, "identity-documents-verified": false, "name": "Big Blockchain Ltd", "proof-of-address-documents-verified": false, "region-of-formation": "DW", "sex": null, "tax-country": "US", "tax-id-number": "123123123", "tax-state": "NV", "type": "company", "created-at": "2019-12-06T19:43:21Z", "updated-at": "2019-12-06T19:43:21Z" }, "links": { "self": "/v2/contacts/0e561e6b-c76f-4df7-ae18-4c9248a7edbc" }, "relationships": { "addresses": { "links": { "related": "/v2/addresses?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "aml-checks": { "links": { "related": "/v2/aml-checks?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "asset-transfer-methods": { "links": { "related": "/v2/asset-transfer-methods?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "cip-checks": { "links": { "related": "/v2/cip-checks?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "contact-funds-transfer-references": { "links": { "related": "/v2/contact-funds-transfer-references?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "contributions": { "links": { "related": "/v2/contributions?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "disbursements": { "links": { "related": "/v2/disbursements?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "from-contact-relationships": { "links": { "related": "/v2/contact-relationships?from-contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "funds-transfer-methods": { "links": { "related": "/v2/funds-transfer-methods?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "kyc-document-checks": { "links": { "related": "/v2/kyc-document-checks?contacts.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "payment-methods": { "links": { "related": "/v2/payment-methods?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "phone-numbers": { "links": { "related": "/v2/phone-numbers?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "related-from-contacts": { "links": { "related": "/v2/contacts/0e561e6b-c76f-4df7-ae18-4c9248a7edbc/related-from-contacts" } }, "related-to-contacts": { "data": [ { "type": "contacts", "id": "82c33b58-d09f-4b73-980a-8174730b8004" }, { "type": "contacts", "id": "c0308a1b-e901-4f14-b59a-c2f974916f53" }, { "type": "contacts", "id": "d97ec18b-767e-4904-879d-b2535e2f734c" } ] }, "to-contact-relationships": { "links": { "related": "/v2/contact-relationships?to-contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "uploaded-documents": { "links": { "related": "/v2/uploaded-documents?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "primary-address": { "links": { "related": "/v2/addresses/f1f2c09e-75ae-490e-bc4d-a9e6176140a2" } }, "primary-contact": { "links": { "related": "/v2/contacts/d97ec18b-767e-4904-879d-b2535e2f734c" } }, "primary-phone-number": { "links": { "related": "/v2/phone-numbers/a79d7690-619f-4287-96b9-eb2d681a7858" } }, "latest-cip-check": { "links": { "related": "/v2/cip-checks?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc&sort=-created-at&limit=1" } }, "latest-aml-check": { "links": { "related": "/v2/aml-checks?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc&sort=-created-at&limit=1" } }, "latest-kyc-document-check": { "links": { "related": "/v2/kyc-document-checks?contact.id=0e561e6b-c76f-4df7-ae18-4c9248a7edbc&sort=-created-at&limit=1" } } } }, "included": [ { "type": "contacts", "id": "82c33b58-d09f-4b73-980a-8174730b8004", "attributes": { "account-roles": [], "aml-cleared": false, "cip-cleared": false, "contact-type": "company", "date-of-birth": null, "email": "support@bb.io", "identity-confirmed": false, "identity-documents-verified": false, "name": "Parent Blockchain Company", "proof-of-address-documents-verified": false, "region-of-formation": "DW", "sex": null, "tax-country": "US", "tax-id-number": "123123123", "tax-state": "NV", "type": "company", "created-at": "2019-12-06T19:43:21Z", "updated-at": "2019-12-06T19:43:21Z" }, "links": { "self": "/v2/contacts/82c33b58-d09f-4b73-980a-8174730b8004" }, "relationships": { "addresses": { "links": { "related": "/v2/addresses?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "aml-checks": { "links": { "related": "/v2/aml-checks?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "asset-transfer-methods": { "links": { "related": "/v2/asset-transfer-methods?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "cip-checks": { "links": { "related": "/v2/cip-checks?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "contact-funds-transfer-references": { "links": { "related": "/v2/contact-funds-transfer-references?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "contributions": { "links": { "related": "/v2/contributions?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "disbursements": { "links": { "related": "/v2/disbursements?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "from-contact-relationships": { "links": { "related": "/v2/contact-relationships?from-contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "funds-transfer-methods": { "links": { "related": "/v2/funds-transfer-methods?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "kyc-document-checks": { "links": { "related": "/v2/kyc-document-checks?contacts.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "payment-methods": { "links": { "related": "/v2/payment-methods?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "phone-numbers": { "links": { "related": "/v2/phone-numbers?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "related-from-contacts": { "links": { "related": "/v2/contacts/82c33b58-d09f-4b73-980a-8174730b8004/related-from-contacts" } }, "related-to-contacts": { "data": [] }, "to-contact-relationships": { "links": { "related": "/v2/contact-relationships?to-contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "uploaded-documents": { "links": { "related": "/v2/uploaded-documents?contact.id=82c33b58-d09f-4b73-980a-8174730b8004" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "primary-address": { "links": { "related": "/v2/addresses/b0734f34-2ac1-49ac-a8b2-d69d938a099d" } }, "primary-contact": { "data": null }, "primary-phone-number": { "links": { "related": "/v2/phone-numbers/e2538d87-6c40-4bf5-8678-02c2844b1310" } }, "latest-cip-check": { "links": { "related": "/v2/cip-checks?contact.id=82c33b58-d09f-4b73-980a-8174730b8004&sort=-created-at&limit=1" } }, "latest-aml-check": { "links": { "related": "/v2/aml-checks?contact.id=82c33b58-d09f-4b73-980a-8174730b8004&sort=-created-at&limit=1" } }, "latest-kyc-document-check": { "links": { "related": "/v2/kyc-document-checks?contact.id=82c33b58-d09f-4b73-980a-8174730b8004&sort=-created-at&limit=1" } } } }, { "type": "contacts", "id": "c0308a1b-e901-4f14-b59a-c2f974916f53", "attributes": { "account-roles": [], "aml-cleared": false, "cip-cleared": false, "contact-type": "natural_person", "date-of-birth": "1993-03-16", "email": "james@bb.io", "identity-confirmed": false, "identity-documents-verified": false, "name": "James Johnson", "proof-of-address-documents-verified": false, "region-of-formation": null, "sex": "male", "tax-country": "US", "tax-id-number": "123123123", "tax-state": "NV", "type": "natural-person", "created-at": "2019-12-06T19:43:21Z", "updated-at": "2019-12-06T19:43:21Z" }, "links": { "self": "/v2/contacts/c0308a1b-e901-4f14-b59a-c2f974916f53" }, "relationships": { "addresses": { "links": { "related": "/v2/addresses?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "aml-checks": { "links": { "related": "/v2/aml-checks?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "asset-transfer-methods": { "links": { "related": "/v2/asset-transfer-methods?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "cip-checks": { "links": { "related": "/v2/cip-checks?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "contact-funds-transfer-references": { "links": { "related": "/v2/contact-funds-transfer-references?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "contributions": { "links": { "related": "/v2/contributions?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "disbursements": { "links": { "related": "/v2/disbursements?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "from-contact-relationships": { "links": { "related": "/v2/contact-relationships?from-contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "funds-transfer-methods": { "links": { "related": "/v2/funds-transfer-methods?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "kyc-document-checks": { "links": { "related": "/v2/kyc-document-checks?contacts.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "payment-methods": { "links": { "related": "/v2/payment-methods?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "phone-numbers": { "links": { "related": "/v2/phone-numbers?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "related-from-contacts": { "links": { "related": "/v2/contacts/c0308a1b-e901-4f14-b59a-c2f974916f53/related-from-contacts" } }, "related-to-contacts": { "data": [] }, "to-contact-relationships": { "links": { "related": "/v2/contact-relationships?to-contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "uploaded-documents": { "links": { "related": "/v2/uploaded-documents?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "primary-address": { "links": { "related": "/v2/addresses/815d6c9d-b40d-4c14-bf11-34877621d1af" } }, "primary-contact": { "data": null }, "primary-phone-number": { "links": { "related": "/v2/phone-numbers/2e86f030-ab35-4304-b3e7-e5ddf3302d41" } }, "latest-cip-check": { "links": { "related": "/v2/cip-checks?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53&sort=-created-at&limit=1" } }, "latest-aml-check": { "links": { "related": "/v2/aml-checks?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53&sort=-created-at&limit=1" } }, "latest-kyc-document-check": { "links": { "related": "/v2/kyc-document-checks?contact.id=c0308a1b-e901-4f14-b59a-c2f974916f53&sort=-created-at&limit=1" } } } }, { "type": "contacts", "id": "d97ec18b-767e-4904-879d-b2535e2f734c", "attributes": { "account-roles": [], "aml-cleared": false, "cip-cleared": false, "contact-type": "natural_person", "date-of-birth": "1993-03-16", "email": "jill@bb.io", "identity-confirmed": false, "identity-documents-verified": false, "name": "Jill Johnson", "proof-of-address-documents-verified": false, "region-of-formation": null, "sex": "female", "tax-country": "US", "tax-id-number": "123123123", "tax-state": "NV", "type": "natural-person", "created-at": "2019-12-06T19:43:21Z", "updated-at": "2019-12-06T19:43:21Z" }, "links": { "self": "/v2/contacts/d97ec18b-767e-4904-879d-b2535e2f734c" }, "relationships": { "addresses": { "links": { "related": "/v2/addresses?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "aml-checks": { "links": { "related": "/v2/aml-checks?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "asset-transfer-methods": { "links": { "related": "/v2/asset-transfer-methods?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "cip-checks": { "links": { "related": "/v2/cip-checks?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "contact-funds-transfer-references": { "links": { "related": "/v2/contact-funds-transfer-references?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "contributions": { "links": { "related": "/v2/contributions?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "disbursements": { "links": { "related": "/v2/disbursements?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "from-contact-relationships": { "links": { "related": "/v2/contact-relationships?from-contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "funds-transfer-methods": { "links": { "related": "/v2/funds-transfer-methods?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "kyc-document-checks": { "links": { "related": "/v2/kyc-document-checks?contacts.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "payment-methods": { "links": { "related": "/v2/payment-methods?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "phone-numbers": { "links": { "related": "/v2/phone-numbers?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "related-from-contacts": { "links": { "related": "/v2/contacts/d97ec18b-767e-4904-879d-b2535e2f734c/related-from-contacts" } }, "related-to-contacts": { "data": [] }, "to-contact-relationships": { "links": { "related": "/v2/contact-relationships?to-contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "uploaded-documents": { "links": { "related": "/v2/uploaded-documents?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "primary-address": { "links": { "related": "/v2/addresses/2a0d612c-fc56-4bb0-8fc2-147a5d67ad15" } }, "primary-contact": { "data": null }, "primary-phone-number": { "links": { "related": "/v2/phone-numbers/deb74065-f87e-42b7-8400-53c56a42278d" } }, "latest-cip-check": { "links": { "related": "/v2/cip-checks?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c&sort=-created-at&limit=1" } }, "latest-aml-check": { "links": { "related": "/v2/aml-checks?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c&sort=-created-at&limit=1" } }, "latest-kyc-document-check": { "links": { "related": "/v2/kyc-document-checks?contact.id=d97ec18b-767e-4904-879d-b2535e2f734c&sort=-created-at&limit=1" } } } } ] }
CIP checks and KYC document checks can be cleared in the sandbox environment as seen below. AML checks will clear themselves automatically in sandbox but there are endpoints that allow for them to cleared in sandbox as well.
Request
POST v2/cip-checks/{{cip-check-id}}/sandbox/approve
Response
{ "data": { "type": "cip-checks", "id": "782fed91-2fa5-47d6-b33a-a1a76f081e90", "attributes": { "created-at": "2019-12-03T17:21:05Z", "exceptions": [ "manual_review_required" ], "exception-details": null, "status": "approved", "updated-at": "2019-12-03T17:21:05Z" }, "links": { "self": "/v2/cip-checks/782fed91-2fa5-47d6-b33a-a1a76f081e90" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } } } }, "included": [] }
Request
POST v2/kyc-document-checks/{{kyc-document-check-id}}/sandbox/verify
Response
{ "data": { "type": "kyc-document-checks", "id": "47a0f860-39a6-47ed-bec0-f28a6cc9eb1f", "attributes": { "created-at": "2019-12-03T17:37:49Z", "expires-on": "2029-12-30", "exceptions": [ "auto_check_failed" ], "failure-details": null, "identity": true, "identity-photo": true, "kyc-document-country": "US", "kyc-document-other-type": null, "kyc-document-type": "drivers_license", "proof-of-address": true, "status": "verified", "updated-at": "2019-12-03T17:37:49Z" }, "links": { "self": "/v2/kyc-document-checks/47a0f860-39a6-47ed-bec0-f28a6cc9eb1f" }, "relationships": { "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "uploaded-document": { "links": { "related": "/v2/uploaded-documents/8c9e8156-e787-4490-bbd8-995fd7342098" } }, "backside-document": { "links": { "related": "/v2/uploaded-documents/4d373402-1192-42d9-93f3-54a9c8851205" } } } }, "included": [] }
When creating a Contact or an Account with a Contact in Sandbox through POST /v2/contacts
and POST /v2/accounts
respectively, you have the ability to trigger CIP, AML and KYC checks using the Contact’s name
attribute. The Contact’s name needs to be prefixed with sandbox_exceptions
followed by a whitespace delimited string of desired exception codes that correspond to specific errors per type of check (shown below).
Example:
sandbox_exceptions 2 4
deceased_auto_check_failed
and an AML check with an exception attribute including currency_risk_auto_check_failed
AML check
0 -> access_auto_check_failed 2 -> currency_risk_auto_check_failed 8 -> sanctions_screening_auto_check_failed
CIP check
0 -> access_auto_check_failed 1 -> address_auto_check_failed 3 -> date_of_birth_auto_check_failed 4 -> deceased_auto_check_failed 6 -> name_and_address_auto_check_failed 7 -> name_auto_check_failed 10 -> tax_id_number_auto_check_failed
KYC document check
0 -> access_auto_check_failed 1 -> address_auto_check_failed 3 -> date_of_birth_auto_check_failed 5 -> document_valid_auto_check_failed 9 -> tax_country_auto_check_failed
Also see for further information.
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Once an account has been created funds can be added to an account. Funds can be quickly added in sandbox via the below endpoint without following the same steps as needed in production.
Request
POST v2/accounts/{{account-id}}/sandbox/fund { "data" : { "type" : "accounts", "attributes" :{ "amount" : "50000" } } }
Response
{ "data": { "type": "cash-transactions", "id": "94367cf8-183e-48d0-ac86-9b5eb75ebed4", "attributes": { "amount": 50000, "comments-1": "Test funds contributed.", "comments-2": null, "comments-3": null, "comments-4": null, "created-at": "2019-12-03T18:52:28Z", "currency-type": "USD", "effective-at": "2019-12-03T18:52:28Z", "funds-transfer-type": "sandbox", "ops-reference": null, "reconciled": false, "settled-on": "2019-12-03", "special-type": null }, "links": { "self": "/v2/cash-transactions/94367cf8-183e-48d0-ac86-9b5eb75ebed4" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "funds-transfer": { "data": null }, "account-cash-transfer-from": { "links": { "related": "/v2/account-cash-transfers/?from-cash-transaction.id=94367cf8-183e-48d0-ac86-9b5eb75ebed4" } }, "account-cash-transfer-to": { "links": { "related": "/v2/account-cash-transfers/?to-cash-transaction.id=94367cf8-183e-48d0-ac86-9b5eb75ebed4" } }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "reconcile-item": { "links": { "related": "/v2/reconcile-items/cash-transactions.id=94367cf8-183e-48d0-ac86-9b5eb75ebed4&one" } } } }, "included": [] }
The steps to deposit funds depend on the funds-transfer-type.
Steps to deposit funds for a wire or check:
Request
POST v2/contact-funds-transfer-references { "data" : { "type" : "contact-funds-transfer-references", "attributes" : { "account-id" : "{{account-id}}", "contact-id" : "{{contact-id}}" } } }
Response
{ "data": { "type": "contact-funds-transfer-references", "id": "e23cfa72-6d0c-43b3-9d2f-24646ec31c09", "attributes": { "reference": "QNCUSNTW3", "account-id": "2053f64b-3631-4e64-a611-0bd09e687af6", "contact-id": "7ae9525b-4127-48e8-a089-80199b0383cd" }, "links": { "self": "/v2/contact-funds-transfer-references/e23cfa72-6d0c-43b3-9d2f-24646ec31c09" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } } } }, "included": [] }
Steps to deposit funds via ACH or credit/debit card:
Request
POST v2/funds-transfer-methods { "data" : { "type" : "funds-transfer-methods", "attributes" : { "contact-id" : "{{contact-id}}", "bank-account-name" : "John James Doe", "routing-number" : "123456789", "ip-address" : "2001:0db8:85a3:0000:0000:8a2e:0370:7334", "bank-account-type" : "checking", "bank-account-number" : "1234567890", "ach-check-type" : "personal", "funds-transfer-type" : "ach" } } }
Response
{ "data": { "type": "funds-transfer-methods", "id": "cf91c5e7-aebf-4c48-a5e6-365a7e9c834d", "attributes": { "ach-check-type": "personal", "bank-account-name": "John James Doe", "bank-account-type": "checking", "bank-name": null, "check-payee": null, "contact-email": "johndoe@email.in", "contact-name": "John James Doe", "credit-card-name": null, "credit-card-postal-code": null, "credit-card-type": null, "credit-card-expiration-date": null, "funds-transfer-type": "ach", "further-credit-account-name": null, "further-credit-account-number": null, "iban": null, "inactive": false, "intermediary-bank-name": null, "intermediary-bank-reference": null, "ip-address": "2001:db8:85a3::8a2e:370:7334", "label": null, "last-4": "7890", "routing-number": "123456789", "swift-code": null }, "links": { "self": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" }, "relationships": { "aml-checks": { "links": { "related": "/v2/aml-checks?funds-transfer-method.id=cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "contributions": { "links": { "related": "/v2/contributions?funds-transfer-method.id=cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "disbursements": { "links": { "related": "/v2/disbursements?funds-transfer-method.id=cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?funds-transfer-method.id=cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "bank": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d/bank" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "credit-card-resource": { "links": { "related": "/v2/credit-card-resources/" } }, "plaid-item": { "data": null }, "bank-address": { "data": null }, "beneficiary-address": { "data": null }, "intermediary-bank-address": { "data": null }, "mailing-address": { "data": null } } }, "included": [] }
Request
POST v2/contributions?include=funds-transfer { "data" : { "type" : "contributions", "attributes" : { "amount" : "500", "contact-id" : "{{contact-id}}", "funds-transfer-method-id" : "{{funds-transfer-method-id}}", "account-id" : "{{account-id}}" } } }
Response
{ "data": { "type": "contributions", "id": "7ef54475-c6d1-4a7f-8e85-a4052f5e8d00", "attributes": { "amount": 500, "currency-type": "USD", "amount-expected": 500, "contributor-email": "johndoe@email.in", "contributor-name": "John James Doe", "created-at": "2019-12-03T19:06:17Z", "funds-transfer-details": null, "funds-transfer-type": "ach", "message": null, "reference": null, "special-instructions": null, "special-type": null, "status": "pending", "payment-details": null, "payment-type": "ach", "reference-number": null, "transaction-number": null }, "links": { "self": "/v2/contributions/7ef54475-c6d1-4a7f-8e85-a4052f5e8d00" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts?funds-transfers.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "contribution-drive": { "links": { "related": "/v2/contribution-drives/1a4fd7a9-875f-451a-b237-49f77ab88261" } }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "funds-transfer": { "data": { "type": "funds-transfers", "id": "662ba985-731b-4ecd-83de-ceba0d54de96" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "payment-method": { "links": { "related": "/v2/payment-methods?funds-transfers.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } } } }, "included": [ { "type": "funds-transfers", "id": "662ba985-731b-4ecd-83de-ceba0d54de96", "attributes": { "amount": 500, "amount-expected": 500, "cancelled-at": null, "clears-on": null, "created-at": "2019-12-03T19:06:17Z", "contingencies-cleared-on": null, "currency-type": "USD", "funds-source-name": "John James Doe", "funds-transfer-type": "ach", "reference": null, "reversal-details": null, "settlement-details": null, "special-instructions": null, "special-type": null, "status": "pending" }, "links": { "self": "/v2/funds-transfers/662ba985-731b-4ecd-83de-ceba0d54de96" }, "relationships": { "children": { "links": { "related": "/v2/funds-transfers?parent.id=662ba985-731b-4ecd-83de-ceba0d54de96" } }, "contingent-holds": { "links": { "related": "/v2/contingent-holds?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96" } }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contribution": { "links": { "related": "/v2/contributions?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "parent": { "data": null }, "refund": { "data": null }, "reversed-cash-transaction": { "data": null }, "settled-cash-transaction": { "data": null }, "shortage-from-child": { "data": null }, "surplus-to-child": { "data": null } } } ] }
Once a contribution has been made the associated funds-transfer should be watched for settlement to see that the funds have been received. The account cash total for the account will also update when the funds have been settled to an account. Note that though funds may settle they may not have cleared or be available for transfer out of the account till all contingent holds related to the corresponding funds-transfer have cleared. Contingent Holds can also be cleared in sandbox as seen below. Once a funds-transfer
settles a corresponding cash transaction will be created. Funds Transfers can also be reversed
in case of an ACH failure or credit/debit chargeback creating an offsetting cash-transaction
.
In sandbox to settle the funds-transfer to an account use the following.
Request
POST v2/funds-transfers/{{funds-transfer-id}}/sandbox/settle
Response
{ "data": { "type": "funds-transfers", "id": "662ba985-731b-4ecd-83de-ceba0d54de96", "attributes": { "amount": 500.0, "amount-expected": 500.0, "cancelled-at": null, "clears-on": "2019-12-13", "created-at": "2019-12-03T19:06:17Z", "contingencies-cleared-on": null, "currency-type": "USD", "funds-source-name": "John James Doe", "funds-transfer-type": "ach", "reference": null, "reversal-details": null, "settlement-details": "Settled via sandbox API", "special-instructions": null, "special-type": null, "status": "settled" }, "links": { "self": "/v2/funds-transfers/662ba985-731b-4ecd-83de-ceba0d54de96" }, "relationships": { "children": { "links": { "related": "/v2/funds-transfers?parent.id=662ba985-731b-4ecd-83de-ceba0d54de96" } }, "contingent-holds": { "links": { "related": "/v2/contingent-holds?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96" } }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contribution": { "links": { "related": "/v2/contributions?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "parent": { "data": null }, "refund": { "data": null }, "reversed-cash-transaction": { "data": null }, "settled-cash-transaction": { "links": { "related": "/v2/cash-transactions/e94412a9-4545-44b6-8a8d-cf4f23a3936e" } }, "shortage-from-child": { "data": null }, "surplus-to-child": { "data": null } } }, "included": [] }
Request
GET v2/funds-transfers?filter[id eq]={{funds-transfer-id}}&include=contingent-holds
Response
{ "links": { "self": "/v2/funds-transfers?filter%5Bid+eq%5D=662ba985-731b-4ecd-83de-ceba0d54de96&include=contingent-holds", "first": "/v2/funds-transfers?filter%5Bid+eq%5D=662ba985-731b-4ecd-83de-ceba0d54de96&include=contingent-holds&page%5Bnumber%5D=1&page%5Bsize%5D=25" }, "meta": { "page-count": 1, "resource-count": 2 }, "data": [ { "type": "funds-transfers", "id": "662ba985-731b-4ecd-83de-ceba0d54de96", "attributes": { "amount": 500.0, "amount-expected": 500.0, "cancelled-at": null, "clears-on": "2019-12-13", "created-at": "2019-12-03T19:06:17Z", "contingencies-cleared-on": null, "currency-type": "USD", "funds-source-name": "John James Doe", "funds-transfer-type": "ach", "reference": null, "reversal-details": null, "settlement-details": "Settled via sandbox API", "special-instructions": null, "special-type": null, "status": "settled" }, "links": { "self": "/v2/funds-transfers/662ba985-731b-4ecd-83de-ceba0d54de96" }, "relationships": { "children": { "links": { "related": "/v2/funds-transfers?parent.id=662ba985-731b-4ecd-83de-ceba0d54de96" } }, "contingent-holds": { "data": [ { "type": "contingent-holds", "id": "d5fbe26e-523b-4672-b8a0-0fae2c6b919b" }, { "type": "contingent-holds", "id": "e0a1c5c2-be33-4391-afe6-a158ff85efec" } ] }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contribution": { "links": { "related": "/v2/contributions?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?funds-transfer.id=662ba985-731b-4ecd-83de-ceba0d54de96&one" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "parent": { "data": null }, "refund": { "data": null }, "reversed-cash-transaction": { "data": null }, "settled-cash-transaction": { "links": { "related": "/v2/cash-transactions/e94412a9-4545-44b6-8a8d-cf4f23a3936e" } }, "shortage-from-child": { "data": null }, "surplus-to-child": { "data": null } } } ], "included": [ { "type": "contingent-holds", "id": "d5fbe26e-523b-4672-b8a0-0fae2c6b919b", "attributes": { "cleared-at": null, "created-at": "2019-12-03T19:14:56Z", "hold-type": "funds_not_cleared", "message": null, "status": "pending" }, "links": { "self": "/v2/contingent-holds/d5fbe26e-523b-4672-b8a0-0fae2c6b919b" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "funds-transfer": { "links": { "related": "/v2/funds-transfers/662ba985-731b-4ecd-83de-ceba0d54de96" } }, "asset-transfer": { "links": { "related": "/v2/asset-transfers/" } } } }, { "type": "contingent-holds", "id": "e0a1c5c2-be33-4391-afe6-a158ff85efec", "attributes": { "cleared-at": "2019-12-03T19:14:56Z", "created-at": "2019-12-03T19:14:56Z", "hold-type": "aml_check", "message": null, "status": "cleared" }, "links": { "self": "/v2/contingent-holds/e0a1c5c2-be33-4391-afe6-a158ff85efec" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "funds-transfer": { "links": { "related": "/v2/funds-transfers/662ba985-731b-4ecd-83de-ceba0d54de96" } }, "asset-transfer": { "links": { "related": "/v2/asset-transfers/" } } } } ] }
Request
POST v2/contingent-holds/{{contingent-hold-id}}/sandbox/clear
Response
{ "data": { "type": "contingent-holds", "id": "d5fbe26e-523b-4672-b8a0-0fae2c6b919b", "attributes": { "cleared-at": "2019-12-03T19:19:09Z", "created-at": "2019-12-03T19:14:56Z", "hold-type": "funds_not_cleared", "message": null, "status": "cleared" }, "links": { "self": "/v2/contingent-holds/d5fbe26e-523b-4672-b8a0-0fae2c6b919b" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "funds-transfer": { "links": { "related": "/v2/funds-transfers/662ba985-731b-4ecd-83de-ceba0d54de96" } }, "asset-transfer": { "links": { "related": "/v2/asset-transfers/" } } } }, "included": [] }
Also see for more information.
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Funds can be transferred between accounts if the accounts can be accessed by the same user or the sending account is whitelisted to deposit to the receiving account and the user has full-control
or manage
level access to the sending account. If the receiving account is not controlled by the same user then the receving account must whitelist the receiving account via account transfer authorizations.
For the sake of this guide it will be assumed that the user has access to both accounts. Funds can then be as transferred using account-cash-transfers as seen below. Based on the account-policy the transfer will settle instantly or will need to be reviewed via account-cash-transfer-reviews. Once an account-cash-transfer
settles corresponding [cash transactions](#tag/Cash- Transactions) will be created for both accounts.
Request
POST v2/account-cash-transfers?include=from-account-cash-totals,to-account-cash-totals { "data" : { "type" : "account-cash-transfers", "attributes" : { "amount" : "100", "from-account-id" : "{{account-id}}", "to-account-id" : "{{account-id-2}}" } } }
Response
{ "data": { "type": "account-cash-transfers", "id": "80ab5f75-cbce-4cca-8d3a-41aa022d1c9a", "attributes": { "amount": 100, "created-at": "2019-12-03T19:54:48Z", "currency-type": "USD", "reference": null, "status": "settled", "updated-at": "2019-12-03T19:54:48Z", "reversal-details": null }, "links": { "self": "/v2/account-cash-transfers/80ab5f75-cbce-4cca-8d3a-41aa022d1c9a" }, "relationships": { "from-account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "from-account-cash-totals": { "data": [ { "type": "account-cash-totals", "id": "a9a90c79-cf69-ff1c-a3f5-d6cfcab18169" } ] }, "from-cash-transaction": { "links": { "related": "/v2/cash-transactions/b718b654-e516-43af-a754-86e80bee7b15" } }, "from-reversed-cash-transaction": { "data": null }, "to-account": { "links": { "related": "/v2/accounts/df4277d8-cd12-4c5c-94c6-c25cff6cec7f" } }, "to-account-cash-totals": { "data": [ { "type": "account-cash-totals", "id": "a301ba53-ac47-23db-f95b-a0dede9d1eda" } ] }, "to-cash-transaction": { "links": { "related": "/v2/cash-transactions/3178d17f-483c-4c7f-b9a7-0afa5c2d3f6d" } }, "to-reversed-cash-transaction": { "data": null }, "currency": { "links": { "related": "/v2/currencies/USD" } } } }, "included": [ { "type": "account-cash-totals", "id": "a9a90c79-cf69-ff1c-a3f5-d6cfcab18169", "attributes": { "contingent-hold": 0, "currency-type": "USD", "disbursable": 50200, "pending-transfer": 0, "settled": 50200, "updated-at": "2019-12-03T19:54:48Z" }, "links": { "self": "/v2/account-cash-totals/a9a90c79-cf69-ff1c-a3f5-d6cfcab18169" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "currency": { "links": { "related": "/v2/currencies/USD" } } } }, { "type": "account-cash-totals", "id": "a301ba53-ac47-23db-f95b-a0dede9d1eda", "attributes": { "contingent-hold": 0, "currency-type": "USD", "disbursable": 300, "pending-transfer": 0, "settled": 300, "updated-at": "2019-12-03T19:54:48Z" }, "links": { "self": "/v2/account-cash-totals/a301ba53-ac47-23db-f95b-a0dede9d1eda" }, "relationships": { "account": { "links": { "related": "/v2/accounts/df4277d8-cd12-4c5c-94c6-c25cff6cec7f" } }, "currency": { "links": { "related": "/v2/currencies/USD" } } } } ] }
Also see for further information.
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
To be able to withdraw funds from an account, the account must be open
, the account must have disbursements-frozen
set to false
, and have disbursable
funds of the currency-type
being disbursed. Once these criteria have been met funds can be withdrawn from an account via disbursements with a funds-transfer-method. The steps to make a disbursement out of an account is as follows.
funds-transfer-method
of the desired outgoing funds-transfer-type
. This can also be created in line with the disbursement. disbursement
with the appropriate funds-transfer-method
. Seen below is a disbursement made with a wire
funds-transfer-method
. Since a contact
is specified the beneficiary-address
will be assumed from the linked contact
.
Note that a user provided reference
can also be provided on the disbursement.
Request
POST v2/funds-transfer-methods?include=bank { "data" : { "type" : "funds-transfer-methods", "attributes" : { "contact-id" : "{{contact-id}}", "bank-account-name" : "John James Doe", "bank-account-number" : "123456890", "routing-number" : "123456789", "funds-transfer-type" : "wire" } } }
Response
{ "data": { "type": "funds-transfer-methods", "id": "4b4b265d-904e-4efc-8e2f-041f9468c391", "attributes": { "ach-check-type": null, "bank-account-name": "John James Doe", "bank-account-type": "checking", "bank-name": null, "check-payee": null, "contact-email": "johndoe@email.in", "contact-name": "John James Doe", "credit-card-name": null, "credit-card-postal-code": null, "credit-card-type": null, "credit-card-expiration-date": null, "funds-transfer-type": "wire", "further-credit-account-name": null, "further-credit-account-number": null, "iban": null, "inactive": false, "intermediary-bank-name": null, "intermediary-bank-reference": null, "ip-address": null, "label": null, "last-4": "6890", "routing-number": "123456789", "swift-code": null }, "links": { "self": "/v2/funds-transfer-methods/4b4b265d-904e-4efc-8e2f-041f9468c391" }, "relationships": { "aml-checks": { "links": { "related": "/v2/aml-checks?funds-transfer-method.id=4b4b265d-904e-4efc-8e2f-041f9468c391" } }, "contributions": { "links": { "related": "/v2/contributions?funds-transfer-method.id=4b4b265d-904e-4efc-8e2f-041f9468c391" } }, "disbursements": { "links": { "related": "/v2/disbursements?funds-transfer-method.id=4b4b265d-904e-4efc-8e2f-041f9468c391" } }, "funds-transfers": { "links": { "related": "/v2/funds-transfers?funds-transfer-method.id=4b4b265d-904e-4efc-8e2f-041f9468c391" } }, "bank": { "data": { "type": "banks", "id": "5509d447-81aa-4da3-abea-0935ba310ef0" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "credit-card-resource": { "links": { "related": "/v2/credit-card-resources/" } }, "plaid-item": { "data": null }, "bank-address": { "data": null }, "beneficiary-address": { "links": { "related": "/v2/funds-transfer-methods/4b4b265d-904e-4efc-8e2f-041f9468c391/beneficiary-address" } }, "intermediary-bank-address": { "data": null }, "mailing-address": { "data": null } } }, "included": [ { "type": "banks", "id": "5509d447-81aa-4da3-abea-0935ba310ef0", "attributes": { "name": "test", "routing-number": "123456789", "routing-number-type": "aba" }, "links": { "self": "/v2/banks/5509d447-81aa-4da3-abea-0935ba310ef0" }, "relationships": { "address": { "links": { "related": "/v2/banks/5509d447-81aa-4da3-abea-0935ba310ef0/address" } } } } ] }
Request
POST v2/disbursements?include=funds-transfer,disbursement-authorization { "data" : { "type" : "disbursements", "attributes" : { "account-id" : "{{account-id}}", "funds-transfer-method-id" : "{{funds-transfer-method-id}}", "amount" : "1000", "reference" : "MMXYZ123" } } }
Response
{ "data": { "type": "disbursements", "id": "1e57b895-08ac-4760-8cbe-6aa996a7e402", "attributes": { "amount": 1000, "created-at": "2019-12-03T23:15:01Z", "description": null, "customer-reference": "MMXYZ123", "currency-type": "USD", "payment-details": null, "reference-number": null, "special-type": null, "status": "pending", "transaction-number": null }, "links": { "self": "/v2/disbursements/1e57b895-08ac-4760-8cbe-6aa996a7e402" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts?funds-transfers.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "disbursement-authorization": { "data": { "type": "disbursement-authorizations", "id": "ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9" } }, "funds-transfer": { "data": { "type": "funds-transfers", "id": "5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "payment-method": { "links": { "related": "/v2/payment-methods?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } } } }, "included": [ { "type": "funds-transfers", "id": "5168f675-b9a9-474c-8c2e-52a1c2fb0209", "attributes": { "amount": -1000, "amount-expected": null, "cancelled-at": null, "clears-on": null, "created-at": "2019-12-03T23:15:01Z", "contingencies-cleared-on": null, "currency-type": "USD", "funds-source-name": null, "funds-transfer-type": "ach", "reference": "MMXYZ123", "reversal-details": null, "settlement-details": null, "special-instructions": null, "special-type": null, "status": "pending" }, "links": { "self": "/v2/funds-transfers/5168f675-b9a9-474c-8c2e-52a1c2fb0209" }, "relationships": { "children": { "links": { "related": "/v2/funds-transfers?parent.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "contingent-holds": { "links": { "related": "/v2/contingent-holds?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contribution": { "links": { "related": "/v2/contributions?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "disbursement-authorization": { "data": { "type": "disbursement-authorizations", "id": "ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "parent": { "data": null }, "refund": { "data": null }, "reversed-cash-transaction": { "data": null }, "settled-cash-transaction": { "data": null }, "shortage-from-child": { "data": null }, "surplus-to-child": { "data": null } } }, { "type": "disbursement-authorizations", "id": "ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9", "attributes": { "authorized-at": null, "created-at": "2019-12-03T23:15:01Z", "last-owner-verification-request-at": "2019-12-03T23:15:01Z", "owner-verification-data": null, "owner-verification-type": "email", "owner-verified-at": null, "status": "pending" }, "links": { "self": "/v2/disbursement-authorizations/ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "asset-disbursement": { "data": null }, "funds-transfer": { "data": { "type": "funds-transfers", "id": "5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "asset-transfer": { "data": null } } } ] }
The lifecycle of the disbursement request should be tracked via the corresponding funds-transfer. An outgoing funds-transfer needs to be verified and authorized via the disbursement-authorization and all related contingent-holds also need to be cleared before the outgoing funds-transfer
can be settled.
Request
GET v2/funds-transfers?filter[id eq]={{funds-transfer-outgoing-id}}&include=contingent-holds,disbursement-authorization
Response
{ "links": { "self": "/v2/funds-transfers?filter%5Bid+eq%5D=5168f675-b9a9-474c-8c2e-52a1c2fb0209&include=contingent-holds%2Cdisbursement-authorization", "first": "/v2/funds-transfers?filter%5Bid+eq%5D=5168f675-b9a9-474c-8c2e-52a1c2fb0209&include=contingent-holds%2Cdisbursement-authorization&page%5Bnumber%5D=1&page%5Bsize%5D=25" }, "meta": { "page-count": 1, "resource-count": 2 }, "data": [ { "type": "funds-transfers", "id": "5168f675-b9a9-474c-8c2e-52a1c2fb0209", "attributes": { "amount": -1000.0, "amount-expected": null, "cancelled-at": null, "clears-on": null, "created-at": "2019-12-03T23:15:01Z", "contingencies-cleared-on": null, "currency-type": "USD", "funds-source-name": null, "funds-transfer-type": "ach", "reference": "MMXYZ123", "reversal-details": null, "settlement-details": null, "special-instructions": null, "special-type": null, "status": "pending" }, "links": { "self": "/v2/funds-transfers/5168f675-b9a9-474c-8c2e-52a1c2fb0209" }, "relationships": { "children": { "links": { "related": "/v2/funds-transfers?parent.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "contingent-holds": { "data": [ { "type": "contingent-holds", "id": "2bb9ea60-b1c7-4fed-b773-42f29ddfaef3" }, { "type": "contingent-holds", "id": "edd239fb-3ec9-446a-bd38-3263f4df8eb6" } ] }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contribution": { "links": { "related": "/v2/contributions?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "disbursement-authorization": { "data": { "type": "disbursement-authorizations", "id": "ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "parent": { "data": null }, "refund": { "data": null }, "reversed-cash-transaction": { "data": null }, "settled-cash-transaction": { "data": null }, "shortage-from-child": { "data": null }, "surplus-to-child": { "data": null } } } ], "included": [ { "type": "contingent-holds", "id": "2bb9ea60-b1c7-4fed-b773-42f29ddfaef3", "attributes": { "cleared-at": null, "created-at": "2019-12-03T23:15:01Z", "hold-type": "aml_check", "message": null, "status": "pending" }, "links": { "self": "/v2/contingent-holds/2bb9ea60-b1c7-4fed-b773-42f29ddfaef3" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "funds-transfer": { "links": { "related": "/v2/funds-transfers/5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "asset-transfer": { "links": { "related": "/v2/asset-transfers/" } } } }, { "type": "contingent-holds", "id": "edd239fb-3ec9-446a-bd38-3263f4df8eb6", "attributes": { "cleared-at": null, "created-at": "2019-12-03T23:15:01Z", "hold-type": "disbursement_authorization", "message": null, "status": "pending" }, "links": { "self": "/v2/contingent-holds/edd239fb-3ec9-446a-bd38-3263f4df8eb6" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "funds-transfer": { "links": { "related": "/v2/funds-transfers/5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "asset-transfer": { "links": { "related": "/v2/asset-transfers/" } } } }, { "type": "disbursement-authorizations", "id": "ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9", "attributes": { "authorized-at": null, "created-at": "2019-12-03T23:15:01Z", "last-owner-verification-request-at": "2019-12-03T23:15:01Z", "owner-verification-data": null, "owner-verification-type": "email", "owner-verified-at": null, "status": "pending" }, "links": { "self": "/v2/disbursement-authorizations/ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "asset-disbursement": { "data": null }, "funds-transfer": { "links": { "related": "/v2/funds-transfers/5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "asset-transfer": { "data": null } } } ] }
The disbursement-authorization is verified via a customizable email sent to the emails listed on contacts linked to the account with an account-role
of owner
. It can be cleared in sandbox as seen below. Generally authorization is automatic after the disbursement-authorization
has been owner-verified
but this depends on the account-policy, this can also be done in sandbox.
Request
{{env}}/v2/disbursement-authorizations/{{disbursement-authorization-id}}/sandbox/verify-owner
Response
{ "data": { "type": "disbursement-authorizations", "id": "ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9", "attributes": { "authorized-at": "2019-12-03T23:33:23Z", "created-at": "2019-12-03T23:15:01Z", "last-owner-verification-request-at": "2019-12-03T23:15:01Z", "owner-verification-data": { "ip_address": "24.253.117.242", "user_agent": "PostmanRuntime/7.19.0" }, "owner-verification-type": "email", "owner-verified-at": "2019-12-03T23:33:23Z", "status": "authorized" }, "links": { "self": "/v2/disbursement-authorizations/ee81f3b1-b746-4a28-87fe-e7bf85e1e9e9" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "asset-disbursement": { "data": null }, "funds-transfer": { "links": { "related": "/v2/funds-transfers/5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "asset-transfer": { "data": null } } }, "included": [] }
Once the disbursement-authorization
and the contingent-holds
related to the outgoing funds-transfer are authorized
and cleared
respectively then the funds-transfer can be settled as seen below in sandbox. Once a funds-transfer
settles a corresponding cash transaction will be created. If the funds-transfer is reversed
due to return of the funds an offsetting cash-transaction will be created.
Request
POST v2/funds-transfers/{{funds-transfer-outgoing-id}}/sandbox/settle
Response
{ "data": { "type": "funds-transfers", "id": "5168f675-b9a9-474c-8c2e-52a1c2fb0209", "attributes": { "amount": -1000.0, "amount-expected": null, "cancelled-at": null, "clears-on": null, "created-at": "2019-12-03T23:15:01Z", "contingencies-cleared-on": "2019-12-03", "currency-type": "USD", "funds-source-name": null, "funds-transfer-type": "ach", "reference": "MMXYZ123", "reversal-details": null, "settlement-details": "Settled via sandbox API", "special-instructions": null, "special-type": null, "status": "settled" }, "links": { "self": "/v2/funds-transfers/5168f675-b9a9-474c-8c2e-52a1c2fb0209" }, "relationships": { "children": { "links": { "related": "/v2/funds-transfers?parent.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "contingent-holds": { "links": { "related": "/v2/contingent-holds?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209" } }, "currency": { "links": { "related": "/v2/currencies/USD" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "contribution": { "links": { "related": "/v2/contributions?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "disbursement": { "links": { "related": "/v2/disbursements?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?funds-transfer.id=5168f675-b9a9-474c-8c2e-52a1c2fb0209&one" } }, "funds-transfer-method": { "links": { "related": "/v2/funds-transfer-methods/cf91c5e7-aebf-4c48-a5e6-365a7e9c834d" } }, "parent": { "data": null }, "refund": { "data": null }, "reversed-cash-transaction": { "data": null }, "settled-cash-transaction": { "links": { "related": "/v2/cash-transactions/f6998608-b031-4412-8bb6-63ecb5099e18" } }, "shortage-from-child": { "data": null }, "surplus-to-child": { "data": null } } }, "included": [] }
Also see for more information.
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
This part of the guide will focus specifically on depositing digital assets (Bitcoin, Ether etc.) to payCircle accounts for which the process is completely API driven. Other assets such as private and public securities can also be deposited to payCircle accounts, once an asset is in payCircle's system it can be interacted with like any other asset bar any specific asset restrictions. Security Token Offerings which are ERC-20 compatible and other ERC-20 compatible tokens can also be custodied by payCircle in an automated fashion, to request a new asset addition please reach out to your sales engineer for the necessary paperwork and process.
To receive a full list of assets currently supported by payCircle in an automated or manual way please refer to the assets endpoints.
There are two steps to deposit a digital asset for which the process is fully automated as listed below:
cost-basis
: The price per unit at which the asset was accquired.
acquisition-date
: The date on which the assets were acquired.
Note that though asset-transfer-methods
can be made so that they are single use this is not reccomended. Assets can also be deposited into an account once the account is in pending
state but they cannot be transferred or withdrawn till the account has been opened
.
Request
POST v2/asset-transfer-methods { "data" : { "type" : "asset-transfer-methods", "attributes" : { "label" : "Deposit Address for Counterparty 1", "cost-basis" : "7500", "acquisition-on" : "12-04-2019", "currency-type" : "USD", "asset-id" : "798debbc-ec84-43ea-8096-13e2ebcf4749", "contact-id" : "{{contact-id}}", "account-id" :"{{account-id}}", "transfer-direction" : "incoming", "single-use" : "false", "asset-transfer-type" : "bitcoin" } } }
Response
{ "data": { "type": "asset-transfer-methods", "id": "df923111-47c2-456f-a6cd-5be76fb5d903", "attributes": { "acquisition-on": "2019-04-12", "asset-transfer-type": "bitcoin", "cost-basis": 7500.0, "created-at": "2019-12-04T19:06:59Z", "currency-type": "USD", "label": "Deposit Address for Counterparty 1", "inactive": false, "single-use": false, "transfer-direction": "incoming", "wallet-address": "mqtVQx2rtiQ98HyZ9aR8Aob3p69Pjoz7gf" }, "links": { "self": "/v2/asset-transfer-methods/df923111-47c2-456f-a6cd-5be76fb5d903" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?asset-transfer-method.id=df923111-47c2-456f-a6cd-5be76fb5d903" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } } } }, "included": [] }
When assets are received to the provided asset-transfer-method
an asset-contribution and asset-transfer will be created, once confirmation of the assets is received the asset-transfer
will settle and an asset-transaction will be created. An asset-contribution can also be created ahead of time but this is not reccommended.
In sandbox assets can be sent on testnets (Ropsten for ETH) or can be settled via the relevant sandbox APIs as seen below. Asset Transfers can also have contingent-holds on them which prevent the assets from being transferable out of the account. These can also be cleared via the the sandbox specific developer APIs
Request
POST v2/asset-contributions?include=asset-transfer-method,asset-transfer { "data" : { "type" : "asset-contributions", "attributes" :{ "unit-count" : 250, "asset-id" : "798debbc-ec84-43ea-8096-13e2ebcf4749", "account-id" : "{{account-id}}", "contact-id" : "{{contact-id}}", "asset-transfer-method-id" : "{{asset-transfer-method-id}}", "acquisition-on" : "12-04-2019", "cost-basis" : "7500.00", "currency-type" : "USD" } } }
Response
{ "data": { "type": "asset-contributions", "id": "3ca49a6d-4fee-49b8-a638-8195cb4938d1", "attributes": { "acquisition-on": "2019-04-12", "cost-basis": 7500, "currency-type": "USD", "unit-count": 250, "unit-count-expected": 250 }, "links": { "self": "/v2/asset-contributions/3ca49a6d-4fee-49b8-a638-8195cb4938d1" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset-transfer": { "data": { "type": "asset-transfers", "id": "10fbaac4-a7f1-4210-9858-859a3b45ccfc" } }, "asset-transfer-method": { "data": { "type": "asset-transfer-methods", "id": "df923111-47c2-456f-a6cd-5be76fb5d903" } }, "contact": { "links": { "related": "/v2/contacts?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one" } }, "currency": { "links": { "related": "/v2/currencies/USD" } } } }, "included": [ { "type": "asset-transfer-methods", "id": "df923111-47c2-456f-a6cd-5be76fb5d903", "attributes": { "acquisition-on": "2019-04-12", "asset-transfer-type": "bitcoin", "cost-basis": 7500, "created-at": "2019-12-04T19:06:59Z", "currency-type": "USD", "label": "Deposit Address for Counterparty 1", "inactive": false, "single-use": false, "transfer-direction": "incoming", "wallet-address": "mqtVQx2rtiQ98HyZ9aR8Aob3p69Pjoz7gf" }, "links": { "self": "/v2/asset-transfer-methods/df923111-47c2-456f-a6cd-5be76fb5d903" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?asset-transfer-method.id=df923111-47c2-456f-a6cd-5be76fb5d903" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } } } }, { "type": "asset-transfers", "id": "10fbaac4-a7f1-4210-9858-859a3b45ccfc", "attributes": { "cancelled-at": null, "created-at": "2019-12-06T19:13:34Z", "contingencies-cleared-on": null, "status": "pending", "unit-count": 250, "unit-count-expected": 250, "settlement-details": null }, "links": { "self": "/v2/asset-transfers/10fbaac4-a7f1-4210-9858-859a3b45ccfc" }, "relationships": { "contingent-holds": { "links": { "related": "/v2/contingent-holds?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-contribution": { "links": { "related": "/v2/asset-contributions?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one" } }, "asset-disbursement": { "links": { "related": "/v2/asset-disbursements?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one" } }, "asset-transfer-method": { "data": { "type": "asset-transfer-methods", "id": "df923111-47c2-456f-a6cd-5be76fb5d903" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one" } }, "settled-asset-transaction": { "data": null } } } ] }
Request
POST v2/asset-transfers/{{asset-transfer-id}}/sandbox/settle
Response
{ "data": { "type": "asset-transfers", "id": "10fbaac4-a7f1-4210-9858-859a3b45ccfc", "attributes": { "cancelled-at": null, "created-at": "2019-12-06T19:13:34Z", "contingencies-cleared-on": "2019-12-06", "status": "settled", "unit-count": 250, "unit-count-expected": 250, "settlement-details": "Settled via sandbox API" }, "links": { "self": "/v2/asset-transfers/10fbaac4-a7f1-4210-9858-859a3b45ccfc" }, "relationships": { "contingent-holds": { "links": { "related": "/v2/contingent-holds?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-contribution": { "links": { "related": "/v2/asset-contributions?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one" } }, "asset-disbursement": { "links": { "related": "/v2/asset-disbursements?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one" } }, "asset-transfer-method": { "links": { "related": "/v2/asset-transfer-methods/df923111-47c2-456f-a6cd-5be76fb5d903" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one" } }, "settled-asset-transaction": { "links": { "related": "/v2/asset-transactions/b290c2c1-3eaa-4c7b-b380-c6528b00297f" } } } }, "included": [] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Assets can be transferred between accounts if the accounts can be accessed by the same user or the sending account is whitelisted to deposit to the receiving account and the user has full-control
or manage
level access to the sending account. If the receiving account is not controlled by the same user then the receving account must whitelist the receiving account via account transfer authorizations.
For the sake of this guide it will be assumed that the user has access to both accounts. Assets can then be as transferred using internal-asset-transfers as seen below. Based on the account-policy the transfer will settle instantly or will need to be reviewed via internal-asset-transfer-reviews. Once an internal-asset-transfer
settles corresponding asset transactions will be created for both accounts.
Request
POST v2/internal-asset-transfers { "data" : { "type" : "internal-asset-transfers", "attributes" : { "unit-count" : "5", "asset-id" : "{{btc-asset-id}}", "from-account-id" : "{{account-id}}", "to-account-id" : "{{account-id-2}}", "reference" : "For Trade Settlement" } } }
Response
{ "data": { "type": "internal-asset-transfers", "id": "f9fea9e8-3605-4c96-852a-9bcf57eaadf6", "attributes": { "created-at": "2019-12-06T19:33:11Z", "preserve-tax-lots": true, "reference": "For Trade Settlement", "status": "settled", "unit-count": 5, "updated-at": "2019-12-06T19:33:11Z" }, "links": { "self": "/v2/internal-asset-transfers/f9fea9e8-3605-4c96-852a-9bcf57eaadf6" }, "relationships": { "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "from-account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "from-asset-transaction": { "links": { "related": "/v2/asset-transactions/07db00d8-e375-478d-a01b-bc0d8b834684" } }, "to-account": { "links": { "related": "/v2/accounts/df4277d8-cd12-4c5c-94c6-c25cff6cec7f" } }, "to-asset-transaction": { "links": { "related": "/v2/asset-transactions/9a9b2db3-6c75-4b8a-9bf3-ff8a33f88f57" } } } }, "included": [] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
To be able to withdraw assets from an account, the account must be open
, the account must have disbursements-frozen
set to false
, and have disbursable
assets of the asset
being disbursed. Once these criteria have been met assets can be withdrawn from an account via asset-disbursements with an outgoing asset-transfer-method. The steps to make a disbursement out of an account is as follows.
asset-transfer-method
of the desired asset and asset-transfer-type
. This can also be created in line with the `asset-disbursement. asset-disbursement
with the asset-transfer-method
. Seen below is a withdrawal made with an outgoing asset-transfer-method
for bitcoin.
Request
POST v2/asset-transfer-methods { "data" : { "type" : "asset-transfer-methods", "attributes" : { "label" : "Personal Wallet Address", "asset-id" : "798debbc-ec84-43ea-8096-13e2ebcf4749", "contact-id" : "{{contact-id}}", "account-id" :"{{account-id}}", "wallet-address" : "mqtVQx2rtiQ98HyZ9aR8Aob3p69Pjoz7gf", "transfer-direction" : "outgoing", "single-use" : "false", "asset-transfer-type" : "bitcoin" } } }
Response
{ "data": { "type": "asset-transfer-methods", "id": "13d9f563-3da4-4fbf-b248-c75594035ec4", "attributes": { "acquisition-on": null, "asset-transfer-type": "bitcoin", "cost-basis": null, "created-at": "2019-12-06T22:45:45Z", "currency-type": null, "label": "Personal Wallet Address", "inactive": false, "single-use": false, "transfer-direction": "outgoing", "wallet-address": "mqtVQx2rtiQ98HyZ9aR8Aob3p69Pjoz7gf" }, "links": { "self": "/v2/asset-transfer-methods/13d9f563-3da4-4fbf-b248-c75594035ec4" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?asset-transfer-method.id=13d9f563-3da4-4fbf-b248-c75594035ec4" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } } } }, "included": [] }
Request
POST v2/asset-disbursements?include=asset-transfer-method,asset-transfer { "data" : { "type" : "asset-disbursements", "attributes" : { "asset-id" : "{{btc-asset-id}}", "asset-transfer" : { "asset-transfer-method-id": "{{asset-transfer-method-outgoing-id}}" }, "unit-count" : "10", "account-id" : "{{account-id}}", "contact-id" : "{{contact-id}}" } } }
Response
{ "data": { "type": "asset-disbursements", "id": "1974d7ae-e748-4824-9054-8cac5a83187c", "attributes": { "unit-count": 10, "created-at": "2019-12-06T22:53:55Z", "updated-at": "2019-12-06T22:53:55Z" }, "links": { "self": "/v2/asset-disbursements/1974d7ae-e748-4824-9054-8cac5a83187c" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-transfer": { "data": { "type": "asset-transfers", "id": "bf7f1dd7-47de-443b-8861-83f5d895f84b" } }, "asset-transfer-method": { "data": { "type": "asset-transfer-methods", "id": "13d9f563-3da4-4fbf-b248-c75594035ec4" } }, "contact": { "links": { "related": "/v2/contacts?asset-transfers.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } } } }, "included": [ { "type": "asset-transfer-methods", "id": "13d9f563-3da4-4fbf-b248-c75594035ec4", "attributes": { "acquisition-on": null, "asset-transfer-type": "bitcoin", "cost-basis": null, "created-at": "2019-12-06T22:45:45Z", "currency-type": null, "label": "Personal Wallet Address", "inactive": false, "single-use": false, "transfer-direction": "outgoing", "wallet-address": "mqtVQx2rtiQ98HyZ9aR8Aob3p69Pjoz7gf" }, "links": { "self": "/v2/asset-transfer-methods/13d9f563-3da4-4fbf-b248-c75594035ec4" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-transfers": { "links": { "related": "/v2/asset-transfers?asset-transfer-method.id=13d9f563-3da4-4fbf-b248-c75594035ec4" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } } } }, { "type": "asset-transfers", "id": "bf7f1dd7-47de-443b-8861-83f5d895f84b", "attributes": { "cancelled-at": null, "created-at": "2019-12-06T22:53:55Z", "contingencies-cleared-on": null, "status": "pending", "unit-count": -10, "unit-count-expected": -10, "settlement-details": null }, "links": { "self": "/v2/asset-transfers/bf7f1dd7-47de-443b-8861-83f5d895f84b" }, "relationships": { "contingent-holds": { "links": { "related": "/v2/contingent-holds?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-contribution": { "links": { "related": "/v2/asset-contributions?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "asset-disbursement": { "links": { "related": "/v2/asset-disbursements?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "asset-transfer-method": { "data": { "type": "asset-transfer-methods", "id": "13d9f563-3da4-4fbf-b248-c75594035ec4" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "settled-asset-transaction": { "data": null } } } ] }
The lifecycle of the asset-disbursement request should be tracked via the corresponding asset-transfer. An outgoing asset-transfer needs to be verified and authorized via the disbursement-authorization and all related contingent-holds also need to be cleared before the outgoing asset-transfer
can be settled.
Request
GET v2/asset-transfers?include=disbursement-authorizations
Response
{ "links": { "self": "/v2/asset-transfers?filter%5Bid+eq%5D=bf7f1dd7-47de-443b-8861-83f5d895f84b&include=disbursement-authorization", "first": "/v2/asset-transfers?filter%5Bid+eq%5D=bf7f1dd7-47de-443b-8861-83f5d895f84b&include=disbursement-authorization&page%5Bnumber%5D=1&page%5Bsize%5D=25" }, "meta": { "page-count": 1, "resource-count": 1 }, "data": [ { "type": "asset-transfers", "id": "bf7f1dd7-47de-443b-8861-83f5d895f84b", "attributes": { "cancelled-at": null, "created-at": "2019-12-06T22:53:55Z", "contingencies-cleared-on": null, "status": "pending", "unit-count": -10, "unit-count-expected": -10, "settlement-details": null }, "links": { "self": "/v2/asset-transfers/bf7f1dd7-47de-443b-8861-83f5d895f84b" }, "relationships": { "contingent-holds": { "links": { "related": "/v2/contingent-holds?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-contribution": { "links": { "related": "/v2/asset-contributions?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "asset-disbursement": { "links": { "related": "/v2/asset-disbursements?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "asset-transfer-method": { "links": { "related": "/v2/asset-transfer-methods/13d9f563-3da4-4fbf-b248-c75594035ec4" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "disbursement-authorization": { "data": { "type": "disbursement-authorizations", "id": "806e3504-282f-4e33-9040-f3524353e319" } }, "settled-asset-transaction": { "data": null } } } ], "included": [ { "type": "disbursement-authorizations", "id": "806e3504-282f-4e33-9040-f3524353e319", "attributes": { "authorized-at": null, "created-at": "2019-12-06T22:53:55Z", "last-owner-verification-request-at": "2019-12-06T22:53:55Z", "owner-verification-data": null, "owner-verification-type": "email", "owner-verified-at": null, "status": "pending" }, "links": { "self": "/v2/disbursement-authorizations/806e3504-282f-4e33-9040-f3524353e319" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "disbursement": { "data": null }, "asset-disbursement": { "links": { "related": "/v2/asset-disbursements?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "funds-transfer": { "data": null }, "asset-transfer": { "links": { "related": "/v2/asset-transfers/bf7f1dd7-47de-443b-8861-83f5d895f84b" } } } } ] }
The disbursement-authorization is verified via a customizable email sent to the emails listed on contacts linked to the account with an account-role
of owner
. It can be cleared in sandbox as seen below. Generally authorization is automatic after the disbursement-authorization
has been owner-verified
but this depends on the account-policy, this can also be done in sandbox.
Request
POST v2/disbursement-authorizations/{{disbursement-authorization-asset-id}}/sandbox/verify-owner
Response
{ "data": { "type": "disbursement-authorizations", "id": "806e3504-282f-4e33-9040-f3524353e319", "attributes": { "authorized-at": "2019-12-06T23:26:07Z", "created-at": "2019-12-06T22:53:55Z", "last-owner-verification-request-at": "2019-12-06T22:53:55Z", "owner-verification-data": { "ip_address": "24.253.117.242", "user_agent": "PostmanRuntime/7.19.0" }, "owner-verification-type": "email", "owner-verified-at": "2019-12-06T23:26:07Z", "status": "authorized" }, "links": { "self": "/v2/disbursement-authorizations/806e3504-282f-4e33-9040-f3524353e319" }, "relationships": { "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "disbursement": { "data": null }, "asset-disbursement": { "links": { "related": "/v2/asset-disbursements?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "funds-transfer": { "data": null }, "asset-transfer": { "links": { "related": "/v2/asset-transfers/bf7f1dd7-47de-443b-8861-83f5d895f84b" } } } }, "included": [] }
Once the disbursement-authorization
and the contingent-holds
related to the outgoing asset-transfer are authorized
and cleared
respectively then the asset-transfer can be settled as seen below in sandbox. Once a asset-transfer
settles a corresponding asset transaction will be created.
Request
POST v2/asset-transfers/{{asset-transfer-outgoing}}/sandbox/settle
Response
{ "data": { "type": "asset-transfers", "id": "bf7f1dd7-47de-443b-8861-83f5d895f84b", "attributes": { "cancelled-at": null, "created-at": "2019-12-06T22:53:55Z", "contingencies-cleared-on": "2019-12-06", "status": "settled", "unit-count": -10.0, "unit-count-expected": -10.0, "settlement-details": "Settled via sandbox API" }, "links": { "self": "/v2/asset-transfers/bf7f1dd7-47de-443b-8861-83f5d895f84b" }, "relationships": { "contingent-holds": { "links": { "related": "/v2/contingent-holds?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b" } }, "account": { "links": { "related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6" } }, "asset": { "links": { "related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749" } }, "asset-contribution": { "links": { "related": "/v2/asset-contributions?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "asset-disbursement": { "links": { "related": "/v2/asset-disbursements?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "asset-transfer-method": { "links": { "related": "/v2/asset-transfer-methods/13d9f563-3da4-4fbf-b248-c75594035ec4" } }, "contact": { "links": { "related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd" } }, "disbursement-authorization": { "links": { "related": "/v2/disbursement-authorizations?asset-transfer.id=bf7f1dd7-47de-443b-8861-83f5d895f84b&one" } }, "settled-asset-transaction": { "links": { "related": "/v2/asset-transactions/54e0256f-0fc1-44f4-9d9e-546172082603" } } } }, "included": [] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Account transaction policies enable you to define policies on transactions or transfers for a given account. Policies can specify amount or frequency limits for a given asset for a given account. If the policy conditions are met, you can specify that a group or groups of users must approve or deny the transaction.
Decide upon the rules for your policies. For a given asset, decide if you wish to limit transactions by:
amount range - specify a minimum and maximum amount.
frequency - specify either transaction frequency (number of transactions in a given time period) or amount frequency (maximum aggregate amount in a given time period).
You'll group your rules into rule groups. A rule must belong to one rule group. Rule groups enable you to define different types of rules that require different authorizations.
Identify the target accounts to which you wish to apply transaction policies.
Identify the users who can authorize the transactions. The users will be placed into one or more authorization groups.
Identify which authorization groups can authorize which rules.
Identify how many users per authorization group are needed to authorize a given rule. For example, Group X includes users a, b, and c. Group Y includes users d and e. For rule P, require two users from Group X and one user from Group Y.
In order to define and enact policies, you'll use the following PrimeCore resources:
accounts
- the account to which a transaction policy is applied
rule groups
- a set of rules associated with one or more accounts
rules
- decision logic applied to one or more types of transactions/transfers of a specific asset
authorization groups
- group of users that are associated with a rule group
authorization rule groups
- links an authorization group with a rule by specifying how many people of that group would be needed to approve the transaction
authorization items
- the outcome of a rule applied to a transaction
Create a Rule Group
object by using POST /v2/rule-groups
.
Add a Rule
object to a Rule Group
created in step 1 by using POST /v2/rules
.
If applying the rule to a currency, specify the currency-type
(values: "AUD" "CAD" "EUR" "GBP" "JPY" "USD").
If applying the rule to an asset, specify the asset-id
.
Specify transfer-types
(values: "Account Cash Transfer", "Asset Transfer", "Funds Transfer", "Internal Asset Transfer", "Sub Asset Transfer")
You can apply either an Amount Rule Amount or Frequency Rule:
Amount - this type of rule uses the amount of the transactions to decide if it should be applied
Frequency - this is a velocity rule that allows you to specify either the number of transactions or the maximum aggregate amount.
Rule examples* Amount Rule for BTC internal asset transfers and asset transfers (contributions and disbursements) where the amount is between 0.1 and 100.
{ "data": { "type": "rules", "attributes": { "rule-group-id": "{{rule-groups-id-1}}", "transfer-types" : [ "asset_transfer""internal_asset_transfer"], "rule-type": "amount", "asset-id": "{{asset-id-btc}}", "transfer-amount-minimum": 0.1, "transfer-amount-maximum": 100 } } }
Frequency Rule for USD funds transfers. This rule will apply for funds transfers done when the aggregate maximum of 1000 USD has been exceeded in the past 500 hours.
{ "data": { "type": "rules", "attributes": { "rule-group-id": "024b6d6e-a7d4-4c64-b178-f23552019811", "rule-type": "frequency", "transfer-types": ["funds_transfer"], "currency-type": "USD", "transfer-amount-maximum": 1000, "past-hours": 500 } } }
Associate an Authorization Group
to a Rule Group
created in step 1 by using POST /v2/authorization-groups
.
{ "data": { "type": "authorization-groups", "attributes": { "rule-group-id" : "{{rule-groups-id}}", "label": "test", "user-emails": ["john.doe@company.com", "janedoe@company.com"] } } }
Associate a Rule
to an Authorization Group
. The Authorization Group
and the Rule
must belong to the same Rule Group
. In this object you specify how many of the users within the Authorization Group
must authorize the transaction. Use POST /v2/authorization-rule-groups
.
Authorization rule group examples If you want Rule A to require approval from 2 users of Authorization Group A (that has 5 users) and approval from 1 user in Authorization Group B, the following Authorization Rule Groups
would be required.
Authorization Rule Group 1
{ "data": { "type": "authorization-rule-groups", "attributes": { "rule-id" : "{{rule-A-id}}", "authorization-group-id": {{authorization-group-A-id}}", "label": "For Rule A require 2 users from group A to authorize", "number-of-users": 2 } } }
Authorization Rule Group 2
{ "data": { "type": "authorization-rule-groups", "attributes": { "rule-id" : "{{rule-A-id}}", "authorization-group-id": {{authorization-group-B-id}}", "label": "For Rule A require 1 user from group B toauthorize", "number-of-users": 1 } } }
Once your Rule Group
has all the necessary Rules
linked with the correct Authorization Groups
, you can then attach it to an Account
object using POST /v2/accounts/{{accounts-id}}/set-rule-group
.
{ "data": { "type": "accounts", "attributes": { "rule-group-id" : "{{rule-groups-id-1}}" } } }
Use the Authorization Items
resource to retrieve all pending authorizations and to Approve or Deny the items.
GET /v2/authorization-items
POST /v2/authorization-items/{authorization-item-id}/approve
POST /v2/authorization-items/{authorization-item-id}/deny
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Card Issuance is currently in invite-only private Beta.
Please see the Debit Card Issuance Guide for integration steps.
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
List of routes that allow developers to take actions in the sandbox environment that in the production environment would require a payCircle officer to take.
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": { "type": "users", "attributes": { "name": "string", "email": "user@example.com", "password": "string" } } }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "errors": [ { "status": 0, "title": "string", "source": {}, "detail": "string" } ] }
{ "data": { "type": "users", "id": "string", "attributes": { "claims": "string", "created-at": "2023-04-18T09:13:39Z", "disabled": true, "email": "string", "mfa-types": [ "string" ], "name": "string", "updated-at": "2023-04-18T09:13:39Z" }, "relationships": { "user-groups": { "links": {} }, "referrals": { "links": { "related": "string" } } }, "links": { "self": "string" } }, "included": [ { "type": "user-groups", "id": "string", "attributes": { "description": "string", "label": "string", "name": "string" }, "relationships": { "users": {} }, "links": { "self": "string" } } ] }
Talk to your Sales Engineer to set up greater security around your user or users before moving into production.
The rest of the payCircle APIs endpoints uses JWTs as a bearer token for authentication. To create a JWT for a user you will need to use the user's email and password as basic auth.
Only when X-Idempotent-ID-V2 has been sent before
This can also occur when your JWT has expired.
{ "data": {