Getting Started
To use our API you need to create a "service". A service is the entity that represents you into our API.
We offers two types of services :
Partner Services : Choose this type of service if you want to offer to our clients an integration between their account(s) and your application. Once created, your service will not be connected to any manager.one account. You will need to implements the OAuth 2.0 workflow for authentication (partner service authentication) to connect account(s) to your service.
Personal Services : Choose this type of service if you want to use the API for your own business. The authentication process is simpler than partner services, you only need your service's credentials (personal service authentication), but you can only access to your own manager.one account(s). Once validated, your service will be already connected to all of your account(s).
Fill this form to request a service.
Once submitted your request will be reviewed and if it is conform, you will receive three mails. An email with your client_id
and client_secret
for our production environment, an other one for our staging environment and a third one with
an access to a manager.one account on our staging environment to test your developments.
Authentication
To use most of our endpoints you have to provide an access token in the Authorization header. This access token identifies the service which sends the request.
Our API implements OAuth 2.0 with two different flows to process authentication:
- Authorization Code for partner services
- Client Credentials for personal services
Partner Service Authentication
For partner services, we use the Authorisation Code flow.
This flow works in three steps :
1. Get a code
You redirect a user to our connection platform, he logs in and he chooses his bank account(s) to connect to your
service, in exchange you get a code as a proof of his authorisation.
2. Get a token
With this code you can retrieve a token and use it to call the API endpoints. The token gives you access to the accounts
that the user allowed. You will have one token per user connected to your account.
3. Refresh the token
After one hour the token expires, but you can refresh it without the user intervention by using your refresh token.
For more information about OAuth 2.0 Authorization code you can take a look at :
1. Get a code
Code samples
GET https://connect.staging.manager.one?response_type=code&client_id=8DA9CB08-3FB0-451A-98DC-274624E07054&redirect_uri=https://www.your-redirect_uri.com&state=86bb6c59e59093e2c3f228db6b01180d2fd10d
A manager.one user who want to connect his account to your service has to log in on our platform and allow your service to access to his account(s).
To do so, redirect the user to this url https://connect.staging.manager.one
with the following parameters
URL Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
response_type | query | string | true | type of response expected: "code" |
client_id | query | string | true | client_id of your service |
redirect_uri | query | string | true | url callback of your service |
state | query | string | false | string value used to maintain state between the request and the callback |
This page retrieves your service information and the user can login with his manager.one account to authorize you service.
Then, he chooses the bank account to connect with your service.
And he authorizes your service.
Example response
OK
> www.your-redirect_uri.com?code=2q5YdC_SUyzO9WrmYY5EoPfyRNfwVZcb3JPEawMu&state=86bb6c59e59093e2c3f228db6b01180d2fd10d
Errors
> www.your-redirect_uri.com?error=response_type;state;
Access denied
> www.your-redirect_uri.com?error=access_denied
Once he approves the connection, the user will be redirected to your redirect_uri with the code and the state into query parameters.
You have 1 minute to retrieve a token with the code, after this delay it expires.
Errors
If there are some errors into the parameters that you have sent, an "error" field will be sent into the query parameter of your redirect uri.
Error | Response |
---|---|
Invalid client_id or redirect_uri |
Displays a message 'Service not found' to the user |
Others parameters are invalid | The server will redirect the user to the redirect_uri with invalid fields in query parameters |
The user denied the access | The server will redirect the user to the redirect_uri with error=access_denied in query parameters |
2. Get a token
Once you have the authorization code, you can use it to request an access token.
This endpoint provides you an access token to use the API with the account(s) of the user and a refresh token to retrieve a new access token when yours is expired.
The token gives you access to accounts authorized by the user. You will have one token & refresh_token per user connected to your account.
Example with authorization_code
POST https://api.staging.manager.one/oauth/token
Accept:application/json
Content-Type: application/json
{
"client_id": "8DA9CB08-3FB0-451A-98DC-274624E07054",
"client_secret": "89025ca4e1c4558b37ca9600143286dc0b5f5fa8607f003a184bf1c54a2e90f1",
"grant_type": "authorization_code",
"code": "gDydnOcy6bMc-vGeuIcRvdy2CA9g2zfRbpcLBdV0"
}
Response HTTP 200 :
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"token_type": "bearer",
"expires_in": 3600,
"refresh_token": "1uJROUJWGoaQGuSbD4Cd_J6tditdDFccy7eOY2w5",
"refresh_token_expires_at": 1632147029
}
Request
POST /oauth/token
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
client_id | body | string | true | The client_id of the service |
client_secret | body | string | true | The client_secret of the service |
grant_type | body | string | true | The type of (grant code requested), only authorization_code is accepted for partner services |
code | body | string | required | The code that you retrieved |
Response
Status Code 200
Name | Type | Description | Validity |
---|---|---|---|
access_token | string | Access token | 1 hour |
token_type | string | always set as bearer |
- |
expires_in | int | duration of the access token (1 hour) | - |
refresh_token | string | Token used to ask a new access token when it expired. Returned only if a code has been used or if renew_refresh_token is enabled. |
90 days |
refresh_token_expires_at | int | Timestamp of the refresh token expiration date. Returned only if refresh_token represented in the response. |
- |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Unauthorized | UnauthorizedHttpException |
403 | Forbidden | Invalid client_did | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error, could not get the code | ServerErrorHttpException |
3. Refresh the token
When your token is expired, you can get a new one by using this endpoint without asking a new user approval.
Example with refresh_token
POST https://api.staging.manager.one/oauth/token
Accept:application/json
Content-Type: application/json
{
"client_id": "8DA9CB08-3FB0-451A-98DC-274624E07054",
"client_secret": "89025ca4e1c4558b37ca9600143286dc0b5f5fa8607f003a184bf1c54a2e90f1",
"grant_type": "refresh_token",
"refresh_token": "^[[C3t0kpNhhg0bFrlFpeGNsWjhdZe6RsP4MA-UUmkZF",
"renew_refresh_token": true
}
Response HTTP 200 :
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"token_type": "bearer",
"expires_in": 3600,
"refresh_token": "1uJROUJWGoaQGuSbD4Cd_J6tditdDFccy7eOY2w5",
"refresh_token_expires_at": 1632147029
}
Request
POST /oauth/token
Parameters
Parameter | In | Type | Default | Required | Description |
---|---|---|---|---|---|
client_id | body | string | null | true | The client_id of the service |
client_secret | body | string | null | true | The client_secret of the service |
grant_type | body | string | null | true | The type of grant code requested |
code | body | string | null | required when the grant_type is "code" | The code retrieved |
refresh_token | body | string | null | required when the grant_type is "refresh_token" | The refresh token |
renew_refresh_token | body | boolean | true | false | Invalidate the refresh token. Send false if you want to use the refresh token more than once. |
Response
Status Code 200
Name | Type | Description | Validity |
---|---|---|---|
access_token | string | Access token | 1 hour |
token_type | string | always set as bearer |
- |
expires_in | int | duration of the access token (1 hour) | - |
refresh_token | string | Token used to ask a new access token when it expired. Returned only if a code has been used or if renew_refresh_token is enabled. |
90 days |
refresh_token_expires_at | int | Timestamp of the refresh token expiration date. Returned only if refresh_token represented in the response. |
- |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Unauthorized | UnauthorizedHttpException |
403 | Forbidden | Invalid client_did | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error, could not get the code | ServerErrorHttpException |
Personal Service Authentication
Get a token
Authentication for personal services uses OAuth 2.0 client_credential flow. You can get an access token simply by using your client credentials. If you don't have any client credentials yet, start here.
An access token expires after one hour. Once it's expired, just make another call to this endpoint to get a new one.
Your service is already connected to all of your accounts, you can use the token to access to all of them.
Example with client_credentials
POST https://api.staging.manager.one/oauth/token
Accept:application/json
Content-Type: application/json
{
"client_id": "8DA9CB08-3FB0-451A-98DC-274624E07054",
"client_secret": "89025ca4e1c4558b37ca9600143286dc0b5f5fa8607f003a184bf1c54a2e90f1",
"grant_type": "client_credentials"
}
Response HTTP 200 :
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"token_type": "bearer",
"expires_in": 3600
}
Request
POST /oauth/token
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
client_id | body | string | true | The client_id of the service |
client_secret | body | string | true | The client_secret of the service |
grant_type | body | string | true | The type of (grant code requested), only client_credentials is accepted for personal services |
Response
Status Code 200
Name | Type | Description | Validity |
---|---|---|---|
access_token | string | Access token | 1 hour |
token_type | string | always set as bearer |
- |
expires_in | int | duration of the access token (1 hour) | - |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Unauthorized | UnauthorizedHttpException |
403 | Forbidden | Invalid client_did | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error, could not get the code | ServerErrorHttpException |
Grant Type
Parameter | Description |
---|---|
authorization_code | this grant type is used to retrieve a new api token for the partner service |
client_credentials | this grant type is used to retrieve a new api token for the personal service |
refresh_token | this grant type is used to refresh a api token for the partner service |
Required Headers
Some headers are required in your request to use our API.
Example
curl -X GET https://api.staging.manager.one/operations \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Name | Description | Required | Value |
---|---|---|---|
X-Mone-Account-ID | ID of the Account you want to use. To see which accounts are connected to your service, you can call (get account). | Required in all endpoints excepts the endpoints that are not account scoped (authentication, account, available expiration dates...). | account ID |
Content-type | The media type of the resource returned. | Required for the POST and PUT requests. |
application/json |
Authorization | The access token that you retrieved from the authentication workflow. | Required in all endpoints excepts the authorization ones. | Bearer ACCESS_TOKEN |
Accept | The content type of response that you expect. | This header is not required, but if you provide it we support only "application/json". | application/json |
General information
Base URLs
API
Staging environment https://api.staging.manager.one/
Production environment https://api.manager.one/
Connect
Staging environment https://connect.staging.manager.one
Production environment https://connect.manager.one
Errors
The manager.one API throw an exception when a request fails.
The exception contains a HTTP response code that indicates the type of error.
Forbidden http exception
{
"name": "Forbidden",
"message": "You are not allowed to perform this action.",
"code": 0,
"status": 403
}
Name | Type |
---|---|
name | Forbidden |
message | string |
code | integer |
status | 403 |
type (only in staging environment) | yii\web\ForbiddenHttpException |
Unauthorized http exception
{
"name": "Unauthorized",
"message": "Ip not allowed.",
"code": 0,
"status": 401
}
Name | Type |
---|---|
name | Unauthorized |
message | string |
code | integer |
status | 401 |
type (only in staging environment) | yii\web\UnauthorizedHttpException |
Not Found http exception
{
"name": "Not Found",
"message": "Operation 1 not found",
"code": 0,
"status": 404
}
Name | Type |
---|---|
name | Not Found |
message | string |
code | integer |
status | 404 |
type (only in staging environment) | yii\web\NotFoundHttpException |
Server Error http exception
{
"name": "Internal Server Error",
"message": "An internal server error occurred.",
"code": 0,
"status": 500
}
Name | Type |
---|---|
name | Internal Server Error |
message | string |
code | integer |
status | 500 |
type (only in staging environment) | yii\web\ServerErrorHttpException |
Bad Request http exception
{
"name": "Bad Request",
"message": "The requests should contain a 'X-Mone-Account-ID' header or an 'account_id' parameter",
"code": 0,
"status": 400
}
Name | Type |
---|---|
name | string |
message | string |
code | integer |
status | 400 |
type (only in staging environment) | yii\web\BadRequestHttpException |
Fields Validation errors
[
{
"field": "amount",
"message": "amount must be an integer."
},
{..}
]
This error is returned when there are errors on model attributes in the request.
The code HTTP returned is 422 Data Validation Failed
Name | Type | Description |
---|---|---|
field | string | Name of the attribute |
message | string | Message of the error |
Nested model Fields Validation errors
[
{
"field": "user",
"errors": [
{
"field": "first_name",
"message": "first_name must be a string."
},
{..}
]
}
]
This error is returned when there are errors on a model nested in another one (ex: address of a user).
The code HTTP returned is 422 Data Validation Failed
Name | Type | Description |
---|---|---|
field | string | Name of the nested model |
errors | Array of fields validation errors | Errors on the nested model |
Model array Fields Validation errors
[
[
{
"field": "stakeholders",
"index": 0,
"errors": [
{
"field": "is_company_officer",
"message": "is_company_officer must be either "{true}" or "{false}"."
},
{..}
]
},
{
"field": "stakeholders",
"index": 2,
"errors": [
{
"field": "is_physical",
"message": "is_physical must be either "{true}" or "{false}"."
},
{..}
]
},
{..}
]
]
This error is returned when there are errors on models in an array.
The code HTTP returned is 422 Data Validation Failed
Name | Type | Description |
---|---|---|
field | string | Name of the nested model |
index | integer | Index of the model in the array, start at 0 |
errors | Array of fields validation errors | Errors on the nested model |
Pagination
Example header response
X-Pagination-Total-Count: 8
X-Pagination-Page-Count: 1
X-Pagination-Current-Page: 1
X-Pagination-Per-Page: 50
All "list" endpoints use the same pagination system.
For instance, you can use this system with list of operations, list of transfers, of list of beneficiaries.
All the information about pagination are returned in the header of the response
Request
GET https://connect.staging.manager.one/XXXX?page=1
URL Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
page | query | integer | false | Page number |
Account
Get account
Code samples
curl -X GET https://api.staging.manager.one/accounts \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
Get the account logged.
Request
GET /accounts
Example response
200
[
{
"id":"a81fda14-9475-484a-b7a8-7b3ec24e0470",
"label":"Daric",
"status":"valid",
"balance":300.98,
"balance_bank":300.98,
"balance_bank_at":null,
"currency":"EUR",
"company_name":"test_company",
"registration_type":"existing_company",
"can_duplicate":true,
"owner":{
"uuid":"0D71E73F-98A6-4280-B689-175401F98907",
"gender":1,
"gender_label":"Monsieur",
"first_name":"Antoine",
"last_name":"Dupont",
"email":"antoine.dupont@manager.one",
"phone":"+33623456789"
},
"rib":{
"display_rib":true,
"iban":"FR62833589893328E807S3ZNQ54",
"bic":"SOGEFRPP",
"bank":"83358",
"branch":"98933",
"number":"28E807S3ZNQ",
"checksum":"54",
"establishment":"Wormser Frères Haussmann",
"pdf_url":"http://app/accounts/rib"
},
"access":{
"access_transfers":true,
"create_users":true,
"physical_cards":true,
"read_operations":true,
"read_statements":true,
"read_users":true,
"virtual_cards":true,
"virtual_card_generation":true,
"write_beneficiary":true,
"write_doc_operation":true,
"write_sepa_direct_debit":false
}
}
]
Response
Status Code 200 OK
Array of Accounts
Name | Type | Description |
---|---|---|
id | uuid | Account ID |
label | string | Account label |
status | string | Account status |
balance | float | Projected account balance |
balance_bank | float | Account balance |
balance_bank_at | integer | Account balance date |
currency | string | Account currency ISO |
company_name | string | Company name of the account |
registration_type | string | Company’s type when registered |
can_duplicate | boolean | Whether the account/company can be duplicated |
owner | User Object | Owner of the account |
rib | Rib Object | RIB of the account |
access | Access Object | Service access on the account |
Account status
Value | Description |
---|---|
blocked | Account is blocked |
closed | Account is closed |
closing | Account being closed, statement access is enabled for 45 days from the date of the closure request |
validating | Account is awaiting approval |
valid | Account is valid |
Get accounted operations
Code samples
curl -X GET https://api.staging.manager.one/accounts?accounted_after=2023-02-28&scenario=last_operations&fields=label,id,balance,balance_bank,balance_bank_at,rib,last_operations.label,last_operations.amount \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
This call provide a simple way to quickly check your accounts balance with less Api calls since an accounted date
Limited to the 50 last accounted operations after accounted_after
per account
If their are more operations detected by the total-count in response. Check them by using GET /operation
Request
GET /accounts?accounted_after=Y-m-d&scenario=last_operations
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
fields | query | string | false | List of fields to be exclusively returned in the response, split by coma |
scenario | query | string | false | Scenario type to handle |
accounted_after | query | string (date:Y-m-d) or timestamp | false | Get last 50 accounted operations after this accounting date |
Enumerated Values
scenario
Parameter | Values | Description |
---|---|---|
scenario | last_operations | Add a node last_operations , required accounted_after parameter |
Example response
200
[
{
"id": "1538D8C0-A0F2-4C45-A7C5-45BAE2DFD628",
"label": "Daric",
"status": "valid",
"balance": 998854.69,
"balance_bank": 999000,
"balance_bank_at": null,
"rib": {
"iban": "FR6283358980000067529000065",
"bic": "SOGEFRPP",
"bank": "83358",
"branch": "98000",
"number": "00675290000",
"checksum": "65",
"establishment": "Wormser Frères Haussmann",
"pdf_url": "http://app/accounts/rib"
},
"last_operations": {
"total-count": "1",
"operations": [
{
"id": 37,
"uuid": "912D40DB-0EB1-4B1B-B54C-1666B68B3419",
"created_at": 1670930788,
"executed_at": 1670930788,
"value_date": "2022-12-13",
"accounting_date": "2023-03-28",
"expense_date": "2022-12-13",
"label": "transfer",
"type": "credit",
"category": "refund",
"category_label": "Remboursement",
"sub_category": null,
"amount": 43.21,
"currency": "EUR"
}
]
}
},
{
"id": "1538D8C0-A0F2-4C45-A7C5-45BAE2DF0667",
"label": "Recatch",
"balance": 0,
"balance_bank": 0,
"balance_bank_at": 1677511213,
"rib": {
"iban": null,
"bic": null,
"bank": "",
"branch": "",
"number": "",
"checksum": "",
"establishment": "Wormser Frères Haussmann",
"pdf_url": "https://api-mone.docker.local/accounts/rib"
},
"last_operations": {
"total-count": "0",
"operations": []
}
}
]
Response
Status Code 200 OK
Array of Accounts
Name | Type | Description |
---|---|---|
id | uuid | Account ID |
label | string | Account label |
status | string | Account status |
balance | float | Projected account balance |
balance_bank | float | Account balance |
balance_bank_at | integer | Account balance date |
rib | Rib Object | RIB of the account |
last_operations | Accounted Operation Object | Accounted operations since the accounted_after date |
Services
Objects
The service object
NAME | TYPE | DESCRIPTION |
---|---|---|
created_at | integer | Creation timestamp |
client_id | uuid | Client uuid |
name | string | Service name |
description | string | Service description |
access | Access | Service access rights |
is_multi_account | boolean | Service is connected to several accounts |
logo | Document | Service logo |
List of services
Retrieves a list of the services connected to the account
Request
GET /services
Code samples
curl -X GET https://api.staging.manager.one/services
-H 'Accept: application/json'
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Example response
200
[
{
"created_at": 1586354867,
"client_id": "7a027a57-0acc-465a-b315-ff9709f261f8",
"name": "test_service",
"description": "service de test",
"access": {
"access_transfers": false,
"card_client_access_token": false,
"card_wallet": false,
"create_users": false,
"duplicate": false,
"physical_cards": false,
"read_operations": true,
"read_statements": true,
"read_users": false,
"virtual_cards": false,
"virtual_card_generation": false,
"write_beneficiary": false,
"write_doc_operation": false,
"write_operation": false,
"write_sepa_direct_debit": false
},
"is_multi_account": true,
"logo": {
"id": 4,
"url": "https://api-mone.docker.local/oauth/services/7a027a57-0acc-465a-b315-ff9709f261f8/logo",
"created_at": 1275429716,
"updated_at": 1676910044,
"name": "0A990DC0-49BC-4771-A356-6DE5FA999FC9-avatar.png",
"filename": "0A990DC0-49BC-4771-A356-6DE5FA999FC9-avatar.png",
"mime_type": "image/png",
"size": 6581
}
}
]
Response
Status Code 200 OK
Array of Services
Errors
STATUS | MEANING | DESCRIPTION | SCHEMA |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
User
Objects
The user object
NAME | TYPE | DESCRIPTION |
---|---|---|
uuid | uuid | User Uuid |
gender | integer | User gender value |
gender_label | string | User gender label |
first_name | string | User first name |
last_name | string | User last name |
string | User email | |
phone | string | User phone number |
Enumerated Values
PARAMETER | VALUE | DESCRIPTION |
---|---|---|
gender | 0 | Not known |
gender | 1 | Man |
gender | 2 | Woman |
gender | 9 | Inapplicable |
List of users
Retrieves a list of users of the account.
This endpoint uses the pagination system.
Request
GET /users
Code samples
curl -X GET https://api.staging.manager.one/users
-H 'Accept: application/json'
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Example response
200
[
{
"uuid": "995CD426-ED6C-4893-8DEB-B5C535087099",
"gender": 1,
"gender_label": "Monsieur",
"first_name": "Buck",
"last_name": "Danny",
"email": "buck.danny@manager.one",
"phone": "+33123456789"
},
{
"uuid": "32EB5EEF-251F-482B-B4E7-B49A726596B9",
"gender": 1,
"gender_label": "Monsieur",
"first_name": "Cornéluis",
"last_name": "Chesterfield",
"email": "corneluis.chesterfield@manager.one",
"phone": "+33123456789"
}
]
Response
Status Code 200 OK
Array of Users
Errors
STATUS | MEANING | DESCRIPTION | SCHEMA |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Operation
Objects
Details of operations resources
The operation object
Example response
200 Response
{
"id": 1,
"created_at": 1567692972,
"executed_at": 1567693673,
"value_date": "2020-06-07",
"accounting_date": "string",
"status": "pending",
"label": "purchase of car parts",
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"sub_category": "return_rejected_transfer",
"afb_code": 5,
"amount": 10,
"currency": "EUR",
"employee_number": "string",
"mid": "0014637245",
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0033612345678",
"email": "jean@manager.one",
"comment": "Somme comment",
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
},
"comment": "string",
"documents": [
{
"updated_at": 12345,
"filename": "test.zip",
"mime_type": "test.zip",
"url": "string"
},
{
..
}
],
"bill": {
"id": 5,
"url": "http://staging.manager.one/operations/10/bill",
"created_at": 1652186801,
"updated_at": 1652186801,
"name": "Facture .pdf",
"filename": "Facture .pdf",
"mime_type": "text/plain",
"size": 1271
},
"detail": {
"vat": {
"amount": 0,
"rate": 0
},
"categories": [
{
"id": 5,
"label": "Transport",
"name": "transport",
"default": true,
"card": true,
"standard": true
}
],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": "111 sub St",
"city": "Portland",
"country_code": "USA",
"name": "Chicken Tooth Music AUTH CLEARED",
"postal_code": "97086"
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": null
},
"restaurant": false,
"affectations": [
{
"id": 1,
"label": "string",
"deleted_at": null
},
{
..
}
],
"attributions": [
{
"uuid": "72350D0A-504D-435F-B656-FC74DC11E962",
"first_name": "John",
"last_name": "Doe",
"picture": {
"url": "http://api.staging.manager.one/user/72350D0A-504D-435F-B656-FC74DC11E962/picture"
}
},
{
..
}
],
"card": {
"id": 1,
"reference": "MONE0189440",
"label": "Test card",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender": 1,
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont",
"email": "jean.dupont@manager.one",
"phone": "0612345678"
}
},
"transaction_identifier": "string",
"timeout": false,
"reject_reason": {
"value": null,
"label": null
}
}
The Operation object
Fields | Type | Description |
---|---|---|
id | integer | Id of operation |
created_at | integer | Creation date timestamp |
executed_at | integer | Execution date timestamp |
value_date | string | Value date of the transfer (YYYY-MM-DD) |
accounting_date | string | Accounting date of the transfer (YYYY-MM-DD) |
status | string | Status of the operation |
label | string | User label |
type | string | D (Debit) / C (Credit) |
category | string | Transfer/Withdraw/SEPA etc.. |
category_label | string | Category name translated |
sub_category | string | Sub_category example: return_rejected_transfer |
afb_code | integer | Afb code of the operation |
amount | number(double) | Amount of the operation, in cents |
currency | string | EUR/USD etc.. |
employee_number | string | Employee_number of the credit card owner |
mid | string | Merchant Identification Number |
beneficiary | Beneficiary | Beneficiary if the operation is a debit transfer |
comment | string | Comment |
documents | array of Document | Documents linked with the operation (Invoice,...). Multiple documents. |
bill | Bill (child of Document) | Bill linked with the operation (manager.one fees) |
detail | OperationDetail | Details of the operation |
restaurant | boolean | Is a restaurant operation |
affectations | array of Affectation | List of affectations of the operation, can be the name of the related project for example |
attributions | array of Attribution | List of users related to the operation |
card | Card | Card associated with the operation |
transaction_identifier | string | If the transaction is linked to an incoming transfer, this field represents the external unique identifier to which it is linked |
timeout | boolean | Indicates if the authorization has timeout |
reject_reason | RejectReason | Reason for rejection of a card transaction |
Enumerated Values
Parameter | Values |
---|---|
category | deposit_cash, deposit_check... |
sub_category | card_monthly_fee, card_unused_fee... |
afb_code | 1 (Payment check), 2 (Deposit check), 4 (Deposit cash) |
- | 5 (Transfer got (credit)), 6 (Transfer send (debit)) |
- | 8 (Automatic debit), 11 (Card operation), 12 (Transfer rejected) |
- | 29 (Withdrawal), 33 (Fee operation), 91 (Generic Operation) |
Operation category values
Value | Description |
---|---|
deposit_cash |
Deposit cash |
deposit_check |
Deposit check |
fees |
Fees |
other |
Other |
payment_check |
Payment check |
credit_card |
Credit card |
redraw_atm |
Redraw Automated Banking Machine |
refund |
Refund |
prelevement |
Prelevement |
change_letter |
Change letter |
credit_card_deferred_levy |
Credit card deferred levy |
credit_card_deferred_payment |
Credit card deferred payment |
irregularities |
Irregularities |
transfer |
Transfer |
Operation sub category values
Value | Description |
---|---|
card_monthly_fee |
Fees to be paid in each month for the credit card |
card_unused_fee |
Fees to be paid in case of non-use of the credit card |
incident_fee |
Fees for incidents or irregularities |
interest_fee |
Interest fees |
card |
Credit card |
card_fx |
Credit card fees |
delayed |
Delayed |
extourne |
Extourne |
month |
Monthly subscription |
free |
Free monthly subscription |
interchange |
Interchange |
opt |
Option |
subonmain |
Monthly subscription main account |
tpe |
Payment terminal |
transfer |
Transfer |
withdrawal |
Withdrawal from an ATM |
operating_fee |
Account operating costs |
other |
Other |
return_rejected_transfer |
Return of rejected transfer. When a transfer sent to a beneficiary has been rejected by his bank, a new operation will be credited on the account to refund the transfer. |
Operations status
Value | Final status | Description |
---|---|---|
cancelled | true | Operation cancelled |
done | true | Operation done |
pending | false | Operation created, wait for processing |
processing | false | Operation is processed by our system |
rejected | true | Operation rejected |
deleted | true | Operation deleted |
The Attribution object
Field | Type | Description |
---|---|---|
uuid | string | uuid of the user |
first_name | string | First name of the user |
last_name | string | Last name of the user |
employee_number | string | Employee number of the user |
The Affectation object
Field | Type | Description |
---|---|---|
id | integer | Id of the affectation |
label | string | Label of the affectation |
The OperationDetail object
Field | Type | Description |
---|---|---|
vat | OperationDetailVat | VAT of the operation |
categories | array of OperationCategory | Associated Categories |
authorization | Authorization | Detail of the card authorization (if it's a card operation) |
metadata | json | Additional data that your can provide on the operation like key-value pairs |
guest | integer | Number of guests in case of a restaurant operation |
nights | integer | Number of nights in case of a hotel operation |
service | string | Type of service in case of a restaurant operation |
charge_back | boolean | Is charge_back |
fuel | Fuel | Type of fuel |
liters | integer | Amount of liters in case of a fuel operation |
mileage | integer | Mileage of the vehicule in case of a fuel operation |
half_board_included | boolean | Diner is included in the price, in case of hotel operation |
cancellation_reason | string | Only if the operation status is cancelled , indicates the cancellation reason of the operation. |
The OperationDetailVat object
Field | Type | Description |
---|---|---|
amount | number(double) | VAT amount of the operation, in cents |
rate | number(double) | VAT rate of the operation, in percent |
The Authorization object
Field | Type | Description |
---|---|---|
pos_terminal_id | string | Id of the payment terminal used to make the operation |
is_preauthorization | boolean | Whether the operation is a pre-authorisation or not |
name | string | Name of the merchant |
address | string | Address of the merchant (if provided) |
postal_code | string | Postal code of the merchant (if provided) |
city | string | City of the merchant (if provided) |
country_code | string | Country of the merchant (if provided) |
Operation cancellation reasons
Value | Description |
---|---|
authorization_expired |
The card authorization has expired |
cancelled_by_bank_admin |
Operation has been cancelled by a bank admin |
cancelled_by_merchant |
Card authorization has been cancelled by the merchant |
cleared |
The operation has been cleared |
transfer_cancelled |
The transfer linked to the operation has been cancelled |
transfer_rejected |
The transfer linked to the operation has been rejected |
Operation reject reason
Field | Type | Description |
---|---|---|
value | RejectReasonValues | Rejection reason value for of a card transaction |
label | string | Rejection Label value for of a card transaction |
Fuel values
Value | Label |
---|---|
bioethanol-e85 |
Bioethanol (E85) |
diesel-b7 |
Diesel (B7) |
lpg |
LPG |
new-diesel-b10 |
New diesel (B10) |
sp95-e10 |
SP95 (E10) |
sp95-e5 |
SP95 (E5) |
sp98-e5 |
SP98 (E5) |
synthetic-diesel-xtl |
Synthetic diesel (XTL) |
Fuel object
Field | Type | Description |
---|---|---|
value | Fuel values | value of fuel type |
label | string | Label value for of a fuel type |
List of operations
Code samples
curl -X GET https://api.staging.manager.one/operations \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get the account operations. You can search with free text through the 'search' parameter.
Request
GET /operations
Parameters
Parameter | In | Type | Require | Description |
---|---|---|---|---|
search | query | string | false | Text to search |
type | query | string | false | Credit/Debit filter |
category | query | string | false | Category of operation |
sub_category | query | string | false | Sub category of the operation, give more details about the category of the operation |
attachment | query | boolean | false | Filters out operations with attachment: set value to "1" to obtain operations with attachment, set value to "0" to obtain operations without attachment |
card | query | boolean | false | Filters out card operations: set value to "1" to obtain operations linked to a card, set value to "0" to obtain all operations |
card_uuid | query | string (36) | false | Uuid of the card attached to the operation |
from | query | string (date) | false | From date (eq: 2017-01-01) |
to | query | string (date) | false | To date (eq: 2017-01-31) |
min | query | number (float) | false | Minimum amount to filter on |
max | query | number (float) | false | Maximum amount to filter on |
afb_code | query | integer | false | Afb code of the operation, works only if category and type parameters are not used |
expand | query | string | false | Field to embed in the response |
mid_list_id | query | integer | false | Id of the card mid-list attached to the operation |
mid | query | string | false | Merchant ID of the operation |
user_uuid | query | string (36) | false | Uuid of the user attached to the operation |
Enumerated Values
type
Parameter | Values |
---|---|
type | credit |
type | debit |
category
Parameter | Values |
---|---|
category | deposit_cash |
category | deposit_check |
category | fees |
category | other |
category | payment_check |
category | credit_card |
category | redraw_atm |
category | refund |
category | prelevement |
category | change_letter |
category | credit_card_deferred_levy |
category | credit_card_deferred_payment |
category | irregularities |
category | transfer |
sub_category
Parameter | Values |
---|---|
sub_category | card_monthly_fee |
sub_category | card_unused_fee |
sub_category | incident_fee |
sub_category | interest_fee |
sub_category | card |
sub_category | card_fx |
sub_category | delayed |
sub_category | extourne |
sub_category | month |
sub_category | free |
sub_category | interchange |
sub_category | opt |
sub_category | subonmain |
sub_category | tpe |
sub_category | transfer |
sub_category | withdrawal |
sub_category | operating_fee |
sub_category | other |
sub_category | return_rejected_transfer |
card
Parameter | Values |
---|---|
card | true |
card | false |
expand
Parameter | Values |
---|---|
expand | service_webhook_events |
Example response
200 Response
[
{
"id": 1,
"created_at": 1567692972,
"executed_at": 1567693673,
"value_date": "2020-06-07",
"accounting_date": "2020-06-08",
"status": "pending",
"label": "Refund car parts",
"type": "credit",
"category": "transfer",
"category_label": "Virement",
"afb_code": 1,
"amount": 10,
"currency": "EUR",
"employee_number": "string",
"mid": "0014637245",
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0033612345678",
"email": "jean@manager.one",
"comment": "Somme comment",
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
},
"comment": "A comment",
"documents": [
{
"updated_at": 12345,
"filename": "http://staging.manager.one/operations/1/documents/1234",
"mime_type": "application/pdf",
"url": "string"
},
{
..
}
],
"bill": {
"id": 5,
"url": "http://staging.manager.one/operations/10/bill",
"created_at": 1652186801,
"updated_at": 1652186801,
"name": "Facture.pdf",
"filename": "Facture.pdf",
"mime_type": "text/plain",
"size": 1271
},
"detail": {
"vat": {
"amount": 0,
"rate": 0
},
"categories": [
{
"id": 5,
"label": "Transport",
"name": "transport",
"default": true,
"card": true,
"standard": true
}
],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": null,
"city": null,
"country_code": null,
"name": null,
"postal_code": null
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": null
},
"restaurant": false,
"affectations": [
{
"id": 1,
"label": "string",
"deleted_at": null
},
{
..
}
],
"attributions": [
{
"uuid": "72350D0A-504D-435F-B656-FC74DC11E962",
"first_name": "John",
"last_name": "Doe",
"picture": {
"url": "http://api.staging.manager.one/user/72350D0A-504D-435F-B656-FC74DC11E962/picture"
}
},
{
..
}
],
"card": {
"id": 1,
"uuid": "D990A451-A395-406F-B623-110A55C00396",
"reference": "MONE0189440",
"label": "Test card",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont"
}
},
"transaction_identifier": "string",
"timeout": false,
"reject_reason": {
"value": null,
"label": null
}
},
{
"id": 2,
"created_at": 1567692972,
"executed_at": 1567693673,
"value_date": "2020-06-07",
"accounting_date": "2020-06-08",
"status": "pending",
"label": "Refund car parts",
"type": "credit",
"category": "transfer",
"category_label": "Virement",
"sub_category": "string",
"afb_code": 1,
"amount": 10,
"currency": "EUR",
"employee_number": "string",
"mid": "0014637245",
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0033612345678",
"email": "jean@manager.one",
"comment": "Somme comment",
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
},
"comment": "A comment",
"documents": [
{
"updated_at": 12345,
"filename": "http://staging.manager.one/operations/2/documents/1234",
"mime_type": "application/pdf",
"url": "string"
},
{
..
}
],
"bill": {
"id": 6,
"url": "http://staging.manager.one/operations/10/bill",
"created_at": 1652186801,
"updated_at": 1652186801,
"name": "Facture.pdf",
"filename": "Facture.pdf",
"mime_type": "text/plain",
"size": 1271
},
"detail": {
"vat": {
"amount": 0,
"rate": 0
},
"categories": [
{
"id": 5,
"label": "Transport",
"name": "transport",
"default": true,
"card": true,
"standard": true
}
],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"name": "Chicken Tooth Music AUTH CLEARED",
"address": "111 sub St",
"city": "Portland",
"postal_code": "97086",
"country_code": "USA"
},
"is_preauthorization": false,
"pos_terminal_id": 1234565
},
"metadata": null
},
"restaurant": false,
"affectations": [
{
"id": 1,
"label": "string",
"deleted_at": null
},
{
..
}
],
"attributions": [
{
"uuid": "72350D0A-504D-435F-B656-FC74DC11E962",
"first_name": "John",
"last_name": "Doe",
"picture": {
"url": "http://api.staging.manager.one/user/72350D0A-504D-435F-B656-FC74DC11E962/picture"
}
},
{
..
}
],
"card": {
"id": 1,
"uuid": "D990A451-A395-406F-B623-110A55C00396",
"reference": "MONE0189440",
"label": "Test card",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont"
}
},
"transaction_identifier": "string",
"timeout": false,
"reject_reason": {
"value": null,
"label": null
}
}
]
Response
Status Code 200 OK
Array of Operations
Detail of an operation
Code samples
curl -X GET https://api.staging.manager.one/operations/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get all the details of an operation.
Request
GET /operations/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The operation ID |
expand | query | string | false | Field to embed in the response |
Example response
200 Response
Example response
200 Response
{
"id": 1,
"created_at": 1567692972,
"executed_at": 1567693673,
"value_date": "2020-06-07",
"accounting_date": "string",
"status": "pending",
"label": "purchase of car parts",
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"sub_category": "return_rejected_transfer",
"afb_code": 5,
"amount": 10,
"currency": "EUR",
"employee_number": "string",
"mid": "0014637245",
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0033612345678",
"email": "jean@manager.one",
"comment": "Somme comment",
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
},
"comment": "string",
"documents": [
{
"updated_at": 12345,
"filename": "test.zip",
"mime_type": "test.zip",
"url": "string"
},
{
..
}
],
"bill": {
"id": 5,
"url": "http://staging.manager.one/operations/10/bill",
"created_at": 1652186801,
"updated_at": 1652186801,
"name": "Facture .pdf",
"filename": "Facture .pdf",
"mime_type": "text/plain",
"size": 1271
},
"detail": {
"vat": {
"amount": 0,
"rate": 0
},
"categories": [
{
"id": 5,
"label": "Transport",
"name": "transport",
"default": true,
"card": true,
"standard": true
}
],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": "111 sub St",
"city": "Portland",
"country_code": "USA",
"name": "Chicken Tooth Music AUTH CLEARED",
"postal_code": "97086"
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": null
},
"restaurant": false,
"affectations": [
{
"id": 1,
"label": "string",
"deleted_at": null
},
{
..
}
],
"attributions": [
{
"uuid": "72350D0A-504D-435F-B656-FC74DC11E962",
"first_name": "John",
"last_name": "Doe",
"picture": {
"url": "http://api.staging.manager.one/user/72350D0A-504D-435F-B656-FC74DC11E962/picture"
}
},
{
..
}
],
"card": {
"id": 1,
"reference": "MONE0189440",
"label": "Test card",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender": 1,
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont",
"email": "jean.dupont@manager.one",
"phone": "0612345678"
}
},
"transaction_identifier": "string",
"timeout": false,
"reject_reason": {
"value": null,
"label": null
}
}
Response
The operation
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation doesn't exist | NotFoundHttpException |
Update an operation
Code samples
curl -X PUT https://api.staging.manager.one/operations/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
This endpoint allows to update an operation.
You can modify informations such as :
- add a comment to the operation
- assign the operation to one or more users
- assign the operation to one or more project
- add one or more expense categories to the operation
Request
PUT /operations/{id}
Body parameter
{
"comment": "update an operation",
"detail": {
"categories": [
{
"id": 1
}
]
}
}
Parameters
Parameters | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The operation ID |
comment | body | string | false | Comment or reference |
attributions | body | array of UpdateOperationAttribution | false | List of users Uuid related to the operation |
affectations | body | array of UpdateOperationAffectation | false | List of affectations of the operation, can be the name of the related project or the Affectation ID |
detail | body | array of UpdateOperationDetail | false | Details of the operation (VAT, categories, ...) |
UpdateOperationAttribution Parameters
Parameters | In | Type | Required | Description |
---|---|---|---|---|
uuid | body | string | true | Uuid of the user related to the operation |
UpdateOperationAffectation Parameters
Parameters | In | Type | Description |
---|---|---|---|
id | body | integer | Id of the affectation related to the operation |
UpdateOperationDetail Parameters
Parameters | In | Type | Required | Description |
---|---|---|---|---|
categories | body | array of UpdateOperationCategory | false | Associated Categories IDs |
guest | body | integer | false | Number of guests in case of a restaurant operation |
nights | body | integer | false | Number of nights in case of a hotel operation |
service | body | string | false | Type of service in case of a restaurant operation |
fuel | body | string | false | Type of fuel |
liters | body | integer | false | Amount of liters in case of a fuel operation |
mileage | body | integer | false | Mileage of the vehicule in case of a fuel operation |
half_board_included | body | boolean | false | Diner is included in the price, in case of hotel operation |
charge_back | body | boolean | false | Is charge_back |
metadata | body | boolean or array | false | Additional data that you can provide on the operation. Keep in mind that other partners like you can edit this field if they are also connected to the account. Therefore, be careful to not delete their data when you edit this field. |
UpdateOperationCategory Parameters
Parameters | In | Type | Required | Description |
---|---|---|---|---|
id | body | integer | true | Id of associated expense category |
Enumerated Values
Parameters | Values |
---|---|
service | noon , evening |
fuel | bioethanol-e85 , diesel-b7 , sp95-e5 , ... |
- | SP95 (E10), SP95 (E5), SP98 (E5) |
- | Diesel (B7), New diesel (B10), Synthetic diesel (XTL) |
- | Bioethanol (E85), LPG |
Example response
200 Response
{
"id": 1,
"created_at": 1567692972,
"executed_at": 1567693673,
"value_date": "2020-06-07",
"accounting_date": "string",
"status": "pending",
"label": "purchase of car parts",
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"sub_category": "return_rejected_transfer",
"afb_code": 5,
"amount": 10,
"currency": "EUR",
"employee_number": "string",
"mid": "0014637245",
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0033612345678",
"email": "jean@manager.one",
"comment": "Somme comment",
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
},
"comment": "string",
"documents": [
{
"updated_at": 12345,
"filename": "test.zip",
"mime_type": "test.zip",
"url": "string"
},
{
..
}
],
"bill": {
"id": 5,
"url": "http://staging.manager.one/operations/10/bill",
"created_at": 1652186801,
"updated_at": 1652186801,
"name": "Facture .pdf",
"filename": "Facture .pdf",
"mime_type": "text/plain",
"size": 1271
},
"detail": {
"vat": {
"amount": 0,
"rate": 0
},
"categories": [
{
"id": 5,
"label": "Transport",
"name": "transport",
"default": true,
"card": true,
"standard": true
}
],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": "111 sub St",
"city": "Portland",
"country_code": "USA",
"name": "Chicken Tooth Music AUTH CLEARED",
"postal_code": "97086"
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": null
},
"restaurant": false,
"affectations": [
{
"id": 1,
"label": "string",
"deleted_at": null
},
{
..
}
],
"attributions": [
{
"uuid": "72350D0A-504D-435F-B656-FC74DC11E962",
"first_name": "John",
"last_name": "Doe",
"picture": {
"url": "http://api.staging.manager.one/user/72350D0A-504D-435F-B656-FC74DC11E962/picture"
}
},
{
..
}
],
"card": {
"id": 1,
"reference": "MONE0189440",
"label": "Test card",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender": 1,
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont",
"email": "jean.dupont@manager.one",
"phone": "0612345678"
}
},
"transaction_identifier": "string",
"timeout": false,
"reject_reason": {
"value": null,
"label": null
}
}
Response
Status Code 200 OK
The operation
Example response
200 Response
{
"id": 1,
"created_at": 1567692972,
"executed_at": 1567693673,
"value_date": "2020-06-07",
"accounting_date": "string",
"status": "pending",
"label": "purchase of car parts",
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"sub_category": "return_rejected_transfer",
"afb_code": 5,
"amount": 10,
"currency": "EUR",
"employee_number": "string",
"mid": "0014637245",
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0033612345678",
"email": "jean@manager.one",
"comment": "Somme comment",
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
},
"comment": "string",
"documents": [
{
"updated_at": 12345,
"filename": "test.zip",
"mime_type": "test.zip",
"url": "string"
},
{
..
}
],
"bill": {
"id": 5,
"url": "http://staging.manager.one/operations/10/bill",
"created_at": 1652186801,
"updated_at": 1652186801,
"name": "Facture .pdf",
"filename": "Facture .pdf",
"mime_type": "text/plain",
"size": 1271
},
"detail": {
"vat": {
"amount": 0,
"rate": 0
},
"categories": [
{
"id": 5,
"label": "Transport",
"name": "transport",
"default": true,
"card": true,
"standard": true
}
],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": "111 sub St",
"city": "Portland",
"country_code": "USA",
"name": "Chicken Tooth Music AUTH CLEARED",
"postal_code": "97086"
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": null
},
"restaurant": false,
"affectations": [
{
"id": 1,
"label": "string",
"deleted_at": null
},
{
..
}
],
"attributions": [
{
"uuid": "72350D0A-504D-435F-B656-FC74DC11E962",
"first_name": "John",
"last_name": "Doe",
"picture": {
"url": "http://api.staging.manager.one/user/72350D0A-504D-435F-B656-FC74DC11E962/picture"
}
},
{
..
}
],
"card": {
"id": 1,
"reference": "MONE0189440",
"label": "Test card",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender": 1,
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont",
"email": "jean.dupont@manager.one",
"phone": "0612345678"
}
},
"transaction_identifier": "string",
"timeout": false,
"reject_reason": {
"value": null,
"label": null
}
}
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The operation doesn't exist | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Retrieve operation webhook
You can retrieve the webhook of an operation with the query parameter expand.
Request
Code samples
curl -X GET https://api.staging.manager.one/operations/1?expand=service_webhook_events \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Example response
200 Response
{
"id": 1,
"created_at": 1567692972,
"executed_at": 1567693673,
"status": "string",
"label": "string",
"type": "string",
...
"service_webhook_events": [
{
"status": "OK",
"sending_dates": [
1618997169
],
"next_sending_at": null,
"data": {
"event": "after_credit_card_operation",
"event_uuid": "443A5D68-EEDF-4D45-80D6-749FA5EC55D2",
"id": 1,
"created_at": 1617487200,
"executed_at": 1475419716,
"status": "done",
"amount": 5,
"currency": "EUR",
"fx_amount": 5,
"fx_currency": "EUR",
"fx_rate": 1,
"fx_fees": 0,
"credit_card_mcc": 5399,
"type": "debit",
"label": "Operation 1",
"card_id": 1,
"card_uuid": "F4E7ACA1-D26B-4341-9BB5-C21753608A27",
"account_id": "a81fda14-9475-484a-b7a8-7b3ec24e0470",
"user_email": "test@user.com",
"parent_operation_id": null
}
},
{
"status": "RETRY",
"sending_dates": [
1618997169,
1618993569
],
"next_sending_at": 1619000769,
"data": {
"event": "clear_credit_card_operation",
"event_uuid": "443A5D68-EEDF-4D45-80D6-749FA5EC55D2",
"id": 1,
"created_at": 1617487200,
"executed_at": 1475419716,
"status": "done",
"amount": 5,
"currency": "EUR",
"fx_amount": 5,
"fx_currency": "EUR",
"fx_rate": 1,
"fx_fees": 0,
"credit_card_mcc": 5399,
"type": "debit",
"label": "Operation 1",
"card_id": 1,
"card_uuid": "F4E7ACA1-D26B-4341-9BB5-C21753608A27",
"account_id": "a81fda14-9475-484a-b7a8-7b3ec24e0470",
"user_email": "test@user.com",
"parent_operation_id": null
}
}
]
}
GET /operations/{id}?expand=service_webhook_events
Response
Status Code 200 OK
Name | Type | Description |
---|---|---|
status | string | Status of event |
sending_dates | array of timestamps | When the webhook has been triggered |
next_sending_at | integer | Next sending timestamp of the event |
data | Card operation object | Event data sent by our system |
Status of event
Status | Description |
---|---|
OK |
Webhook has been sent successfully |
RETRY |
Webhook has failed, it will retry (check next_sending_at) |
FAILED |
Webhook has failed after retry |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | Operation not found | NotFoundHttpException |
Download the bill attached to an operation
Code samples
curl -X GET https://api.staging.manager.one/operations/{id}/bill \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Download the bill attached to the Operation
Request
GET /operations/{id}/bill
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The operation ID |
Example response
200 Response
Response
The bill
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation or the bill doesn't exist | NotFoundHttpException |
[DEPRECATED] Download the document attached to an operation
Request
GET /operations/{id}/{documentType}
List the operation documents
Code samples
curl -X GET https://api.staging.manager.one/operations/{id}/documents \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
GET /operations/{id}/documents
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | operation id |
Example response
200 Response
{
"documents": [
{
"id",
"updated_at": 12345,
"filename": "string",
"mime_type": "string",
"url": "string"
},
{..}
]
}
Response
List of this document array
Status Code 200 OK
see detailed API fields on Document
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation or the file doesn't exist | NotFoundHttpException |
Download the operation documents
Code samples
curl -X GET https://api.staging.manager.one/operations/{id}/documents/{document_id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Download one of them
Request
GET /operations/{id}/documents/{document_id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | operation id |
document_id | path | integer(int32) | true | document id |
Example response
200 Response
Response
Binary file
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation or the file doesn't exist | NotFoundHttpException |
Download all of them
Request
GET /operations/{id}/documents/all
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | operation id |
Example response
200 Response
Response
ZIP Archive
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation or the file doesn't exist | NotFoundHttpException |
[DEPRECATED] Attach a file to an operation
Request
POST /operations/{id}/{documentType}
Attach files to operation
Code samples
curl -X POST https://api.staging.manager.one/operations/{id}/documents \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN' \
-F files[]="@/path/to/a/file.jpg" [, -F files[]="@/path/to/a/file.jpg"]
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
POST /operations/{id}/documents
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The transfer ID |
files | form-data | file[] | true | documents to attach |
Example response
201 Response
{
"documents": [
{
"id",
"updated_at": 12345,
"filename": "string",
"mime_type": "string",
"url": "string"
},
{..}
]
}
Response
List of this document array
Status Code 201 Created
Name | Type | Description |
---|---|---|
ID | integer | ID of the document |
updated_at | integer | Date of update |
filename | string | Filename of the document |
mime_type | string | MIME Type of the file |
url | string | URL to download the file if uploaded |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation doesn't exist | NotFoundHttpException |
[DEPRECATED] Delete the document of an operation
Request
DELETE /operations/{id}/{documentType}
Delete linked documents of operation
Delete one of them
Code samples
curl -X DELETE https://api.staging.manager.one/operations/{id}/documents/{document} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
DELETE /operations/{id}/documents/{document}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | operation id |
document | path | integer(32) | true | document id |
Example response
204 Response
Response
Status Code 204 No Content
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation or the document does not exists | NotFoundHttpException |
Delete all linked documents
Code samples
curl -X DELETE https://api.staging.manager.one/operations/{id}/documents \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
DELETE /operations/{id}/documents
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | operation |
Example response
204 Response
Response
Status Code 204 No Content
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The operation or the document does not exists | NotFoundHttpException |
Operation Category
Objects
There are categories of expenses that can be attributed to operations.
Details of category of expenses resources
The operation category object
{
"id": 1,
"label": "Purchases",
"name": "achat",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
}
The OperationCategory object
Fields | Type | Description |
---|---|---|
id | integer | Id of associated expense category |
label | string | The label of the expense category |
name | string | Internal field used to display the logo of the category. Set by default to "custom" for custom categories |
default | boolean | Expense category not created by the user |
resource_type | string | Model associated with the expense category |
card | boolean | The category can be applied if the category of the associated operation is credit card |
transfer | boolean | The category can be applied if the category of the associated operation is transfer |
payment | boolean | The category can be applied if the category of the associated operation is payment |
refund | boolean | The category can be applied if the category of the associated operation is refund |
direct_debit | boolean | The category can be applied if the category of the associated operation is direct debit |
List of operation categories
Code samples
curl -X GET https://api.staging.manager.one/categories \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get the list of expenses categories for operations.
Request
GET /categories
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
card | query | boolean | false | Filters the category of expenses authorizing the card type operations |
transfer | query | boolean | false | Filters the category of expenses authorizing the transfer type operations |
payment | query | boolean | false | Filters the category of expenses authorizing the payment type operations |
refund | query | boolean | false | Filters the category of expenses authorizing the refund type operations |
direct_debit | query | boolean | false | Filters the category of expenses authorizing the direct debit type operations |
Example response
200 Response
[
{
"id": 1,
"label": "Purchases",
"name": "achat",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
},
{
"id": 2,
"label": "Restaurants",
"name": "restaurant",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
},
{
"id": 3,
"label": "Trip",
"name": "voyage",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
},
{
"id": 4,
"label": "Transports",
"name": "transport",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
},
{
"id": 5,
"label": "Wage",
"name": "salaires",
"default": true,
"resource_type": "operation",
"card": false,
"transfer": false,
"payment": true,
"refund": true,
"direct_debit": true
}
]
Response
Status Code 200 OK
Array of Operation Categories
Detail of an operation category
Code samples
curl -X GET https://api.staging.manager.one/categories/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get all the details of an expenses category.
Request
GET /categories/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer | true | The operation category ID |
Example response
200 Response
{
"id": 1,
"label": "Purchases",
"name": "achat",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
}
Response
The operation category
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The expense category doesn't exist | NotFoundHttpException |
Create an operation category
Code samples
curl -X POST https://api.staging.manager.one/categories \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
This endpoint is used to create a custom expenses category for operations.
Request
POST /categories
Body parameter
{
"label": "New custom Category"
}
Properties
Name | In | Type | Required | Default | Description |
---|---|---|---|---|---|
label | body | string | true | - | The label of the expense category |
card | body | boolean | false | true | The category can be applied if the category of the associated operation is credit card |
transfer | body | boolean | false | true | The category can be applied if the category of the associated operation is transfer |
payment | body | boolean | false | true | The category can be applied if the category of the operation is payment |
refund | body | boolean | false | true | The category can be applied if the category of the operation is refund |
direct_debit | body | boolean | false | true | The category can be applied if the category of the operation is direct debit |
Example response
200 Response
{
"id": 6,
"label": "New custom Category",
"name": "custom",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
}
Response
The operation category
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Update an operation category
Code samples
curl -X PUT https://api.staging.manager.one/categories/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
This endpoint allows you to edit an expense category for operations.
However, you cannot edit a default expense categories.
Request
PUT /categories/{id}
Body parameter
{
"label": "Custom category updated",
"name": "Catégorie personnalisée mise à jour",
"direct_debit": false
}
Parameters
Parameters | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The operation category ID |
label | body | string | false | The label of the expense category |
card | body | boolean | false | The category can be applied if the category of the associated operation is credit card |
transfer | body | boolean | false | The category can be applied if the category of the associated operation is transfer |
payment | body | boolean | false | The category can be applied if the category of the operation is payment |
refund | body | boolean | false | The category can be applied if the category of the operation is refund |
direct_debit | body | boolean | false | The category can be applied if the category of the operation is direct debit |
Example response
200 Response
{
"id": 6,
"label": "New custom Category",
"name": "custom",
"default": true,
"resource_type": "operation",
"card": true,
"transfer": true,
"payment": true,
"refund": true,
"direct_debit": true
}
Response
The operation category
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The expense category doesn't exist | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Delete an operation category
Code samples
curl -X DELETE https://api.staging.manager.one/categories/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
This endpoint allows you to delete an expense category for operations.
However, you cannot delete a default expense category.
Request
DELETE /categories/{id}
Parameters
Parameters | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The operation category ID |
Example response
204 Response
Response
Status Code 204 No Content
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The operation category doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error when deleting the operation category | ServerErrorHttpException |
Statement
List of statements
Code samples
curl -X GET https://api.staging.manager.one/statements \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
List of statements with an optional filter by year
Request
GET /statements
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
year | query | integer(int32) | false | The year filter |
Example response
200 Response
[
{
"id": 1,
"month": 10,
"year": 2018,
"eom_balance": 1234567.89,
"document": {
"updated_at": 12345,
"filename": "statement-1.zip",
"mime_type": "statement-1.zip",
"url": "string"
},
"document_url": "string"
},
{
"id": 2,
"month": 11,
"year": 2018,
"eom_balance": 123000,
"document": {
"updated_at": 12345,
"filename": "statement-1.zip",
"mime_type": "statement-1.zip",
"url": "string"
},
"document_url": "string"
}
]
Response
Status Code 200 OK
Array of statements
Name | Type | Description |
---|---|---|
id | integer | Statement ID |
month | integer | Statement month |
year | integer | Statement year |
eom_balance | number | Balance at the end of the month |
document | Document | The statement |
document.filename | string | filename of the document |
document.mime_type | string | MIME Type of the file |
document.url | string | URL to download the file if uploaded |
document_url | string | URL to download document |
Download the statement PDF
Code samples
curl -X GET https://api.staging.manager.one/statements/{id}/download \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Download the statement PDF
Request
GET /statements/{id}/download
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The statement ID |
Example response
200 Response
Responses
The statement
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | Not Found | NotFoundHttpException |
Download multiple statements
Code samples
curl -X GET https://api.staging.manager.one/statements/{id},{id}.../document \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Download multiple statements
Request
GET /statements/{id},{id}.../document
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | List of statement ID comma separated |
Example response
200 Response
Responses
The statements
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | Not Found | NotFoundHttpException |
Transfer
List of transfers
Code samples
curl -X GET https://api.staging.manager.one/transfers \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
List of transfers
Request
GET /transfers
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | Text to search |
status | query | string | false | Status |
from | query | string(date) | false | From date (eq: 2017-01-01) |
to | query | string(date) | false | To date (eq: 2017-01-31) |
min | query | number(double) | false | The minimum amount to looking for |
max | query | number(double) | false | The maximum amount to looking for |
cancelled | query | boolean | false | Including cancelled transfers |
Example response
200 Response
[
{
"amount": 123,
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"created_at": 1542300827,
"certificate": {
"id": 1,
"updated_at": 1542300829,
"filename": "transfer-certificate.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": "string",
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": null,
"execution_date": "2018-11-16",
"id": 1225,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "string",
"similarTransfers": null,
"send_notification": false,
"status": "pending",
"status_label": "En attente",
"statusLabel": "En attente",
"type": "direct",
"updatable_until": 1542301427,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": null,
"validation_token": "389ee29fae55ccda35d5a5c5f412bfb2",
"account": {
"uuid": 1,
"label": "test_account",
"balance": 10308.63,
"currency": "EUR",
"company_name": "test_company",
"validation_details": {
"beneficiary": "simple",
"transfer": "none"
},
"owner": {
"gender_label": "Mr",
"first_name" : "Jean",
"last_name": "Dupont"
}
},
"operation": {
"id": 3,
"created_at": 1542300827,
"executed_at": 1542386767,
"value_date": "2018-11-15",
"accounting_date": null,
"expense_date": null,
"status": "done",
"label": "Basic transfer 3",
"hint": null,
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"amount": 123,
"fx_amount": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"fx_currency": null,
"document_required": false,
"fx_fees": null,
"documents": [],
"nb_documents": 0,
"bill": null,
"affectations": [],
"attributions": [],
"detail": {
"vat": {
"amount": null,
"rate": null
},
"categories": [],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": null,
"city": null,
"country_code": null,
"name": null,
"postal_code": null
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": {
"key1": "value1",
"key2": "value2"
}
},
"beneficiary": null,
"comment": null,
"credit_card": null,
"optional_receipt_at": null,
"lost_receipt_at": null,
"proof_required_before": null,
"spender": false,
"reject_reason": null,
"is_compliant": null,
"compliant_at": null,
"documents_status": "available",
"documents_actions": []
}
}
{
"amount": 456,
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"created_at": 1542300827,
"certificate": {
"id": 2,
"updated_at": 1542300829,
"filename": "transfer-certificate.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": "string",
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": null,
"execution_date": "2018-11-16",
"id": 1225,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "string",
"similarTransfers": null,
"send_notification": false,
"status": "pending",
"status_label": "En attente",
"statusLabel": "En attente",
"type": "direct",
"updatable_until": 1542301427,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": null,
"validation_token": "389ee29fae55ccda35d5a5c5f412bfb2",
"account": {
"id": "c603a61b-5b91-4787-9663-c0ae08551f2f",
"label": "test_account",
"balance": 10308.63,
"currency": "EUR",
"company_name": "test_company",
"validation_details": {
"beneficiary": "simple",
"transfer": "none"
},
"owner": {
"gender_label": "Mr",
"first_name" : "Jean",
"last_name": "Dupont"
}
},
"operation": {
"id": 4,
"created_at": 1542300827,
"executed_at": 1542386767,
"value_date": "2018-11-15",
"accounting_date": null,
"expense_date": null,
"status": "done",
"label": "Basic transfer 3",
"hint": null,
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"amount": 123,
"fx_amount": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"fx_currency": null,
"document_required": false,
"fx_fees": null,
"documents": [],
"nb_documents": 0,
"bill": null,
"affectations": [],
"attributions": [],
"detail": {
"vat": {
"amount": null,
"rate": null
},
"categories": [],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": null,
"city": null,
"country_code": null,
"name": null,
"postal_code": null
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": {
"key1": "value1",
"key2": "value2"
}
},
"beneficiary": null,
"comment": null,
"credit_card": null,
"optional_receipt_at": null,
"lost_receipt_at": null,
"proof_required_before": null,
"spender": false,
"reject_reason": null,
"is_compliant": null,
"compliant_at": null,
"documents_status": "available",
"documents_actions": []
}
},
{...}
]
Responses
Status Code 200
Array of transfers
Name | Type | Description |
---|---|---|
amount | number(double) | Amount of the transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
created_at | integer | Creation date |
certificate | document | Certificate of the transfer |
certificate.id | integer | Beneficiary ID |
certificate.updated_at | integer | Date of update |
certificate.filename | string | filename of the document |
certificate.mime_type | string | MIME Type of the file |
certificate.url | string | URL to download the file if uploaded |
comment | string | User defined comment or reference |
currency | Currency | Currency |
document | Document | Document linked with the transfer (Invoice,...) |
document.updated_at | integer | Date of update |
document.filename | string | filename of the document |
document.mime_type | string | MIME Type of the file |
document.url | string | URL to download the file if uploaded |
document_url | string | URL of the document |
execution_date | string(date) | Date of execution |
id | integer | Id of transfer |
fx_amount | number(double) | Foreign Fees |
fx_currency | string | Foreign currency |
fx_rate | number(double) | Foreign rate |
fx_fees | number(double) | Foreign Fees |
label | string | User label |
similar_transfers | Transfer | Similar transfers if exist |
send_notification | boolean | Send a notification to the beneficiary |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
type | string | Type of transfer |
updatable_until | integer | Date until the operation can be updated |
user | User | User who created the transfer |
o_auth_service | OAuthService | OAuthService who created the transfer |
o_auth_service.name | string | name of the service |
validated_at | integer | Validated at (when the transfer need validation) |
validation_token | string | Validation token of the transfer (can be checked here https://www.manager.one/fr/wirecheck) |
account | Account | Account |
account.id | integer | Id of the account |
account.label | string | Label of the account |
account.balance | number (double) | Balance of the account |
account.currency | string | Currency of the account |
operation | Operation | Operation associated to this transfer |
Operation
This model is used whenever we are not in the context of a bank transfer. This means that we have less data on the spender and the transaction which is reflected in the data sent through the webhook.
Fields | Type | Description |
---|---|---|
id | integer | Id of operation |
created_at | integer | Creation date timestamp |
executed_at | integer | Execution date timestamp |
value_date | string | Value date of the transfer (YYYY-MM-DD) |
accounting_date | string | Accounting date of the transfer (YYYY-MM-DD) |
mid | string | Credit Card Merchant Identification (MID) |
status | string | Status of the operation |
label | string | User label |
type | string | D (Debit) / C (Credit) |
category | string | Transfer/Withdraw/SEPA etc.. |
category_label | string | Category name translated |
afb_code | number | AFB Code |
amount | number(double) | Amount of the operation, in cents |
currency | string | EUR/USD etc.. |
documents | array of Document | Documents linked with the operation (Invoice,...). Multiple documents. |
bill | Bill (child of Document) | Bill linked with the operation (manager.one fees) |
affectations | array | List of affectations of the operation, can be the name of the related project for example |
attributions | array of Attribution | List of users related to the operation |
detail | OperationDetail | Details of the operation |
beneficiary | Beneficiary | Beneficiary if the operation is a debit transfer |
comment | string | Comment |
Enumerated Values
Property | Value | Description |
---|---|---|
status | double_check | Need validation of the bank (not SEPA) |
status | done | Transfer done |
status | pending | Transfer wait for processing |
status | processing | Transfer in progress |
status | sent | Transfer sent to the bank |
status | to_validate | The transfer need the validation of the account owner |
status | wait_signature | Wait for a signature of the bank (not SEPA) |
status | cancelled | Transfer cancelled |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Get transfer fees
Code samples
curl -X GET https://api.staging.manager.one/transfers/fees?currency=string&amount=string&is_sepa=boolean \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get fees from transfer (SEPA and not SEPA)
Request
GET /transfers/fees?currency=USD&amount=20&is_sepa=false
Parameters
Parameter | In | Type | Description |
---|---|---|---|
currency | query | string | Currency iso code |
amount | query | string | Amount value |
is_sepa | query | boolean | Transfer sepa or not. False by default |
Example response
200 Response
Responses
Status Code 200 OK
{
"estimated_fees": "17.26",
"estimated_amount": "55.47",
"exchange_rate": "1.23234424"
}
Exchange details
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
estimated_fees | number | false | none | Fees estimation |
estimated_amount | number | false | none | Amount estimation (transfer amount + fees) |
exchange_rate | number | false | none | Exchange rate |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
400 | Bad Request | Error in request | BadRequestHttpException |
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | No data | NotFoundHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Creates a transfer
Code samples
curl -X POST https://api.staging.manager.one/transfers \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Creates a transfer using provided data
Request
POST /transfers
Body parameter
{
"send_notification": "true",
"amount": 123,
"currency": "EUR",
"label": "transfer label",
"comment": "transfer comment",
"type": "direct",
"execution_date": "2018-11-15",
"beneficiary_id": 1
"metadata": {
"key1": "value1",
"key2": "value2",
}
}
document: file
Properties
Name | In | Type | Required | Description |
---|---|---|---|---|
send_notification | body | boolean | false | Send a notification to the beneficiary |
amount | body | number(double) | true | Amount of the transfer |
currency | body | string | true | EUR/USD etc.. |
label | body | string | false | Transfer label |
comment | body | string | false | Comment or reference |
type | body | string | false | Type of transfer |
execution_date | body | string(date) | false | Date of execution |
beneficiary_id | body | integer | false | ID of beneficiary |
Document | form-data | file | false for SEPA, true for others | The document to attach to the transfer |
metadata | body | json | false | Additional data that your can provide on operation like key-value pairs |
Enumerated Values
Property | Value |
---|---|
type | direct |
type | delayed |
type | periodic |
Example response
201 Response
{
"amount": 123,
"beneficiary": {
"id": 1,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"created_at": 1542300827,
"certificate": {
"id": 1017,
"updated_at": 1542300827,
"filename": "transfer-certificate.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": "transfer comment",
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": null,
"execution_date": "2018-11-15",
"id": 1225,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "transfer label",
"similarTransfers": null,
"send_notification": false,
"status": "pending",
"status_label": "En attente",
"statusLabel": "En attente",
"type": "direct",
"updatable_until": 1542300827,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": null,
"validation_token": "389ee29fae55ccda35d5a5c5f412bfb2",
"account": {
"id": "c603a61b-5b91-4787-9663-c0ae08551f2f",
"label": "test_account",
"balance": 10308.63,
"currency": "EUR",
"company_name": "test_company",
"validation_details": {
"beneficiary": "simple",
"transfer": "none"
},
"owner": {
"gender_label": "Mr",
"first_name" : "Jean",
"last_name": "Dupont"
}
},
"operation": {
"id": 3,
"created_at": 1542300827,
"executed_at": 1542300827,
"value_date": "2018-11-15",
"accounting_date": null,
"expense_date": null,
"status": "done",
"label": "Basic transfer 3",
"hint": null,
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"amount": 123,
"fx_amount": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"fx_currency": null,
"document_required": false,
"fx_fees": null,
"documents": [],
"nb_documents": 0,
"bill": null,
"affectations": [],
"attributions": [],
"detail": {
"vat": {
"amount": null,
"rate": null
},
"categories": [],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": null,
"city": null,
"country_code": null,
"name": null,
"postal_code": null
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": {
"key1": "value1",
"key2": "value2"
}
},
"beneficiary": null,
"comment": null,
"credit_card": null,
"optional_receipt_at": null,
"lost_receipt_at": null,
"proof_required_before": null,
"spender": false,
"reject_reason": null,
"is_compliant": null,
"compliant_at": null,
"documents_status": "available",
"documents_actions": []
}
}
Responses
Name | Type | Description |
---|---|---|
amount | number(double) | Amount of the transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
created_at | integer | Creation date |
certificate | document | Certificate of the transfer |
certificate.id | integer | Beneficiary ID |
certificate.updated_at | integer | Date of update |
certificate.filename | string | filename of the document |
certificate.mime_type | string | MIME Type of the file |
certificate.url | string | URL to download the file if uploaded |
comment | string | User defined comment or reference |
currency | Currency | Currency |
document | Document | Document linked with the transfer (Invoice,...) |
document.updated_at | integer | Date of update |
document.filename | string | filename of the document |
document.mime_type | string | MIME Type of the file |
document.url | string | URL to download the file if uploaded |
document_url | string | URL of the document |
execution_date | string(date) | Date of execution |
id | integer | Id of transfer |
fx_amount | number(double) | Foreign Fees |
fx_currency | string | Foreign currency |
fx_rate | number(double) | Foreign rate |
fx_fees | number(double) | Foreign Fees |
label | string | User label |
similar_transfers | Transfer | Similar transfers if exist |
send_notification | boolean | Send a notification to the beneficiary |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
type | string | Type of transfer |
updatable_until | integer | Date until the operation can be updated |
user | User | User who created the transfer |
o_auth_service | OAuthService | OAuthService who created the transfer |
o_auth_service.name | string | name of the service |
validated_at | integer | Validated at (when the transfer need validation) |
validation_token | string | Validation token of the transfer (can be checked here https://www.manager.one/fr/wirecheck) |
account | Account | Account |
account.id | integer | Id of the account |
account.label | string | Label of the account |
account.balance | number (double) | Balance of the account |
account.currency | string | Currency of the account |
operation | Operation | Operation associated to this transfer |
Operation
This model is used whenever we are not in the context of a bank transfer. This means that we have less data on the spender and the transaction which is reflected in the data sent through the webhook.
Fields | Type | Description |
---|---|---|
id | integer | Id of operation |
created_at | integer | Creation date timestamp |
executed_at | integer | Execution date timestamp |
value_date | string | Value date of the transfer (YYYY-MM-DD) |
accounting_date | string | Accounting date of the transfer (YYYY-MM-DD) |
mid | string | Credit Card Merchant Identification (MID) |
status | string | Status of the operation |
label | string | User label |
type | string | D (Debit) / C (Credit) |
category | string | Transfer/Withdraw/SEPA etc.. |
category_label | string | Category name translated |
afb_code | number | AFB Code |
amount | number(double) | Amount of the operation, in cents |
currency | string | EUR/USD etc.. |
documents | array of Document | Documents linked with the operation (Invoice,...). Multiple documents. |
bill | Bill (child of Document) | Bill linked with the operation (manager.one fees) |
affectations | array | List of affectations of the operation, can be the name of the related project for example |
attributions | array of Attribution | List of users related to the operation |
detail | OperationDetail | Details of the operation |
beneficiary | Beneficiary | Beneficiary if the operation is a debit transfer |
comment | string | Comment |
Enumerated Values
Property | Value | Description |
---|---|---|
status | double_check | Need validation of the bank (not SEPA) |
status | done | Transfer done |
status | pending | Transfer wait for processing |
status | processing | Transfer in progress |
status | sent | Transfer sent to the bank |
status | to_validate | The transfer need the validation of the account owner |
status | wait_signature | Wait for a signature of the bank (not SEPA) |
status | cancelled | Transfer cancelled |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Import files to create transfers
Code samples
curl -X POST https://api.staging.manager.one/transfers/import \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Import a SEPA XML file or some paysheets to create multiple transfers.
This endpoint analyses imported files and returns detected transfers. After using this endpoint, use Create multiple transfers
with returned transfers to create transfers.
If paysheets are imported, they will be attached to transfers when you will create them.
Request
POST /transfers/import
Body parameter
sepa: true
file: file
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
sepa | body | boolean | false | SEPA file or not |
file | body | file | true | The SEPA file or XML |
Example response
202 Response
{
"valid":[
{
"transfer": {
"amount": 1319.32,
"beneficiary": {
"id": 1,
"label": "John",
"short_tag": null,
"iban": "FR7630001007941234561890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "SOGEFRPPXXX",
"is_sepa": true,
"phone_number": null,
"email": "john@manager.one",
"comment": null,
"address": {
"street": "8, boulevard Charpentier",
"zip": "71800",
"city": "ST GERMAIN EN BRIONNAIS",
"country": "FR",
"building_number": "8",
"building_number_index": null,
"street_name": "Charpentier",
"street_type": "boulevard"
},
"social_security_number": "1500789151856",
"rib": null,
"bank_data": {
"bic": "BDFEFRPPCCT",
"bank": "BANQUE DE FRANCE",
"street": "",
"zip": "",
"city": "",
"country": "FRANCE",
"country_iso": null,
"sepa": true
}
},
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": {
"id": 1,
"updated_at": 12345,
"filename": "payslip-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"execution_date": "2018-01-19",
"label": "PAYSLIP January 2018 John",
"type": "direct",
"send_notification": true,
"temporary_file": 1,
"period": "01-2018",
"is_paysheet": true
},
"beneficiary": {
"id": 1,
"label": "John",
"short_tag": null,
"iban": "FR76 3000 1007 9412 3456 1890 185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "SOGEFRPPXXX",
"is_sepa": true,
"phone_number": null,
"email": "john@manager.one",
"comment": null,
"address": {
"street": "8, boulevard Charpentier",
"zip": "71800",
"city": "ST GERMAIN EN BRIONNAIS",
"country": "FR",
"building_number": "8",
"building_number_index": null,
"street_name": "Charpentier",
"street_type": "boulevard"
},
"social_security_number": "1500789151856",
"rib": null,
"validation": {
"id": 1,
"created_at": 123456,
"updated_at": 123456,
"status": "accepted",
"label": "Ajout de bénéficiaire",
"sub_label": "John",
"policy": "simple",
"attempts": 0,
"allowed": false
},
"bank_data": {
"bic": "BDFEFRPPCCT",
"bank": "BANQUE DE FRANCE",
"street": "",
"zip": "",
"city": "",
"country": "FRANCE",
"country_iso": null,
"sepa": true
}
}
}
],
"invalid": [
{
"transfer": {
"amount": 1452.46,
"beneficiary": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": {
"id": 2,
"updated_at": 12345,
"filename": "string",
"mime_type": "application/pdf",
"url": "string"
},
"execution_date": "2018-01-19",
"label": "PAYSLIP January 2018 Alison",
"type": "direct",
"send_notification": true,
"temporary_file": 1025,
"period": "01-2018",
"is_paysheet": true
},
"beneficiary": {
"id": null,
"label": "Alison",
"short_tag": null,
"iban": null,
"account_number_formatted": null,
"bic": null,
"is_sepa": null,
"phone_number": null,
"email": null,
"comment": null,
"address": null,
"social_security_number": "1500734251004",
"rib": null,
"validation": null
}
}
]
}
Responses
This endpoint returns two transfer tables, a valid
one with valid transfers that can be created and an invalid
one with invalid transfers.
If an invalid transfer has a beneficiary_label
and a transfer amount
, but does not have a beneficiary_id
, it can be validated by creating the beneficiary with the Create beneficiary
endpoint.
After creating the beneficiary, import the file(s) a second time to get the valid the transfer.
Valid transfers can be created with the Create multiple transfers
endpoint.
Name | Type | Description |
---|---|---|
valid | array | Array of valid transfers |
transfer | Transfer | A valid transfer |
transfer.amount | number(double) | Amount of the transfer |
transfer.beneficiary | Beneficiary | Beneficiary of the transfer |
transfer.currency | Currency | Currency of the transfer EUR,USD etc.. |
transfer.document |
Document | see documents instead. |
documents | Document[] | - |
transfer.execution_date | string(date) | Date of execution |
transfer.label | string | User label |
transfer.type | string | Type of transfer |
transfer.send_notification | boolean | Send a notification to the beneficiary |
transfer.temporary_file | integer | Id of the file uploaded to attach to the operation (the payslip) |
transfer.period | string | If the transfer has been generated from a paysheet, month and year of the paysheet |
transfer.is_paysheet | boolean | Import from a paysheet or not |
beneficiary | Beneficiary | Beneficiary of the transfer |
invalid | array | Array of invalid transfers |
transfer | Transfer | an invalid transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Create multiple transfers
Code samples
curl -X POST https://api.staging.manager.one/transfers/batch \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Creates multiple transfers using provided data.
You can use this endpoint after using the import file
endpoint with the data returned or just build a requests from scratch.
If you have imported some paysheets, they will be attached to the transfers with the field temporary_file
.
You can also attach a file to a transfer by two methods:
- Upload the file with the
Upload document
endpoint and put the id of the document in the fieldtemporary_field
. - Upload the file in this request and use the same key for the transfer and the file (cf. Body parameter example).
Request
POST /transfers/batch
Body parameter
{
"transfers": [
{
"send_notification": true,
"amount": 1319.32,
"currency": "EUR",
"label": "PAYSLIP January 2018 John",
"comment": "transfer comment",
"type": "direct",
"execution_date": "2018-01-19",
"beneficiary_id": 1,
"temporary_file": 1
},
{
"send_notification": true,
"amount": "100,54",
"currency": "EUR",
"label": "PAYSLIP January 2018 Alison",
"comment": "transfer comment",
"type": "direct",
"execution_date": "2018-01-19",
"beneficiary_id": 1,
}
]
}
document: ["1": file] #Attach the file with the second transfer
Parameters
Array of Transfer
Name | In | Type | Required | Description |
---|---|---|---|---|
transfers | body | array | true | Array of transfers to create |
send_notification | body | boolean | false | Send a notification to the beneficiary |
amount | body | number(double) | true | Amount of the operation |
currency | body | string | true | EUR/USD etc.. |
label | body | string | false | User label |
comment | body | string | false | User comment or reference |
type | body | string | false | Type of transfer |
execution_date | body | string(date) | false | Date of execution |
beneficiary_id | body | integer | false | Beneficiary ID |
temporary_file | body | integer | false | ID of the document already uploaded (for payslip) |
Document | form-data | file | false | The document to attach (if temporary_file is not used) |
Enumerated Values
Property | Value |
---|---|
type | direct |
type | delayed |
type | periodic |
Example response
201 Response
{
"0": {
"amount": 1319.32,
"beneficiary": {
"id": 1,
"label": "John",
"short_tag": null,
"iban": "FR7630001007941234561890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "SOGEFRPPXXX",
"is_sepa": true,
"phone_number": null,
"email": "john@manager.one",
"comment": null,
"address": {
"street": "8, boulevard Charpentier",
"zip": "71800",
"city": "ST GERMAIN EN BRIONNAIS",
"country": "FR",
"building_number": "8",
"building_number_index": null,
"street_name": "Charpentier",
"street_type": "boulevard"
},
"social_security_number": "1500789151856",
"rib": null,
"bank_data": {
"bic": "BDFEFRPPCCT",
"bank": "BANQUE DE FRANCE",
"street": "",
"zip": "",
"city": "",
"country": "FRANCE",
"country_iso": null,
"sepa": true
}
},
"created_at": 123456,
"certificate": {
"id": 1,
"updated_at": 123456,
"filename": "transfer-certificate-payslip-february-2018-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": {
"id": 1,
"updated_at": 12345,
"filename": "payslip-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"execution_date": "2018-01-19",
"id": 1,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "PAYSLIP January 2018 John",
"similar_transfers": null,
"send_notification": true,
"status": "processing",
"status_label": "En cours",
"type": "direct",
"updatable_until": 123456,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": null,
"validation_token": "5e8163fd9dd0879e714f57228f0ac87d"
},
"1": {
"amount": 1452.46,
"beneficiary": {
"id": 2,
"label": "Alison",
"short_tag": null,
"iban": "FR7630001007941234567890179",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 179",
"bic": "string",
"is_sepa": true,
"phone_number": "0500000000",
"email": "alison@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"validation": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"created_at": 123456,
"certificate": {
"id": 2,
"updated_at": 123456,
"filename": "transfer-certificate-payslip-february-2018-alison.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": {
"id": 2,
"updated_at": 1475419716,
"filename": "none",
"mime_type": "application/pdf",
"url": "https://api-mone.docker.local/transfers/3234/document"
},
"execution_date": "2018-01-19",
"id": 2,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "PAYSLIP February 2018 Alison",
"similar_transfers": null,
"send_notification": true,
"status": "pending",
"status_label": "En attente",
"type": "direct",
"updatable_until": 1542710975,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": null,
"validation_token": "22d4fcc75a53c71a056262cafa90bd74"
},
"account": {
"id": "c603a61b-5b91-4787-9663-c0ae08551f2f",
"label": "test_account",
"balance": 10308.63,
"currency": "EUR",
"company_name": "test_company",
"validation_details": {
"beneficiary": "simple",
"transfer": "none"
},
"owner": {
"gender_label": "Mr",
"first_name" : "Jean",
"last_name": "Dupont"
}
}
}
Responses
Array of transfers
Name | Type | Description |
---|---|---|
amount | number(double) | Amount of the transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
created_at | integer | Creation date |
certificate | document | Certificate of the transfer |
certificate.id | integer | Beneficiary ID |
certificate.updated_at | integer | Date of update |
certificate.filename | string | filename of the document |
certificate.mime_type | string | MIME Type of the file |
certificate.url | string | URL to download the file if uploaded |
comment | string | User defined comment or reference |
currency | Currency | Currency of the transfer |
document |
Document | see documents instead. |
documents | Document[] | - |
execution_date | string(date) | Date of execution |
id | integer | Id of transfer |
fx_amount | number(double) | Foreign Fees |
fx_currency | string | Foreign currency |
fx_rate | number(double) | Foreign rate |
fx_fees | number(double) | Foreign Fees |
label | string | User label |
similar_transfers | Transfer | Similar transfers if exist |
send_notification | boolean | Send a notification to the beneficiary |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
type | string | Type of transfer |
updatable_until | integer | Date until the operation can be updated |
user | User | User who created the transfer |
o_auth_service | OAuthService | OAuthService who created the transfer |
o_auth_service.name | string | name of the service |
validated_at | integer | Validated at (when the transfer need validation) |
validation_token | string | Validation token of the transfer |
Account
Name | Type | Description |
---|---|---|
account | Account | Account |
account.id | integer | Id of the account |
account.balance | number (double) | Balance of the account |
account.label | string | Label of the account |
account.currency | string | Currency of the account |
Enumerated Values
Property | Value | Description |
---|---|---|
transfer.status | double_check | Need validation of the bank (not SEPA) |
transfer.status | done | Transfer done |
transfer.status | pending | Transfer wait for processing |
transfer.status | processing | Transfer in progress |
transfer.status | sent | Transfer sent to the bank |
transfer.status | to_validate | The transfer need the validation of the account owner |
transfer.status | wait_signature | Wait for a signature of the bank (not SEPA) |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Get a transfer
Code samples
curl -X GET https://api.staging.manager.one/transfers/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Return a transfer
Request
GET /transfers/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The transfer ID |
Example response
200 Response
Example response
200 Response
{
"amount": 1319.32,
"beneficiary": {
"id": 1,
"label": "John",
"short_tag": null,
"iban": "FR7630001007941234561890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "SOGEFRPPXXX",
"is_sepa": true,
"phone_number": null,
"email": "john@manager.one",
"comment": null,
"address": {
"street": "8, boulevard Charpentier",
"zip": "71800",
"city": "ST GERMAIN EN BRIONNAIS",
"country": "FR",
"building_number": "8",
"building_number_index": null,
"street_name": "Charpentier",
"street_type": "boulevard"
},
"social_security_number": "1500789151856",
"rib": null,
"bank_data": {
"bic": "BDFEFRPPCCT",
"bank": "BANQUE DE FRANCE",
"street": "",
"zip": "",
"city": "",
"country": "FRANCE",
"country_iso": null,
"sepa": true
}
},
"created_at": 1542301427,
"certificate": {
"id": 1,
"updated_at": 1542301427,
"filename": "transfer-certificate-payslip-february-2018-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": "transfer comment",
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": {
"id": 1,
"updated_at": 1542301427,
"filename": "payslip-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"execution_date": "2018-11-16",
"id": 1,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "tranfer label",
"similar_transfers": null,
"send_notification": true,
"status": "processing",
"status_label": "En cours",
"type": "direct",
"updatable_until": 1542301427,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": 1521535875,
"validation_token": "5e8163fd9dd0879e714f57228f0ac87d",
"account": {
"id": "a81fda14-9475-484a-b7a8-7b3ec24e0470",
"label": "test_account",
"balance": 10308.63,
"currency": "EUR",
"company_name": "test_company",
"validation_details": {
"beneficiary": "simple",
"transfer": "none"
},
"owner": {
"gender_label": "Mr",
"first_name" : "Jean",
"last_name": "Dupont"
}
},
"operation": {
"id": 3,
"created_at": 1542301427,
"executed_at": 1542301427,
"value_date": "2018-11-15",
"accounting_date": null,
"expense_date": null,
"status": "done",
"label": "Basic transfer 3",
"hint": null,
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"amount": 1319.32,
"fx_amount": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"fx_currency": null,
"document_required": false,
"fx_fees": null,
"documents": [
{
"id": 1,
"updated_at": 1542301427,
"name": "payslip-john",
"filename": "payslip-john",
"mime_type": "pdf",
"size": 6581,
"url": "https://staging.manager.one/operations/CAA974F3-FB15-4847-AE0A-BB62D43F651A/documents/1",
"score": null,
"valid": false,
"user": null
}
],
"nb_documents": 1,
"bill": null,
"affectations": [],
"attributions": [],
"detail": {
"vat": {
"amount": null,
"rate": null
},
"categories": [],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": null,
"city": null,
"country_code": null,
"name": null,
"postal_code": null
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": {
"key1": "value1",
"key2": "value2"
}
},
"beneficiary": null,
"comment": null,
"credit_card": null,
"optional_receipt_at": null,
"lost_receipt_at": null,
"proof_required_before": null,
"spender": false,
"reject_reason": null,
"is_compliant": null,
"compliant_at": null,
"documents_status": "available",
"documents_actions": []
}
}
Responses
Transfer
Name | Type | Description |
---|---|---|
amount | number(double) | Amount of the transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
created_at | integer | Creation date |
certificate | document | Certificate of the transfer |
certificate.id | integer | Beneficiary ID |
certificate.updated_at | integer | Date of update |
certificate.filename | string | filename of the document |
certificate.mime_type | string | MIME Type of the file |
certificate.url | string | URL to download the file if uploaded |
comment | string | User defined comment or reference |
currency | Currency | Currency |
document | Document | Document linked with the transfer (Invoice,...) |
document.updated_at | integer | Date of update |
document.filename | string | filename of the document |
document.mime_type | string | MIME Type of the file |
document.url | string | URL to download the file if uploaded |
document_url | string | URL of the document |
execution_date | string(date) | Date of execution |
id | integer | Id of transfer |
fx_amount | number(double) | Foreign Fees |
fx_currency | string | Foreign currency |
fx_rate | number(double) | Foreign rate |
fx_fees | number(double) | Foreign Fees |
label | string | User label |
similar_transfers | Transfer | Similar transfers if exist |
send_notification | boolean | Send a notification to the beneficiary |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
type | string | Type of transfer |
updatable_until | integer | Date until the operation can be updated |
user | User | User who created the transfer |
o_auth_service | OAuthService | OAuthService who created the transfer |
o_auth_service.name | string | name of the service |
validated_at | integer | Validated at (when the transfer need validation) |
validation_token | string | Validation token of the transfer (can be checked here https://www.manager.one/fr/wirecheck) |
account | Account | Account |
account.id | integer | Id of the account |
account.label | string | Label of the account |
account.balance | number (double) | Balance of the account |
account.currency | string | Currency of the account |
operation | Operation | Operation associated to this transfer |
Operation
This model is used whenever we are not in the context of a bank transfer. This means that we have less data on the spender and the transaction which is reflected in the data sent through the webhook.
Fields | Type | Description |
---|---|---|
id | integer | Id of operation |
created_at | integer | Creation date timestamp |
executed_at | integer | Execution date timestamp |
value_date | string | Value date of the transfer (YYYY-MM-DD) |
accounting_date | string | Accounting date of the transfer (YYYY-MM-DD) |
mid | string | Credit Card Merchant Identification (MID) |
status | string | Status of the operation |
label | string | User label |
type | string | D (Debit) / C (Credit) |
category | string | Transfer/Withdraw/SEPA etc.. |
category_label | string | Category name translated |
afb_code | number | AFB Code |
amount | number(double) | Amount of the operation, in cents |
currency | string | EUR/USD etc.. |
documents | array of Document | Documents linked with the operation (Invoice,...). Multiple documents. |
bill | Bill (child of Document) | Bill linked with the operation (manager.one fees) |
affectations | array | List of affectations of the operation, can be the name of the related project for example |
attributions | array of Attribution | List of users related to the operation |
detail | OperationDetail | Details of the operation |
beneficiary | Beneficiary | Beneficiary if the operation is a debit transfer |
comment | string | Comment |
Enumerated Values
Property | Value | Description |
---|---|---|
status | double_check | Need validation of the bank (not SEPA) |
status | done | Transfer done |
status | pending | Transfer wait for processing |
status | processing | Transfer in progress |
status | sent | Transfer sent to the bank |
status | to_validate | The transfer need the validation of the account owner |
status | wait_signature | Wait for a signature of the bank (not SEPA) |
status | cancelled | Transfer cancelled |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The transfer doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Update a transfer
Code samples
curl -X PUT https://api.staging.manager.one/transfers/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Update a specific transfer
Request
PUT /transfers/{id}
Body parameter
{
"amount": "1319.32",
"label": "transfer label",
"comment": "transfer comment",
"type": "direct",
"execution_date": "2018-11-16",
"validated_at": "1521535875"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The transfer ID |
amount | body | number(double) | false | Amount of the transfer |
label | body | string | false | Label of the transfer |
comment | body | string | false | Comment or reference |
type | body | string | false | Type of transfer |
execution_date | body | string(date) | false | Date of execution |
validated_at | body | integer | false | Validated at |
Enumerated Values
Property | Value |
---|---|
type | direct |
type | delayed |
type | periodic |
Example response
200 Response
{
"amount": 1319.32,
"beneficiary": {
"id": 1,
"label": "John",
"short_tag": null,
"iban": "FR7630001007941234561890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "SOGEFRPPXXX",
"is_sepa": true,
"phone_number": null,
"email": "john@manager.one",
"comment": null,
"address": {
"street": "8, boulevard Charpentier",
"zip": "71800",
"city": "ST GERMAIN EN BRIONNAIS",
"country": "FR",
"building_number": "8",
"building_number_index": null,
"street_name": "Charpentier",
"street_type": "boulevard"
},
"social_security_number": "1500789151856",
"rib": null,
"bank_data": {
"bic": "BDFEFRPPCCT",
"bank": "BANQUE DE FRANCE",
"street": "",
"zip": "",
"city": "",
"country": "FRANCE",
"country_iso": null,
"sepa": true
}
},
"created_at": 1542301427,
"certificate": {
"id": 1,
"updated_at": 1542301427,
"filename": "transfer-certificate-payslip-february-2018-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": "transfer comment",
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": {
"id": 1,
"updated_at": 1542301427,
"filename": "payslip-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"execution_date": "2018-11-16",
"id": 1,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "tranfer label",
"similar_transfers": null,
"send_notification": true,
"status": "processing",
"status_label": "En cours",
"type": "direct",
"updatable_until": 1542301427,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": 1521535875,
"validation_token": "5e8163fd9dd0879e714f57228f0ac87d",
"account": {
"id": "a81fda14-9475-484a-b7a8-7b3ec24e0470",
"label": "test_account",
"balance": 10308.63,
"currency": "EUR",
"company_name": "test_company",
"validation_details": {
"beneficiary": "simple",
"transfer": "none"
},
"owner": {
"gender_label": "Mr",
"first_name" : "Jean",
"last_name": "Dupont"
}
},
"operation": {
"id": 3,
"created_at": 1542301427,
"executed_at": 1542301427,
"value_date": "2018-11-15",
"accounting_date": null,
"expense_date": null,
"status": "done",
"label": "Basic transfer 3",
"hint": null,
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"amount": 1319.32,
"fx_amount": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"fx_currency": null,
"document_required": false,
"fx_fees": null,
"documents": [
{
"id": 1,
"updated_at": 1542301427,
"name": "payslip-john",
"filename": "payslip-john",
"mime_type": "pdf",
"size": 6581,
"url": "https://staging.manager.one/operations/CAA974F3-FB15-4847-AE0A-BB62D43F651A/documents/1",
"score": null,
"valid": false,
"user": null
}
],
"nb_documents": 1,
"bill": null,
"affectations": [],
"attributions": [],
"detail": {
"vat": {
"amount": null,
"rate": null
},
"categories": [],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": null,
"city": null,
"country_code": null,
"name": null,
"postal_code": null
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": {
"key1": "value1",
"key2": "value2"
}
},
"beneficiary": null,
"comment": null,
"credit_card": null,
"optional_receipt_at": null,
"lost_receipt_at": null,
"proof_required_before": null,
"spender": false,
"reject_reason": null,
"is_compliant": null,
"compliant_at": null,
"documents_status": "available",
"documents_actions": []
}
}
Responses
Status Code 200 OK
Transfer
Name | Type | Description |
---|---|---|
amount | number(double) | Amount of the transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
created_at | integer | Creation date |
certificate | document | Certificate of the transfer |
certificate.id | integer | Beneficiary ID |
certificate.updated_at | integer | Date of update |
certificate.filename | string | filename of the document |
certificate.mime_type | string | MIME Type of the file |
certificate.url | string | URL to download the file if uploaded |
comment | string | User defined comment or reference |
currency | Currency | Currency |
document | Document | Document linked with the transfer (Invoice,...) |
document.updated_at | integer | Date of update |
document.filename | string | filename of the document |
document.mime_type | string | MIME Type of the file |
document.url | string | URL to download the file if uploaded |
document_url | string | URL of the document |
execution_date | string(date) | Date of execution |
id | integer | Id of transfer |
fx_amount | number(double) | Foreign Fees |
fx_currency | string | Foreign currency |
fx_rate | number(double) | Foreign rate |
fx_fees | number(double) | Foreign Fees |
label | string | User label |
similar_transfers | Transfer | Similar transfers if exist |
send_notification | boolean | Send a notification to the beneficiary |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
type | string | Type of transfer |
updatable_until | integer | Date until the operation can be updated |
user | User | User who created the transfer |
o_auth_service | OAuthService | OAuthService who created the transfer |
o_auth_service.name | string | name of the service |
validated_at | integer | Validated at (when the transfer need validation) |
validation_token | string | Validation token of the transfer (can be checked here https://www.manager.one/fr/wirecheck) |
account | Account | Account |
account.id | integer | Id of the account |
account.label | string | Label of the account |
account.balance | number (double) | Balance of the account |
account.currency | string | Currency of the account |
operation | Operation | Operation associated to this transfer |
Operation
This model is used whenever we are not in the context of a bank transfer. This means that we have less data on the spender and the transaction which is reflected in the data sent through the webhook.
Fields | Type | Description |
---|---|---|
id | integer | Id of operation |
created_at | integer | Creation date timestamp |
executed_at | integer | Execution date timestamp |
value_date | string | Value date of the transfer (YYYY-MM-DD) |
accounting_date | string | Accounting date of the transfer (YYYY-MM-DD) |
mid | string | Credit Card Merchant Identification (MID) |
status | string | Status of the operation |
label | string | User label |
type | string | D (Debit) / C (Credit) |
category | string | Transfer/Withdraw/SEPA etc.. |
category_label | string | Category name translated |
afb_code | number | AFB Code |
amount | number(double) | Amount of the operation, in cents |
currency | string | EUR/USD etc.. |
documents | array of Document | Documents linked with the operation (Invoice,...). Multiple documents. |
bill | Bill (child of Document) | Bill linked with the operation (manager.one fees) |
affectations | array | List of affectations of the operation, can be the name of the related project for example |
attributions | array of Attribution | List of users related to the operation |
detail | OperationDetail | Details of the operation |
beneficiary | Beneficiary | Beneficiary if the operation is a debit transfer |
comment | string | Comment |
Enumerated Values
Property | Value | Description |
---|---|---|
status | double_check | Need validation of the bank (not SEPA) |
status | done | Transfer done |
status | pending | Transfer wait for processing |
status | processing | Transfer in progress |
status | sent | Transfer sent to the bank |
status | to_validate | The transfer need the validation of the account owner |
status | wait_signature | Wait for a signature of the bank (not SEPA) |
status | cancelled | Transfer cancelled |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The transfer doesn't exist | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Cancel a transfer
Code samples
curl -X DELETE https://api.staging.manager.one/transfers/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Cancel a specific transfer
Request
DELETE /transfers/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The transfer ID |
Example response
200 Response
{
"amount": 1319.32,
"beneficiary": {
"id": 1,
"label": "John",
"short_tag": null,
"iban": "FR7630001007941234561890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "SOGEFRPPXXX",
"is_sepa": true,
"phone_number": null,
"email": "john@manager.one",
"comment": null,
"address": {
"street": "8, boulevard Charpentier",
"zip": "71800",
"city": "ST GERMAIN EN BRIONNAIS",
"country": "FR",
"building_number": "8",
"building_number_index": null,
"street_name": "Charpentier",
"street_type": "boulevard"
},
"social_security_number": "1500789151856",
"rib": null,
"bank_data": {
"bic": "BDFEFRPPCCT",
"bank": "BANQUE DE FRANCE",
"street": "",
"zip": "",
"city": "",
"country": "FRANCE",
"country_iso": null,
"sepa": true
}
},
"created_at": 1542301427,
"certificate": {
"id": 1,
"updated_at": 1542301427,
"filename": "transfer-certificate-payslip-february-2018-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"comment": "transfer comment",
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"document": {
"id": 1,
"updated_at": 1542301427,
"filename": "payslip-john.pdf",
"mime_type": "application/pdf",
"url": "string"
},
"execution_date": "2018-11-15",
"id": 1,
"fx_amount": null,
"fx_currency": null,
"fx_rate": null,
"fx_fees": null,
"label": "PAYSLIP January 2018 John",
"similarTransfers": null,
"similar_transfers": null,
"send_notification": true,
"status": "cancelled",
"status_label": "Annulé",
"statusLabel": "Annulé",
"type": "direct",
"updatable_until": 1542301427,
"user": null,
"o_auth_service": {
"name": "test_service"
},
"validated_at": null,
"validation_token": "408f8fa8c36324569ca4c4d7cd3c6715",
"account": {
"id": "a81fda14-9475-484a-b7a8-7b3ec24e0470",
"label": "test_account",
"balance": 10308.63,
"currency": "EUR",
"company_name": "test_company",
"validation_details": {
"beneficiary": "simple",
"transfer": "none"
},
"owner": {
"gender_label": "Mr",
"first_name" : "Jean",
"last_name": "Dupont"
}
},
"operation": {
"id": 3,
"created_at": 16521815423014276742,
"executed_at": 1542301427,
"value_date": "2018-11-16",
"accounting_date": null,
"expense_date": null,
"status": "done",
"label": "Basic transfer 3",
"hint": null,
"type": "debit",
"category": "transfer",
"category_label": "Virement",
"amount": 1319.32,
"fx_amount": null,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"fx_currency": null,
"document_required": false,
"fx_fees": null,
"documents": [
{
"id": 1,
"updated_at": 1542301427,
"name": "payslip-john",
"filename": "payslip-john",
"mime_type": "pdf",
"size": 6581,
"url": "https://staging.manager.one/operations/CAA974F3-FB15-4847-AE0A-BB62D43F651A/documents/1",
"score": null,
"valid": false,
"user": null
}
],
"nb_documents": 1,
"bill": null,
"affectations": [],
"attributions": [],
"detail": {
"vat": {
"amount": null,
"rate": null
},
"categories": [],
"guest": null,
"nights": null,
"service": null,
"charge_back": null,
"fuel": {
"value": null,
"label": "Inconnu"
},
"liters": null,
"mileage": null,
"half_board_included": null,
"authorization": {
"card_acceptor": {
"address": null,
"city": null,
"country_code": null,
"name": null,
"postal_code": null
},
"is_preauthorization": null,
"pos_terminal_id": null
},
"metadata": {
"key1": "value1",
"key2": "value2"
}
},
"beneficiary": null,
"comment": null,
"credit_card": null,
"optional_receipt_at": null,
"lost_receipt_at": null,
"proof_required_before": null,
"spender": false,
"reject_reason": null,
"is_compliant": null,
"compliant_at": null,
"documents_status": "available",
"documents_actions": []
}
}
Responses
Status Code 200 OK
Transfer
Name | Type | Description |
---|---|---|
amount | number(double) | Amount of the transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
created_at | integer | Creation date |
certificate | document | Certificate of the transfer |
certificate.id | integer | Beneficiary ID |
certificate.updated_at | integer | Date of update |
certificate.filename | string | filename of the document |
certificate.mime_type | string | MIME Type of the file |
certificate.url | string | URL to download the file if uploaded |
comment | string | User defined comment or reference |
currency | Currency | Currency |
document | Document | Document linked with the transfer (Invoice,...) |
document.updated_at | integer | Date of update |
document.filename | string | filename of the document |
document.mime_type | string | MIME Type of the file |
document.url | string | URL to download the file if uploaded |
document_url | string | URL of the document |
execution_date | string(date) | Date of execution |
id | integer | Id of transfer |
fx_amount | number(double) | Foreign Fees |
fx_currency | string | Foreign currency |
fx_rate | number(double) | Foreign rate |
fx_fees | number(double) | Foreign Fees |
label | string | User label |
similar_transfers | Transfer | Similar transfers if exist |
send_notification | boolean | Send a notification to the beneficiary |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
type | string | Type of transfer |
updatable_until | integer | Date until the operation can be updated |
user | User | User who created the transfer |
o_auth_service | OAuthService | OAuthService who created the transfer |
o_auth_service.name | string | name of the service |
validated_at | integer | Validated at (when the transfer need validation) |
validation_token | string | Validation token of the transfer (can be checked here https://www.manager.one/fr/wirecheck) |
account | Account | Account |
account.id | integer | Id of the account |
account.label | string | Label of the account |
account.balance | number (double) | Balance of the account |
account.currency | string | Currency of the account |
operation | Operation | Operation associated to this transfer |
Operation
This model is used whenever we are not in the context of a bank transfer. This means that we have less data on the spender and the transaction which is reflected in the data sent through the webhook.
Fields | Type | Description |
---|---|---|
id | integer | Id of operation |
created_at | integer | Creation date timestamp |
executed_at | integer | Execution date timestamp |
value_date | string | Value date of the transfer (YYYY-MM-DD) |
accounting_date | string | Accounting date of the transfer (YYYY-MM-DD) |
mid | string | Credit Card Merchant Identification (MID) |
status | string | Status of the operation |
label | string | User label |
type | string | D (Debit) / C (Credit) |
category | string | Transfer/Withdraw/SEPA etc.. |
category_label | string | Category name translated |
afb_code | number | AFB Code |
amount | number(double) | Amount of the operation, in cents |
currency | string | EUR/USD etc.. |
documents | array of Document | Documents linked with the operation (Invoice,...). Multiple documents. |
bill | Bill (child of Document) | Bill linked with the operation (manager.one fees) |
affectations | array | List of affectations of the operation, can be the name of the related project for example |
attributions | array of Attribution | List of users related to the operation |
detail | OperationDetail | Details of the operation |
beneficiary | Beneficiary | Beneficiary if the operation is a debit transfer |
comment | string | Comment |
Enumerated Values
Property | Value | Description |
---|---|---|
status | double_check | Need validation of the bank (not SEPA) |
status | done | Transfer done |
status | pending | Transfer wait for processing |
status | processing | Transfer in progress |
status | sent | Transfer sent to the bank |
status | to_validate | The transfer need the validation of the account owner |
status | wait_signature | Wait for a signature of the bank (not SEPA) |
status | cancelled | Transfer cancelled |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Download the file attached to a transfer
Code samples
curl -X GET https://api.staging.manager.one/transfers/{id}/{documentType} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get a file attached to a transfer
Request
GET /transfers/{id}/{documentType}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Transfer ID |
documentType | path | string | true | Document type |
Enumerated Values
Parameter | Value |
---|---|
documentType | document (see « Download the operation documents » instead.) |
documentType | certificate |
documentType | international |
[DEPRECATED] Attach a file to a transfer
Request
POST /transfers/{id}/{documentType}
[DEPRECATED] Delete the document
Request
DELETE /transfers/{id}/{documentType}
Check if the token is linked to a transfer
Code samples
curl -X GET https://api.staging.manager.one/transfers/check/{token} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Check if the token is linked to a transfer
Request
GET /transfers/check/{token}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
token | path | string | true | The transfer token |
Example response
200 Response
{
"amount": "100,00",
"beneficiary": {
"id": 123,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0033612345678",
"email": "jean@manager.one",
"comment": "Somme comment",
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
},
"created_at": "1521535875",
"currency": "EUR",
"execution_date": "2018-01-01",
"status": "done",
"status_label": "Terminé"
}
Response
Status Code 200 OK
The checked Transfer
Name | Type | Description |
---|---|---|
amount | number(double) | Amount of the transfer |
beneficiary | Beneficiary | Beneficiary of the transfer |
created_at | integer | Creation date |
currency | Currency | Currency of the transfer |
execution_date | string(date) | Date of execution |
status | string | State of the operation |
status_label | string | Label for the operation |
Enumerated Values
Property | Value | Description |
---|---|---|
status | double_check | Need validation of the bank (not SEPA) |
status | done | Transfer done |
status | pending | Transfer wait for processing |
status | processing | Transfer in progress |
status | sent | Transfer sent to the bank |
status | to_validate | The transfer need the validation of the account owner |
status | wait_signature | Wait for a signature of the bank (not SEPA) |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
404 | Not Found | The transfer doesn't exist | NotFoundHttpException |
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Beneficiary
Objects
The beneficiary object
Name | Type | Description |
---|---|---|
id | integer | Beneficiary ID |
iban | string | IBAN |
label | string | Name / social reason of the beneficiary |
bic | string | BIC code |
social_security_number | string | Beneficiary social security number |
short_tag | string | Associated code |
account_number_formatted | string | Formatted Account number |
is_sepa | boolean | SEPA or not |
phone_number | string | Beneficiary phone number |
string(email) | Beneficiary email | |
comment | string | Comment on the beneficiary |
address | Address | Address of the beneficiary |
bank_data | Iban | Bank data of the beneficiary |
bank_data.bic | string | Bank Identifier Code |
bank_data.bank | string | Bank of the beneficiary |
bank_data.street | string | Street of the bank |
bank_data.zip | string | Zip code of the bank |
bank_data.city | string | City of the bank |
bank_data.state | string | State of the bank |
bank_data.country | string | Country of the bank |
bank_data.country_iso | string | Country code |
bank_data.sepa | boolean | SEPA or not |
rib | Document | Rib of the beneficiary |
rib.updated_at | integer | Date of update |
rib.filename | string | filename of the document |
rib.mime_type | string | MIME Type of the file |
rib.url | string | URL to download the file if uploaded |
The beneficiary address
Field | Type | Description |
---|---|---|
street |
string | First line of the address |
zip | string | zip code |
city | string | City |
country | string | ISO Alpha 2 code of the country |
building_number_index | string | Index of building number such as bis or ter |
building_number | string | Number of building |
street_type | string | Type of street |
street_name | string | Name of street |
Beneficiaries
Code samples
curl -X GET https://api.staging.manager.one/beneficiaries?iban=FR7630001007941234561890185&expand=beneficiary_list,account \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
List of beneficiaries
Request
GET /beneficiaries
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
iban | query | string | false | IBAN of beneficiaries to be returned |
expand | query | string | false | Comma separated list of other fields to return |
Enumerated Values
Parameter | Value |
---|---|
expand | beneficiary_list |
expand | account |
Example response
200 Response
[
{
"id": 1,
"label": "John",
"short_tag": null,
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "SOGEFRPPXXX",
"is_sepa": true,
"phone_number": null,
"email": "john@manager.one",
"comment": null,
"address": {
"street": "8, boulevard Charpentier",
"zip": "71800",
"city": "ST GERMAIN EN BRIONNAIS",
"country": "FR",
"building_number": "8",
"building_number_index": null,
"street_name": "Charpentier",
"street_type": "boulevard"
},
"social_security_number": "1500789151856",
"rib": null,
"validation": {
"id": 1,
"created_at": 123456,
"updated_at": 123456,
"status": "accepted",
"label": "Ajout de bénéficiaire",
"sub_label": "JEAN DUPONT",
"policy": "simple",
"attempts": 0,
"allowed": false
},
"bank_data": {
"bic": "BDFEFRPPCCT",
"bank": "BANQUE DE FRANCE",
"street": "",
"zip": "",
"city": "",
"country": "FRANCE",
"country_iso": null,
"sepa": true
},
"account": {
"uuid": "a81fda14-9475-484a-b7a8-7b3ec24e0470"
}
},
{
"id": 2,
"label": "Alison",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 1890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "alison@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"validation": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"account": {
"uuid": "a81fda14-9475-484a-b7a8-7b3ec24e0470"
}
}
]
Responses
Status Code 200 OK
Array of Beneficiaries
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Not authorized | UnauthorizedHttpException |
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Create a beneficiary
Code samples
curl -X POST https://api.staging.manager.one/beneficiaries \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Create a beneficiary
Request
POST /beneficiaries
Body parameter
{
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"bic": "string",
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "Somme comment",
"beneficiary_list_id": 0,
"is_sepa": true,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
},
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789"
}
Parameters
Name | Type | Required | Description |
---|---|---|---|
label | string | true | Name / social reason of the beneficiary |
short_tag | string | false | Associated code |
iban | string | true | IBAN |
bic | string | true | BIC code |
phone_number | string | false | Beneficiary phone number |
string(email) | false | User email | |
comment | string | false | Comment on the Beneficiary |
beneficiary_list_id | integer | false | Id of the beneficiary_list |
is_sepa | boolean | false | SEPA or not |
bank_data | Iban | Only when not SEPA | Bank data of the beneficiary |
bank_data.bic | string | Only when not SEPA | Bank Identifier Code |
bank_data.bank | string | Only when not SEPA | Bank of the beneficiary |
bank_data.street | string | Only when not SEPA | Street of the bank |
bank_data.zip | string | Only when not SEPA | Zip code of the bank |
bank_data.city | string | Only when not SEPA | City of the bank |
bank_data.state | string | Only when not SEPA | State of the bank |
bank_data.country | string | Only when not SEPA | Country of the bank |
bank_data.country_iso | string | Only when not SEPA | Country ISO 3166-1 alpha-2 of the bank |
bank_data.sepa | boolean | Only when not SEPA | SEPA or not |
address | Address | Only when not SEPA | Address of the beneficiary |
social_security_number | string | false | Beneficiary social security number |
rib | file | false | Rib attached to the beneficiary. |
Example response
201 Response
{
"id": 1,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 534",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789",
"rib": null,
"validation": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
}
Responses
Status Code 201 CREATED
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
View a beneficiary
Code samples
curl -X GET https://api.staging.manager.one/beneficiaries/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
View a beneficiary
Request
GET /beneficiaries/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The beneficiary ID |
Example response
201 Response
{
"id": 1,
"label": "string",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 534",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "48, Rue de la Vielle Ecole",
"zip": "75116",
"city": "Paris",
"country": "France",
"building_number": "48",
"building_number_index": null,
"street_name": "de la Vielle Ecole",
"street_type": "rue"
},
"social_security_number": "123456789",
"rib": null,
"validation": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
}
Responses
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The beneficiary doesn't exist | None |
Update a beneficiary
Code samples
curl -X PUT https://api.staging.manager.one/beneficiaries/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Update a beneficiary
Request
PUT /beneficiaries/{id}
Body parameter
{
"short_tag": "MONE",
"comment": "some comment",
"address": {
"street": "1 rue de Paris",
"zip": "75000",
"city": "Paris",
"country": "France",
"building_number": "1",
"building_number_index": null,
"street_name": "de Paris",
"street_type": "rue"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
label | body | string | false | Name / social reason of the beneficiary |
short_tag | body | string | false | Associated code |
phone_number | body | string | false | Beneficiary phone number |
body | string(email) | false | User email | |
comment | body | string | false | Comment on the Beneficiary |
beneficiary_list_id | body | integer | false | Id of the beneficiary_list |
address | body | Address | false | Address of the beneficiary |
social_security_number | body | string | false | Beneficiary social security number |
Example response
200 Response
{
"id": 1,
"label": "string",
"short_tag": "MONE",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 534",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "Somme comment",
"address": {
"street": "1 rue de Paris",
"zip": "75000",
"city": "Paris",
"country": "France",
"building_number": "1",
"building_number_index": null,
"street_name": "de Paris",
"street_type": "rue"
},
"social_security_number": "123456789",
"rib": null,
"validation": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
}
Responses
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Delete a beneficiary
Code samples
curl -X DELETE https://api.staging.manager.one/beneficiaries/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Delete a beneficiary
Request
DELETE /beneficiaries/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The beneficiary ID |
Example response
204 Response
Responses
Status Code 204 No Content
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The beneficiary doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error when deleting the beneficiary | ServerErrorHttpException |
Get rib of beneficiary
Code samples
curl -X GET https://api.staging.manager.one/beneficiaries/{id}/rib \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get the rib of a beneficiary (if a rib have been uploaded).
Request
GET /beneficiaries/{id}/rib
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Beneficiary id |
Example response
200 Response
Responses
Status Code 200 OK
Document
Name | Type | Description |
---|---|---|
ID | integer | ID of the document |
updated_at | integer | Date of update |
filename | string | Filename of the document |
mime_type | string | MIME Type of the file |
url | string | URL to download the file if uploaded |
Beneficiary List
List of beneficiary lists
Code samples
curl -X GET https://api.staging.manager.one/beneficiary-lists \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get all beneficiary lists
Request
GET /beneficiary-lists
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
expand | query | string | false | List of other fields to return |
Enumerated Values
Parameter | Value |
---|---|
expand | beneficiaries |
Example response
200 Response
[
{
"id": 1,
"label": "string",
"comment": "string",
"nb_beneficiaries": 2,
"list_type": {
"id": 1,
"name":"Suppliers",
"label":"Fournisseurs"
}
},
{
"id": 2,
"label": "string",
"comment": "string",
"nb_beneficiaries": 5,
"list_type": {
"id": 1,
"name":"Suppliers",
"label":"Fournisseurs"
}
},
{
"id": 3,
"label": "string",
"comment": "string",
"nb_beneficiaries": 3,
"list_type": {
"id": null,
"name":"custom",
"label":"custom"
}
},
{...}
]
Responses
Status Code 200 OK
Array of Beneficiary List
Name | Type | Description |
---|---|---|
id | integer | BeneficiaryList ID |
label | string | Label of the list |
comment | string | Comment about the list |
nb_beneficiaries | integer | Number of beneficiaries |
list_type | BeneficiaryListType | Type of list |
list_type.id | integer | Type of list |
list_type.name | string | Name of the type |
list_type.label | string | Name of the type translated (Only for default types) |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Create a beneficiary list
Code samples
curl -X POST https://api.staging.manager.one/beneficiary-lists \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Create a beneficiary list
Request
POST /beneficiary-lists
Body parameter
{
"label": "string",
"list_type": {
"name": "string"
},
"comment": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
label | body | string | true | Label of the list |
list_type_id | body | string | false | ID of the type of list, if it already exists |
list_type | body | BeneficiaryListType | false | List Type, if it does not exist or does not have an id |
list_type.name | body | string | false | Name of the type of list |
comment | body | string | false | Comment about the list |
Example response
201 Response
{
"id": 5,
"label": "Developer",
"comment": null,
"nb_beneficiaries": 0,
"list_type": {
"id": null,
"name": "freelance",
"label": "freelance"
}
}
Responses
Status Code 201 CREATED
Name | Type | Description |
---|---|---|
id | integer | BeneficiaryList ID |
label | string | Label of the list |
comment | string | Comment about the list |
nb_beneficiaries | integer | Number of beneficiaries |
list_type | BeneficiaryListType | Type of list |
list_type.id | integer | Type of list |
list_type.name | string | Name of the type |
list_type.label | string | Name of the type translated (Only for default types) |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
View a beneficiary list
Code samples
curl -X GET https://api.staging.manager.one/beneficiary-lists/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
View a beneficiary list
Request
GET /beneficiary-lists/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The beneficiary list ID |
expand | query | array[string] | false | List of other fields to return |
Enumerated Values
Parameter | Value |
---|---|
expand | beneficiaries |
Example response
200 Response
{
"id": 5,
"label": "Developer",
"comment": null,
"nb_beneficiaries": 0,
"list_type": {
"id": null,
"name": "freelance",
"label": "freelance"
}
}
Responses
Status Code 200 OK
Name | Type | Description |
---|---|---|
id | integer | BeneficiaryList ID |
label | string | Label of the list |
comment | string | Comment about the list |
nb_beneficiaries | integer | Number of beneficiaries |
list_type | BeneficiaryListType | Type of list |
list_type.id | integer | Type of list |
list_type.name | string | Name of the type |
list_type.label | string | Name of the type translated (Only for default types) |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The beneficiary list doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Update a beneficiary list
Code samples
curl -X PUT https://api.staging.manager.one/beneficiary-lists/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Update a beneficiary list
Request
PUT /beneficiary-lists/{id}
Body parameter
{
"label": "string",
"list_type": {
"name": "string"
},
"comment": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
label | body | string | true | Label of the list |
list_type_id | body | string | false | ID of the type of list, if it already exists |
list_type | body | BeneficiaryListType | false | List Type, if it does not exist or does not have an id |
list_type.name | body | string | false | Name of the type of list |
comment | body | string | false | Comment about the list |
Example response
200 Response
{
"id": 5,
"label": "Developer",
"comment": null,
"nb_beneficiaries": 0,
"list_type": {
"id": null,
"name": "freelance",
"label": "freelance"
}
}
Responses
Status Code 200 OK
Name | Type | Description |
---|---|---|
id | integer | BeneficiaryList ID |
label | string | Label of the list |
comment | string | Comment about the list |
nb_beneficiaries | integer | Number of beneficiaries |
list_type | BeneficiaryListType | Type of list |
list_type.id | integer | Type of list |
list_type.name | string | Name of the type |
list_type.label | string | Name of the type translated (Only for default types) |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The beneficiary list doesn't exist | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Delete a beneficiary list
Code samples
curl -X DELETE https://api.staging.manager.one/beneficiary-lists/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Delete a beneficiary list
Request
DELETE /beneficiary-lists/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The beneficiary list ID |
Example response
204 Response
Responses
Status Code 204 No Content
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The beneficiary list doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error when deleting the beneficiary list | ServerErrorHttpException |
Document
Upload document
Code samples
curl -X POST https://api.staging.manager.one/documents?type=string \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
-F file="@/path/to/a/file.jpg"
Upload a document
Request
POST /documents
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
type | query | string(int32) | false | Document type |
file | form-data | file | true | The document to attach |
Enumerated Values
Parameter | Value |
---|---|
type | document |
Example response
200 Response
{
"id",
"updated_at": 12345,
"filename": "string",
"mime_type": "string",
"url": "string"
}
Responses
Status Code 200 OK
Name | Type | Description |
---|---|---|
ID | integer | ID of the document |
updated_at | integer | Date of update |
filename | string | Filename of the document |
mime_type | string | MIME Type of the file |
url | string | URL to download the file if uploaded |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
Get document
Code samples
curl -X GET https://api.staging.manager.one/documents/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get a document by id
Request
GET /documents/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Document ID |
Example response
200 Response
Responses
The file
Status Code 200 OK
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The document doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Update document
Code samples
curl -X POST https://api.staging.manager.one/documents/{id} \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
-F file="@/path/to/a/file.jpg"
Update a document
Request
POST /documents/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Id of the document |
file | form-data | file | true | The document to attach |
Enumerated Values
Parameter | Value |
---|---|
type | document |
Example response
200 Response
Responses
Status Code 200 OK
The file
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The document doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Delete document by id
Code samples
curl -X DELETE https://api.staging.manager.one/documents/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Delete a document uploaded
Request
DELETE /documents/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Document ID |
Example response
404 Response
Responses
Status Code 204 No Content
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
404 | Not Found | The document doesn't exist | NotFoundHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Periodic Transfer
List of periodic transfers
Code samples
curl -X GET https://api.staging.manager.one/periodic-transfers \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Get list of periodic transfers
Request
GET /periodic-transfers
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | Text to search |
status | query | string | false | Status |
from | query | string(date) | false | From date (eq: 2017-01-01) |
to | query | string(date) | false | To date (eq: 2017-01-31) |
min | query | number(double) | false | The minimum amount to looking for |
max | query | number(double) | false | The maximum amount to looking for |
Example response
200 Response
[
{
"id": 1,
"created_at": 123456789,
"updated_at": 123456789,
"type": "periodic",
"amount": 123,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"label": "G Suite",
"comment": null,
"start_date": "2018-01-01",
"end_date": "2018-12-31",
"enabled": true,
"beneficiary": {
"id": 123,
"label": "Simone-Lorraine Toussaint",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"user": {
"uuid": "b63gf4c3-4d7e-4a56-ac29-76f0e74gddc1",
"id": 14,
"gender": 1,
"gender_label": "Monsieur",
"first_name": "Jean",
"last_name": "Dupont",
"email": "jean.dupont@manager.one"
},
"status": "active",
"statusLabel": "Actif",
"period": "weekly",
"send_notification": true
},
{
...
}
]
Response
Status Code 200 OK
List of periodic transfers
Name | Type | Description |
---|---|---|
id | integer | Permanent transfer id |
created_at | integer | Creation date |
updated_at | integer | Date of update |
type | string | Permanent transfer type |
amount | number(double) | Amount value |
currency | Currency | Currency |
label | string | comment or reference |
comment | string | Comment on the transfer |
start_date | string | Date of update |
end_date | string | Date of update |
enabled | boolean | Current status |
beneficiary | Beneficiary | Beneficiary of the transfer |
user | User | User who created the transfer |
o_auth_service | OAuthService | Service who create the service |
o_auth_service.name | string | name of the service |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
period | string | Period of the transfer |
send_notification | boolean | Send a notification to the beneficiary |
updatable | string | Either periodic transfer is updatable or not |
Enumerated Values
Property | Value | Description |
---|---|---|
type | periodic | Periodic transfer |
status | active | Transfer is enabled |
status | suspended | Transfer has been suspended |
period | weekly | Weekly Transfer |
period | monthly | Monthly Transfer |
period | quarterly | Quarterly Transfer |
period | biannual | Biannual Transfer |
period | annual | Annual Transfer |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Create a periodic transfer
Code samples
curl -X POST https://api.staging.manager.one/periodic-transfers \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Create a periodic transfer
Request
POST /periodic-transfers
Body parameter
{
"amount": 100.54,
"currency": "EUR",
"label": "transfer label",
"comment": "transfer comment",
"beneficiary_id": 1,
"start_date": "2018-01-01",
"end_date": "2018-12-31",
"period": "weekly",
"send_notification": "true"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
amount | body | number(double) | true | Amount of the transfer |
currency | body | string | true | EUR/USD etc.. |
label | body | string | false | Transfer label |
comment | body | string | false | Comment or reference |
beneficiary_id | body | integer | true | ID of beneficiary |
start_date | body | ISO date/time | true | Date of the first transfer |
end_date | body | ISO date/time | true | ID of beneficiary |
period | body | string | true | Period of the transfer |
send_notification | body | boolean | false | Send a notification to the beneficiary |
Enumerated Values
Property | Value | Description |
---|---|---|
currency | EUR | Euro |
currency | USD | Dollar |
currency | GBP | Pound |
period | weekly | Weekly Transfer |
period | monthly | Monthly Transfer |
period | quarterly | Quarterly Transfer |
period | biannual | Biannual Transfer |
period | annual | Annual Transfer |
Example response
200 Response
{
"id": 1,
"created_at": 123456789,
"updated_at": 123456789,
"type": "periodic",
"amount": 100.54,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"label": "transfer label",
"comment": "transfer comment",
"start_date": "2018-01-01",
"end_date": "2018-12-31",
"enabled": true,
"beneficiary": {
"id": 1,
"label": "Simone-Lorraine Toussaint",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"o_auth_service": {
"name": "test_service"
},
"status": "active",
"statusLabel": "Actif",
"period": "weekly",
"send_notification": true
}
Responses
Status Code 200 OK
Periodic transfer
Name | Type | Description |
---|---|---|
id | integer | Permanent transfer id |
created_at | integer | Creation date |
updated_at | integer | Date of update |
type | string | Permanent transfer type |
amount | number(double) | Amount value |
currency | Currency | Currency |
label | string | comment or reference |
comment | string | Comment on the transfer |
start_date | string | Date of update |
end_date | string | Date of update |
enabled | boolean | Current status |
beneficiary | Beneficiary | Beneficiary of the transfer |
user | User | User who created the transfer |
o_auth_service | OAuthService | Service who create the service |
o_auth_service.name | string | name of the service |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
period | string | Period of the transfer |
send_notification | boolean | Send a notification to the beneficiary |
updatable | string | Either periodic transfer is updatable or not |
Enumerated Values
Property | Value | Description |
---|---|---|
type | periodic | Periodic transfer |
status | active | Transfer is enabled |
status | suspended | Transfer has been suspended |
period | weekly | Weekly Transfer |
period | monthly | Monthly Transfer |
period | quarterly | Quarterly Transfer |
period | biannual | Biannual Transfer |
period | annual | Annual Transfer |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Get a periodic transfer
Code samples
curl -X GET https://api.staging.manager.one/periodic-transfers/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Return a specific user periodic transfer
Request
GET /periodic-transfers/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The periodic transfer ID |
Example response
200 Response
{
"id": 1,
"created_at": 123456789,
"updated_at": 123456789,
"type": "periodic",
"amount": 100.54,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"label": "transfer label",
"comment": "transfer comment",
"start_date": "2018-01-01",
"end_date": "2018-12-31",
"enabled": true,
"beneficiary": {
"id": 1,
"label": "Simone-Lorraine Toussaint",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"o_auth_service": {
"name": "test_service"
},
"status": "active",
"statusLabel": "Actif",
"period": "weekly",
"send_notification": true
}
Responses
Status Code 200 OK
Periodic transfer
Name | Type | Description |
---|---|---|
id | integer | Permanent transfer id |
created_at | integer | Creation date |
updated_at | integer | Date of update |
type | string | Permanent transfer type |
amount | number(double) | Amount value |
currency | Currency | Currency |
label | string | comment or reference |
comment | string | Comment on the transfer |
start_date | string | Date of update |
end_date | string | Date of update |
enabled | boolean | Current status |
beneficiary | Beneficiary | Beneficiary of the transfer |
user | User | User who created the transfer |
o_auth_service | OAuthService | Service who create the service |
o_auth_service.name | string | name of the service |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
period | string | Period of the transfer |
send_notification | boolean | Send a notification to the beneficiary |
updatable | string | Either periodic transfer is updatable or not |
Enumerated Values
Property | Value | Description |
---|---|---|
type | periodic | Periodic transfer |
status | active | Transfer is enabled |
status | suspended | Transfer has been suspended |
period | weekly | Weekly Transfer |
period | monthly | Monthly Transfer |
period | quarterly | Quarterly Transfer |
period | biannual | Biannual Transfer |
period | annual | Annual Transfer |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Update a periodic transfer
Code samples
curl -X PUT https://api.staging.manager.one/periodic-transfers/{id} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Update a periodic transfer
Request
PUT /periodic-transfers/{id}
Body parameter
{
"amount": "100,12",
"currency": "EUR",
"label": "transfer label",
"comment": "transfer comment",
"enabled": true,
"end_date": "2018-12-31",
"send_notification": "true"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The transfer ID |
amount | body | number(double) | false | Amount of the transfer |
currency | body | string | false | EUR/USD etc.. |
label | body | string | false | Transfer label |
comment | body | string | false | Comment or reference |
enabled | body | boolean | false | Enable or stop the periodic transfer |
end_date | body | ISO date/time | false | ID of beneficiary |
send_notification | body | boolean | false | Send a notification to the beneficiary |
Example response
200 Response
{
"id": 1,
"created_at": 123456789,
"updated_at": 123456789,
"type": "periodic",
"amount": 100.54,
"currency": {
"iso": "EUR",
"label": "Euro",
"flag_url": "https://static.manager.one/flags/currency/EUR.png",
"fraction_digits": 2
},
"label": "transfer label",
"comment": "transfer comment",
"start_date": "2018-01-01",
"end_date": "2018-12-31",
"enabled": true,
"beneficiary": {
"id": 1,
"label": "Simone-Lorraine Toussaint",
"short_tag": "GOPR",
"iban": "FR7630001007941234567890185",
"account_number_formatted": "FR76 3000 1007 9412 3456 7890 185",
"bic": "string",
"is_sepa": true,
"phone_number": "0591731935",
"email": "jean@manager.one",
"comment": "string",
"address": {
"street": "56, boulevard Louise Maillet",
"zip": "75002",
"city": "PARIS 02",
"country": "FR",
"building_number": "56",
"building_number_index": null,
"street_name": "Louise Maillet",
"street_type": "boulevard"
},
"social_security_number": "123456789",
"rib": null,
"bank_data": {
"bic": "BOUSFRPPXXX",
"bank": "BOURSORAMA",
"street": "18 QUAI DU POINT DU JOUR",
"zip": "92659",
"city": "BOULOGNE BILLANCOURT",
"state": "ILE-DE-FRANCE",
"country": "FRANCE",
"country_iso": "FR",
"sepa": true
}
},
"o_auth_service": {
"name": "test_service"
},
"status": "active",
"statusLabel": "Actif",
"period": "weekly",
"send_notification": true
}
Responses
Status Code 200 OK
Periodic transfer
Name | Type | Description |
---|---|---|
id | integer | Permanent transfer id |
created_at | integer | Creation date |
updated_at | integer | Date of update |
type | string | Permanent transfer type |
amount | number(double) | Amount value |
currency | Currency | Currency |
label | string | comment or reference |
comment | string | Comment on the transfer |
start_date | string | Date of update |
end_date | string | Date of update |
enabled | boolean | Current status |
beneficiary | Beneficiary | Beneficiary of the transfer |
user | User | User who created the transfer |
o_auth_service | OAuthService | Service who create the service |
o_auth_service.name | string | name of the service |
status | string | State of the transfer |
status_label | string | State of the transfer translated |
period | string | Period of the transfer |
send_notification | boolean | Send a notification to the beneficiary |
updatable | string | Either periodic transfer is updatable or not |
Enumerated Values
Property | Value | Description |
---|---|---|
type | periodic | Periodic transfer |
status | active | Transfer is enabled |
status | suspended | Transfer has been suspended |
period | weekly | Weekly Transfer |
period | monthly | Monthly Transfer |
period | quarterly | Quarterly Transfer |
period | biannual | Biannual Transfer |
period | annual | Annual Transfer |
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
403 | Forbidden | Not authorized | ForbiddenHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Delete a periodic transfer
Code samples
curl -X DELETE https://api.staging.manager.one/periodic-transfers/{id} \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Delete a periodic transfer
Request
DELETE /periodic-transfers/{id}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | The transfer ID |
Example response
204 Response
Responses
Status Code 204 No Content
Errors
Status | Meaning | Description | Schema |
---|---|---|---|
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Cards
Objects
The card resource represents a payment card (physical or virtual).
The card object
Property | Type | Description |
---|---|---|
id |
integer | Database id. |
uuid | string | Unique identifier. |
type | string | Type of the card. |
status | string | Status of the card. |
reference | string (max 11) | Unique identifier humanized. |
label | string (max 50) | Label of the card. |
expiration_date | string | Expiration date (mm/yy). |
expiration_datefull | string | Expiration date with the day (dd/mm/yy). |
first_name | string | First name of the card holder. |
last_name | string | Last name of the card holder. |
digits | string | First six and last four digits of the card |
last_digits | string | Last digits of the card. |
user | User | The card holder. |
settings | CardSettings | Settings of the card |
metadata | array | Field used to inject your data. |
stop_payment_date | integer | Timestamp when the card was blocked, null if card is not blocked. |
stop_payment_source | string | The source by which the card has been blocked. |
stop_payment_reason | string | The blocking reason. |
consumed_amount | integer | Consumed amount on the card if the card has a initial_amount |
available_amount | integer | Available amount on the card if the card has a initial_amount |
address | Address | Card holder address, returned only in case of physical card order |
Card from operation
This is a simplified object of card used with operation endpoints.
Property | Type | Description |
---|---|---|
id |
integer | Database id. |
uuid | string | Unique identifier. |
reference | string (max 11) | Unique identifier humanized. |
label | string (max 50) | Label of the card. |
first_name | string | First name of the card holder. |
last_name | string | Last name of the card holder. |
last_digits | string | Last digits of the card. |
user | User | The card holder. |
Card order address
Field | Type | Description |
---|---|---|
street | string | First line of the address |
details | string | Second line of the address |
zip | string | zip code |
city | string | City |
country | string | ISO Alpha 2 code of the country |
add_company_name | boolean | If the address is attached to a company |
Card types
This is the different types of card available. The type defines the settings of the card :
Value | Group | Description |
---|---|---|
card |
physical | Physical card. |
virtual_card |
virtual | Classic virtual card. |
one_time_virtual_card |
virtual | Virtual card for a single payment, blocked after the payment. |
capped_virtual_card |
virtual | Virtual card for multiple payments, blocked once the ceiling is reached. |
recurring_virtual_card |
virtual | Virtual card with recurring balance. |
Card status
Value | Description |
---|---|
active |
The card is active. |
blocked |
The card is permanently non-functional and cannot transition to any other status. Refunds can still be completed after a card is blocked. |
locked |
The card is temporarily non-functional, locked by a user. Refunds can still be completed after a card is locked. |
locked_partner |
The card is temporarily non-functional, suspected fraud has been detected. Refunds can still be completed after a card is locked. |
locked_service |
The card is temporarily non-functional, locked by the account owner. Refunds can still be completed after a card is locked. |
locked_proof |
The card is temporarily non-functional, some operations need a proof document (c.f. settings.proof_required). Refunds can still be completed after a card is locked. |
pending |
The card has been created but is non-functional. This is the initial state of a physical card. |
to_validate |
The card has been created but is non-functional. Its waiting for account owner approval. |
Stop payment reasons
Physical cards
Those reasons are used for the physical card .
Value | Description |
---|---|
lost |
The card has been lost |
stolen |
The card has been stolen |
employee_left |
The card holder left the company |
damaged |
The card is damaged |
closed |
Account closed. |
card_holder_deleted |
The user card holder has been deleted. |
abusive_used |
Abusive usage has been detected by manager.one, we decided to block the card. |
proven_fraud |
Fraud has been detected on the card. |
Virtual cards
Those reasons are used for virtual cards. Virtual card are in the virtual card group.
Value | Description |
---|---|
delete_virtual_card |
The card has been deleted by user or a service. |
virtual_card_used |
The card has been used and automaticaly blocked (only for capped_virtual_card and one_time_virtual_card ). |
closed |
Account closed. |
card_holder_deleted |
The user card holder has been deleted. |
not_used |
The card has not been used for 60 days and has been automaticaly deleted (only for capped_virtual_card ) |
Stop payment sources
Value | Description |
---|---|
service |
A third service like yours. |
owner |
The account owner. |
bank |
The bank. |
partner |
The card partner. |
system |
The system. |
The settings object
Card settings depends on the type of card :
Physical card
Settings for a physical card.
Property | Type | Description |
---|---|---|
nfc | boolean | NFC (contactless payment) |
magnetic_strip | boolean | Magnetic stripe |
fx | boolean | Payments in foreign currencies |
distance_selling | boolean | Online payments & distance selling |
atm | boolean | Atm withdrawal |
proof_required | boolean | Document proof required on operations |
proof_required_delay | string | Delay on proof document required |
payment | PeriodicLimitAmount | Payments limits (withdrawal exclued) |
withdrawal | PeriodicLimitAmount | Withdrawal limits |
display_limit | boolean | Display limits on card holder view |
alert_limit_enabled | boolean | Mail alert when a limit is reached |
alert_spent | AlertSpent | Mail alert on spending threshold alert |
authorization_range | AuthorizationRange | Days and time slots allowed |
non_working_day | boolean | Payments on non working days (public holidays and week-ends) |
authorization_categories | AuthorizationCategories | Authorized expenditure categories |
blocked_keywords | array | Blocking expenses by keywords |
authorization_merchants | array | Allow only certain merchants per label |
authorized_mid | array of AuthorizedMid | Allow only certain merchants per Merchant ID |
auto_block_spent | AutoBlockSpent | Automatic blocking on spending threshold |
limit_transaction | PeriodicLimitTransactions | Number of transactions allowed |
blocked_countries | array | Blocking expenses by country (use country codes) |
check_countries | array | Blocking expenses by country (use country codes) |
automatic_renewal | boolean | Order a new card one month before expiration |
Virtual card
Settings for a classic virtual card.
Property | Type | Description |
---|---|---|
fx | boolean | Payments in foreign currencies |
proof_required | boolean | Document proof required on operations |
proof_required_delay | string | Delay on proof document required |
payment | PeriodicLimitAmount | Payments limits (withdrawal exclued) |
display_limit | boolean | Display limits on card holder view |
alert_limit_enabled | boolean | Mail alert when a limit is reached |
alert_spent | AlertSpent | Mail alert on spending threshold alert |
authorization_range | AuthorizationRange | Days and time slots allowed |
non_working_day | boolean | Payments on non working days (public holidays and week-ends) |
authorization_categories | AuthorizationCategories | Authorized expenditure categories |
blocked_keywords | array | Blocking expenses by keywords |
authorization_merchants | array | Allow only certain merchants |
authorized_mid | array of AuthorizedMid | Allow only certain merchants per Merchant ID |
auto_block_spent | AutoBlockSpent | Automatic blocking on spending threshold |
limit_transaction | PeriodicLimitTransactions | Number of transactions allowed |
blocked_countries | array | Blocking expenses by country (use country codes) |
check_countries | array | Blocking expenses by country (use country codes) |
One time virtual card
Settings for a one time virtual card.
Property | Type | Description |
---|---|---|
fx | boolean | Payments in foreign currencies |
display_limit | boolean | Display limits on card holder view |
alert_limit_enabled | boolean | Mail alert when a limit is reached |
authorization_categories | AuthorizationCategories | Authorized expenditure categories |
blocked_keywords | array | Blocking expenses by keywords |
authorization_merchants | array | Allow only certain merchants |
authorized_mid | array of AuthorizedMid | Allow only certain merchants per Merchant ID |
initial_amount | float | The card limit |
alert_card_used_enabled | boolean | Email alert sent to account owner when card is used |
Capped virtual card
Settings for a capped virtual card.
Property | Type | Description |
---|---|---|
fx | boolean | Payments in foreign currencies |
proof_required | boolean | Document proof required on operations |
proof_required_delay | string | Delay on proof document required |
payment | PeriodicLimitAmount | Payments limits (withdrawal exclued) |
display_limit | boolean | Display limits on card holder view |
alert_limit_enabled | boolean | Mail alert when a limit is reached |
alert_spent | AlertSpent | Mail alert on spending threshold alert |
authorization_range | AuthorizationRange | Days and time slots allowed |
non_working_day | boolean | Payments on non working days (public holidays and week-ends) |
authorization_categories | AuthorizationCategories | Authorized expenditure categories |
blocked_keywords | array | Blocking expenses by keywords |
authorization_merchants | array | Allow only certain merchants |
authorized_mid | array of AuthorizedMid | Allow only certain merchants per Merchant ID |
auto_block_spent | AutoBlockSpent | Automatic blocking on spending threshold |
limit_transaction | PeriodicLimitTransactions | Number of transactions allowed |
blocked_countries | array | Blocking expenses by country (use country codes) |
check_countries | array | Blocking expenses by country (use country codes) |
initial_amount | float | The card limit |
alert_card_used_enabled | boolean | Email alert sent to account owner when card is used |
Recurring virtual card
Settings for a recurring virtual card.
Property | Type | Description |
---|---|---|
fx | boolean | Payments in foreign currencies |
proof_required | boolean | Document proof required on operations |
proof_required_delay | string | Delay on proof document required |
payment | PeriodicLimitAmount | Payments limits (withdrawal exclued) |
periodicity | string | Periodicity enabled on the card. The payment field is used to set the amount on the period enabled. |
display_limit | boolean | Display limits on card holder view |
alert_limit_enabled | boolean | Mail alert when a limit is reached |
alert_spent | AlertSpent | Mail alert on spending threshold alert |
authorization_range | AuthorizationRange | Days and time slots allowed |
non_working_day | boolean | Payments on non working days (public holidays and week-ends) |
authorization_categories | AuthorizationCategories | Authorized expenditure categories |
blocked_keywords | array | Blocking expenses by keywords |
authorized_mid | array of AuthorizedMid | Allow only certain merchants per Merchant ID |
authorization_merchants | array | Allow only certain merchants |
auto_block_spent | AutoBlockSpent | Automatic blocking on spending threshold |
limit_transaction | PeriodicLimitTransactions | Number of transactions allowed |
blocked_countries | array | Blocking expenses by country (use country codes) |
check_countries | array | Blocking expenses by country (use country codes) |
initial_amount | float | The card limit |
The proof_required_delay object
Values for the field proof_required_delay
.
Value | Description |
---|---|
instant |
Proof required after an operation |
one_day |
Proof required one day after an operation |
one_week |
Proof required one week after an operation |
The PeriodicLimitAmount object
This object used to define periodic amount limits on the card.
Property | Type | Description |
---|---|---|
daily | LimitAmount | Limit on daily period |
weekly | LimitAmount | Limit on weekly period |
monthly | LimitAmount | Limit on monthly period |
annually | LimitAmount | Limit on annually period |
The LimitAmount object
This object is used to define amount limits on card.
Property | Type | Description |
---|---|---|
enabled | boolean | Enable limit |
limit | float | Limit amount |
consumed | float | Amount consumed on period |
Periodicity
The card limits periodicity values. This field is used for recurring virtual cards.
The limits are set in the payment
field.
Value | Description |
---|---|
daily |
Periodicity is daily |
weekly |
Periodicity is weekly |
monthly |
Periodicity is monthly |
annually |
Periodicity is annually |
The Periodic limit_transaction object
This object used to define periodic transactions limits on card.
Property | Type | Description |
---|---|---|
daily | LimitTransactions | Limit on daily period |
weekly | LimitTransactions | Limit on weekly period |
monthly | LimitTransactions | Limit on monthly period |
annually | LimitTransactions | Limit on annually period |
The LimitTransactions object
This object used to define transactions limits on card.
Property | Type | Description |
---|---|---|
enabled | boolean | Enable limit |
limit | int | Number of transaction |
consumed | int | Number of transaction consumed |
The alter_spent object
This object is used to define an alert on spending threshold. When the amount is reached, an email is sent to the account owner.
Property | Type | Description |
---|---|---|
enabled | boolean | Enable alert |
limit | float | Limit amount |
The auto_block_spent object
This object is used to define the auto block setting. When the amount is reached, the card is locked.
Property | Type | Description |
---|---|---|
enabled | boolean | Enable auto lock. Card status is set at locked_service once limit amount is reached |
limit | float | Limit amount |
The authorization_range object
Define days and time slots allowed.
Property | Type |
---|---|
monday | AuthorizationDay |
tuesday | AuthorizationDay |
wednesday | AuthorizationDay |
thursday | AuthorizationDay |
friday | AuthorizationDay |
saturday | AuthorizationDay |
sunday | AuthorizationDay |
The authorization_day object
Define the time slots on a day.
Property | Type | Description |
---|---|---|
enabled | boolean | Card transactions enabled on this day |
start | string | Allowed range starts at hh:mm (ex: 08:00). If null the card is enabled since the beginning of the day (00h00) |
end | string | Allowed range ends at hh:mm (ex: 18:00). If null the card is enabled until the next the day (23h59) |
The authorization_categories object
Define the transaction category allowed.
Property | Type |
---|---|
achat | boolean |
alimentation | boolean |
services-contractuels | boolean |
voyage | boolean |
location-voiture | boolean |
hotel-logement | boolean |
transport | boolean |
telecom | boolean |
services | boolean |
commerce | boolean |
supermarche | boolean |
station-essence | boolean |
materiel | boolean |
restaurant | boolean |
retrait | boolean |
services-it | boolean |
services-postaux | boolean |
impots | boolean |
The authorized_mid object
Property | Type | Description |
---|---|---|
name | string | Label of the MID |
mid | string | MID value |
List of cards
Retrieves a list of cards of the account.
This endpoint uses the pagination system.
Code samples
curl -X GET https://api.staging.manager.one/cards \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
GET /cards
URL path parameters
Field | Type | Required | Default | Description |
---|---|---|---|---|
grp | string | false | null | Filter by group of cards (physical or virtual ). |
type | string | false | null | Filter by type of card. |
expiration_date | string | false | null | Filter by expiration date of the cards. |
expired | boolean | false | false | Retrieves card expired or blocked. |
expire_soon | boolean | false | false | Retrieves only physical cards that expires in less than 45 days and virtual cards that expires in less than 15 days. |
search | string | false | null | Search a card |
Example response
200 Response
[
{
"id": 1,
"uuid": "D990A451-A395-406F-B623-110A55C00396",
"type": "card",
"status": "active",
"reference": "MONE0189440",
"label": "Test card",
"expiration_date": "12/22",
"expiration_datefull": "31/12/22",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"digits": "123456******7890",
"metadata": [
{
"custom_field": "this is a custom field"
}
],
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont"
},
"settings": {
"nfc": true,
"magnetic_strip": true,
"fx": true,
"distance_selling": true,
"atm": true,
"proof_required": false,
"proof_required_delay": "instant",
"payment": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"withdrawal": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"display_limit": true,
"alert_limit_enabled": false,
"alert_spent": {
"enabled": false,
"limit": 0
},
"authorization_range": {
"monday": {
"enabled": true,
"start": "08:00",
"end": "17:00"
},
"tuesday": {
"enabled": true,
"start": null,
"end": null
},
"wednesday": {
"enabled": true,
"start": null,
"end": null
},
"thursday": {
"enabled": true,
"start": null,
"end": null
},
"friday": {
"enabled": true,
"start": null,
"end": null
},
"saturday": {
"enabled": false,
"start": null,
"end": null
},
"sunday": {
"enabled": false,
"start": null,
"end": null
}
},
"non_working_day": true,
"authorization_categories": {
"achat": true,
"alimentation": true,
"services-contractuels": true,
"voyage": true,
"location-voiture": true,
"hotel-logement": true,
"transport": true,
"telecom": true,
"services": true,
"commerce": true,
"supermarche": true,
"station-essence": true,
"materiel": true,
"restaurant": true,
"retrait": true,
"services-it": true,
"services-postaux": true,
"impots": true
},
"blocked_keywords": [],
"authorization_merchants": [],
"auto_block_spent": {
"enabled": false,
"limit": 0
},
"limit_transaction": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"blocked_countries": [],
"check_countries": [],
"automatic_renewal": true
},
"stop_payment_reason": "damaged",
"stop_payment_source": "service",
"stop_payment_at": 1618511773
},
{
"id": 2,
...
}
]
Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of cards | Array of card objects |
403 | Forbidden | Not authorized | ForbiddenHttpException |
400 | Invalid group of card | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Retrieve card
Retrieves a card of the account.
Code samples
curl -X GET https://api.staging.manager.one/cards/D990A451-A395-406F-B623-110A55C00396 \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
GET /cards/{id}
Parameter {id} is deprecated, use the parameter {uuid} instead.
GET /cards/{uuid}
URL path parameters
Field | Type | Required | Description |
---|---|---|---|
id |
integer | true | The database id of the card |
uuid | string | true | Unique identifier of the card |
Example response
200 Response
{
"id": 1,
"uuid": "D990A451-A395-406F-B623-110A55C00396",
"type": "card",
"status": "active",
"reference": "MONE0189440",
"label": "Test card",
"expiration_date": "12/22",
"expiration_datefull": "31/12/22",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"digits": "123456******7890",
"metadata": [
{
"custom_field": "this is a custom field"
}
],
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont"
},
"settings": {
"nfc": true,
"magnetic_strip": true,
"fx": true,
"distance_selling": true,
"atm": true,
"proof_required": false,
"proof_required_delay": "instant",
"payment": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"withdrawal": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"display_limit": true,
"alert_limit_enabled": false,
"alert_spent": {
"enabled": false,
"limit": 0
},
"authorization_range": {
"monday": {
"enabled": true,
"start": "08:00",
"end": "17:00"
},
"tuesday": {
"enabled": true,
"start": null,
"end": null
},
"wednesday": {
"enabled": true,
"start": null,
"end": null
},
"thursday": {
"enabled": true,
"start": null,
"end": null
},
"friday": {
"enabled": true,
"start": null,
"end": null
},
"saturday": {
"enabled": false,
"start": null,
"end": null
},
"sunday": {
"enabled": false,
"start": null,
"end": null
}
},
"non_working_day": true,
"authorization_categories": {
"achat": true,
"alimentation": true,
"services-contractuels": true,
"voyage": true,
"location-voiture": true,
"hotel-logement": true,
"transport": true,
"telecom": true,
"services": true,
"commerce": true,
"supermarche": true,
"station-essence": true,
"materiel": true,
"restaurant": true,
"retrait": true,
"services-it": true,
"services-postaux": true,
"impots": true
},
"blocked_keywords": [],
"authorization_merchants": [],
"auto_block_spent": {
"enabled": false,
"limit": 0
},
"limit_transaction": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"blocked_countries": [],
"check_countries": [],
"automatic_renewal": true
},
"stop_payment_reason": null,
"stop_payment_source": null,
"stop_payment_at": null
}
Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The card | The card object |
404 | Not found | Card not found | NotFoundHttpException |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Settings
Uses this endpoint to update the card settings, like the limits, security settings or proof required option.
Code samples
curl -X PUT https://api.staging.manager.one/cards/D990A451-A395-406F-B623-110A55C00396/settings \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
PUT /cards/{id}/settings
Parameter {id} is deprecated, use the parameter {uuid} instead.
PUT /cards/{uuid}/settings
Body parameter
{
"limit_transaction": {
"weekly": {
"enabled": true,
"limit": 10,
}
},
"fx": false,
"proof_required": true,
"proof_required_delay": "one_day"
}
URL path parameters
Field | Type | Required | Description |
---|---|---|---|
id |
integer | true | The database id of the card |
uuid | string | true | Unique identifier of the card |
Body parameters
Send the settings object fields to update.
Example response
200 Response
{
"nfc": true,
"magnetic_strip": true,
"fx": false,
"distance_selling": true,
"atm": true,
"proof_required": true,
"proof_required_delay": "one_day",
"payment": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"withdrawal": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"display_limit": true,
"alert_limit_enabled": false,
"alert_spent": {
"enabled": false,
"limit": 0
},
"authorization_range": {
"monday": {
"enabled": true,
"start": "08:00",
"end": "17:00"
},
"tuesday": {
"enabled": true,
"start": null,
"end": null
},
"wednesday": {
"enabled": true,
"start": null,
"end": null
},
"thursday": {
"enabled": true,
"start": null,
"end": null
},
"friday": {
"enabled": true,
"start": null,
"end": null
},
"saturday": {
"enabled": false,
"start": null,
"end": null
},
"sunday": {
"enabled": false,
"start": null,
"end": null
}
},
"non_working_day": true,
"authorization_categories": {
"achat": true,
"alimentation": true,
"services-contractuels": true,
"voyage": true,
"location-voiture": true,
"hotel-logement": true,
"transport": true,
"telecom": true,
"services": true,
"commerce": true,
"supermarche": true,
"station-essence": true,
"materiel": true,
"restaurant": true,
"retrait": true,
"services-it": true,
"services-postaux": true,
"impots": true
},
"blocked_keywords": [],
"authorization_merchants": [],
"auto_block_spent": {
"enabled": false,
"limit": 0
},
"limit_transaction": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": true,
"limit": 10,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"blocked_countries": [],
"check_countries": [],
"automatic_renewal": true,
"authorized_mid": [
{
"name": "Air France",
"mid": "ABE1334"
},
{
"name": "Delta Air Lines",
"mid": "4365FD7"
},
{
"name": "Lufthansa",
"mid": "536FD5G"
}
]
}
Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The settings object | Settings object |
404 | Not found | Card not found | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Order card
Uses this endpoint to order a card.
Code samples
curl -X POST https://api.staging.manager.one/cards \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
POST /cards
Body parameter
{
"type": "card",
"label": "mon label",
"months_before_expiration": 12,
"address": {
"street": "130 rue de la pompe",
"details": "Door code: 1234, second floor",
"zip": "75116",
"city": "Paris",
"country": "FR",
"add_company_name": true
},
"settings": {
"authorization_range": {
"monday": {
"enabled": true,
"start": null,
"end": null
},
"tuesday": {
"enabled": true,
"start": null,
"end": null
},
"wednesday": {
"enabled": true,
"start": null,
"end": null
},
"thursday": {
"enabled": true,
"start": null,
"end": null
},
"friday": {
"enabled": true,
"start": null,
"end": null
},
"saturday": {
"enabled": true,
"start": null,
"end": null
},
"sunday": {
"enabled": true,
"start": null,
"end": null
}
},
"authorization_mcc": {
"retrait": true
},
"non_working_day": true,
"nfc": true,
"distance_selling": true,
"magnetic_strip": true,
"fx": true,
"limit_transaction": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"proof_required": false,
"proof_required_delay": "instant",
"payment": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"withdrawal": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
}
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
}
}
}
Body parameters
Field | Type | Required | Default | Description |
---|---|---|---|---|
type | Card types | false | Physical card | Type of the card |
label | string | false | Label of the card | |
months_before_expiration | Available expiration dates values | Only for virtual cards | 48 months for physical cards | Number of months before card expiration |
user_id | integer | false | Id of the user who owns the account to which the card will be attached | ID of an existing user that will be attached to the card |
address | Address | Only for physical cards | Card holder address (for delivery) | |
settings | CardSettings | false | Default settings depending of the card type | Card Settings |
Example response
201 Response
{
"id": 1,
"uuid": "D990A451-A395-406F-B623-110A55C00396",
"type": "card",
"status": "pending",
"reference": "MONE0189440",
"label": "Test card",
"expiration_date": "12/22",
"expiration_datefull": "31/12/22",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"digits": "123456******7890",
"metadata": [
{
"custom_field": "this is a custom field"
}
],
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont"
},
"settings": {
"nfc": true,
"magnetic_strip": true,
"fx": true,
"distance_selling": true,
"atm": true,
"proof_required": false,
"proof_required_delay": "instant",
"payment": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"withdrawal": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"display_limit": true,
"alert_limit_enabled": false,
"alert_spent": {
"enabled": false,
"limit": 0
},
"authorization_range": {
"monday": {
"enabled": true,
"start": "08:00",
"end": "17:00"
},
"tuesday": {
"enabled": true,
"start": null,
"end": null
},
"wednesday": {
"enabled": true,
"start": null,
"end": null
},
"thursday": {
"enabled": true,
"start": null,
"end": null
},
"friday": {
"enabled": true,
"start": null,
"end": null
},
"saturday": {
"enabled": false,
"start": null,
"end": null
},
"sunday": {
"enabled": false,
"start": null,
"end": null
}
},
"non_working_day": true,
"authorization_categories": {
"achat": true,
"alimentation": true,
"services-contractuels": true,
"voyage": true,
"location-voiture": true,
"hotel-logement": true,
"transport": true,
"telecom": true,
"services": true,
"commerce": true,
"supermarche": true,
"station-essence": true,
"materiel": true,
"restaurant": true,
"retrait": true,
"services-it": true,
"services-postaux": true,
"impots": true
},
"blocked_keywords": [],
"authorization_merchants": [],
"auto_block_spent": {
"enabled": false,
"limit": 0
},
"limit_transaction": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
},
},
"blocked_countries": [],
"check_countries": [],
"automatic_renewal": true
},
"stop_payment_reason": null,
"stop_payment_source": null,
"stop_payment_at": null,
"address": {
"street": "130 rue de la pompe",
"details": "Door code: 1234, second floor",
"zip": "75116",
"city": "Paris",
"country": "FR",
"add_company_name": true
}
}
Response
Status | Meaning | Description | Schema |
---|---|---|---|
201 | OK | The created card | The card object |
404 | Not found | The account doesn't exists | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Activate card
Use this endpoint to activate a physical card.
Once activated, the card holder will be able to use his card.
Code samples
curl -X POST https://api.staging.manager.one/cards/898DDBFD-AC1A-4C01-9365-EDFF6995BBC9/activate \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
POST /cards/{uuid}/activate
Body parameter
{
"last_digits": "6450"
}
URL path parameters
Field | Type | Required | Description |
---|---|---|---|
uuid | string | true | The database uuid of the card |
Body parameters
Field | Type | Required | Description |
---|---|---|---|
last_digits | integer | true | The last digits allowing the activation of the card |
Example response
200 Response
{
"id": 1,
"uuid": "D990A451-A395-406F-B623-110A55C00396",
"type": "card",
"status": "active",
"reference": "MONE0189440",
"label": "Test card",
"expiration_date": "12/22",
"expiration_datefull": "31/12/22",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"digits": "123456******7890",
"metadata": [
{
"custom_field": "this is a custom field"
}
],
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont"
},
"settings": {
"nfc": true,
"magnetic_strip": true,
"fx": true,
"distance_selling": true,
"atm": true,
"proof_required": false,
"proof_required_delay": "instant",
"payment": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"withdrawal": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"display_limit": true,
"alert_limit_enabled": false,
"alert_spent": {
"enabled": false,
"limit": 0
},
"authorization_range": {
"monday": {
"enabled": true,
"start": "08:00",
"end": "17:00"
},
"tuesday": {
"enabled": true,
"start": null,
"end": null
},
"wednesday": {
"enabled": true,
"start": null,
"end": null
},
"thursday": {
"enabled": true,
"start": null,
"end": null
},
"friday": {
"enabled": true,
"start": null,
"end": null
},
"saturday": {
"enabled": false,
"start": null,
"end": null
},
"sunday": {
"enabled": false,
"start": null,
"end": null
}
},
"non_working_day": true,
"authorization_categories": {
"achat": true,
"alimentation": true,
"services-contractuels": true,
"voyage": true,
"location-voiture": true,
"hotel-logement": true,
"transport": true,
"telecom": true,
"services": true,
"commerce": true,
"supermarche": true,
"station-essence": true,
"materiel": true,
"restaurant": true,
"retrait": true,
"services-it": true,
"services-postaux": true,
"impots": true
},
"blocked_keywords": [],
"authorization_merchants": [],
"auto_block_spent": {
"enabled": false,
"limit": 0
},
"limit_transaction": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"blocked_countries": [],
"check_countries": [],
"automatic_renewal": true
},
"stop_payment_reason": null,
"stop_payment_source": null,
"stop_payment_at": null
}
Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The card | The card object |
404 | Not found | Card not found | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Available expiration dates
Uses this endpoint to retrieve available card expiration dates.
Code samples
curl -X GET https://api.staging.manager.one/available-expiration-dates?card_type=virtual_card \
Request
GET /cards/available-expiration-dates
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
card_type | query | string | false | virtual card type only (not physical), see in card type |
Example response
200 Response
[
{
"value": 1,
"expiration_date": "2021-08-31"
},
{
"value": 6,
"expiration_date": "2022-01-31"
},
{
"value": 12,
"expiration_date": "2022-07-31"
},
{
"value": 24,
"expiration_date": "2023-07-31"
},
{
"value": 36,
"expiration_date": "2024-07-31"
},
{
"value": 48,
"expiration_date": "2025-07-31"
}
]
Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of available expiration dates | Array of card available expiration dates |
400 | Invalid card type | Error in request | BadRequestHttpException |
Virtual card available expiration dates
Property | Type | Description |
---|---|---|
value | integer | number of available months |
expiration_date | string | card expiration date |
Block card
Uses this endpoint to block a card.
The card status will be set to blocked
, the card will be permanently non-functional and will not be able to transit to any other status.
Refunds can still be completed after a card is blocked.
Code samples
curl -X PATCH https://api.staging.manager.one/cards/D990A451-A395-406F-B623-110A55C00396/block \
-H 'Accept: application/json' \
-H 'Authorization:Bearer ACCESS_TOKEN'
-H 'X-Mone-Account-ID: a81fda14-9475-484a-b7a8-7b3ec24e0470'
Request
PATCH /cards/{id}/block
Parameter {id} is deprecated, use the parameter {uuid} instead.badge
PATCH /cards/{uuid}/block
Body parameter
{
"reason": "stolen"
}
URL path parameters
Field | Type | Required | Description |
---|---|---|---|
id |
integer | true | The database id of the card |
uuid | string | true | Unique identifier of the card |
Body parameters
Field | Type | Required | Default | Description |
---|---|---|---|---|
reason | string | false | lost for physical cards and deleted for virtual cards |
The block reason |
Physical card block reasons
Value | Description |
---|---|
lost |
The card has been lost |
stolen |
The card has been stolen |
employee_left |
The card holder left the company |
damaged |
The card is damaged |
Virtual cards block reasons
The default reason deleted
is the only one available.
Example response
200 Response
{
"id": 1,
"uuid": "D990A451-A395-406F-B623-110A55C00396",
"type": "card",
"status": "blocked",
"reference": "MONE0189440",
"label": "Test card",
"expiration_date": "12/22",
"expiration_datefull": "31/12/22",
"first_name": "Jean",
"last_name": "Dupont",
"last_digits": "9405",
"digits": "123456******7890",
"metadata": [
{
"custom_field": "this is a custom field"
}
],
"user": {
"uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
"gender_label": "M",
"first_name": "Jean",
"last_name": "Dupont"
},
"settings": {
"nfc": true,
"magnetic_strip": true,
"fx": true,
"distance_selling": true,
"atm": true,
"proof_required": false,
"proof_required_delay": "instant",
"payment": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"withdrawal": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"display_limit": true,
"alert_limit_enabled": false,
"alert_spent": {
"enabled": false,
"limit": 0
},
"authorization_range": {
"monday": {
"enabled": true,
"start": "08:00",
"end": "17:00"
},
"tuesday": {
"enabled": true,
"start": null,
"end": null
},
"wednesday": {
"enabled": true,
"start": null,
"end": null
},
"thursday": {
"enabled": true,
"start": null,
"end": null
},
"friday": {
"enabled": true,
"start": null,
"end": null
},
"saturday": {
"enabled": false,
"start": null,
"end": null
},
"sunday": {
"enabled": false,
"start": null,
"end": null
}
},
"non_working_day": true,
"authorization_categories": {
"achat": true,
"alimentation": true,
"services-contractuels": true,
"voyage": true,
"location-voiture": true,
"hotel-logement": true,
"transport": true,
"telecom": true,
"services": true,
"commerce": true,
"supermarche": true,
"station-essence": true,
"materiel": true,
"restaurant": true,
"retrait": true,
"services-it": true,
"services-postaux": true,
"impots": true
},
"blocked_keywords": [],
"authorization_merchants": [],
"auto_block_spent": {
"enabled": false,
"limit": 0
},
"limit_transaction": {
"daily": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"weekly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"monthly": {
"enabled": false,
"limit": 0,
"consumed": 0
},
"annually": {
"enabled": false,
"limit": 0,
"consumed": 0
}
},
"blocked_countries": [],
"check_countries": [],
"automatic_renewal": true,
},
"stop_payment_reason": "damaged",
"stop_payment_source": "service",
"stop_payment_at": 1618511773
}
Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The card | The card object |
404 | Not found | Card not found | NotFoundHttpException |
422 | Unprocessable Entity | Validation error | FieldsValidationErrors |
500 | Internal Server Error | Unknown error | ServerErrorHttpException |
Webhook
A webhook is used to notify a third party application that an event has occurred.
In this case, our app sends a POST HTTP request to the URL that you specified.
If you wish to create a webhook, please contact us at support@manager.one
A webhook workflow is divided into 4 steps:
A notifiable event occurs in our system.
We check if a webhook subscribed to this event exists for your service.
We send a POST HTTP request, containing a webhook event, to your specific webhook URL
We wait for OK response from your system
Signature Verification
Webhook request example
POST https://your-webhook-url
Content-Length: 425
User-agent: manager.one
Date: Fri, 16 Apr 2021 13:23:24 GMT
Content-Type: application/json
Host: api-manager.one
Digest: SHA-256=uhq/549YGIpWZcbTZFdWZKkhgQdMxxBR6bilxXBnuBs=
Signature: keyId="secret", algorithm="hmac-sha256", headers="content-length user-agent content-type host (request-target) date digest", signature="pkLgUJmM5FixErazNavlwWizmDZdTDBcMZb9xY3ZUv8="
{
"event":"after_credit_card_operation",
"event_uuid":"F29908D0-F329-45B1-9939-FA7FDE3CEE4A",
"id":11,
"created_at":1675958350,
"executed_at":null,
"value_date":"2023-02-10",
"accounting_date":null,
"status":"rejected",
"amount":100,
"currency":"EUR",
"fx_amount":100,
"fx_currency":"EUR",
"fx_rate":1,
"fx_fees":0,
"credit_card_mcc":"6411",
"type":"debit",
"label":"AUTH, Paris, 75018, FRA",
"account_id":"1D76A945-CC04-4688-AF0A-C6F5515485A6",
"card_id":40,
"user_uuid":"66F1B52D-458D-4558-9B3E-65FBBB21888F",
"user_email":"buck.danny@manager.one",
"timeout":false,
"parent_operation_id":null,
"category":"credit_card",
"detail":{
"authorization":{
"card_acceptor":{
"address":null,
"city":"Paris",
"country_code":"FRA",
"name":"AUTH",
"postal_code":"75018"
},
"is_preauthorization":false,
"pos_terminal_id":"194E7D82",
"device":{
"location":null
},
"reject_reason":{
"value":"PAYMENT_LIMIT_EXCEED",
"label":"Le plafond de paiement mensuel de votre carte est d\\u00e9pass\\u00e9."
}
}
}
}
To secure communications between the two systems, we use HTTP signature (draft) combined with Keyed-Hashing for Message Authentication mechanism (HMAC-SHA256).
You need to verify the signature in order to validate the integrity of the message (Verifying a signature).
HMAC signature algorithm is a message authentication code obtained by running a cryptographic hash function (SHA256 in our case) over the data and a shared secret key.
Card operation events
We support two types of card operation events :
After card operation
Event name : after_credit_card_operation
Just after a card transaction, a card operation is created and this event is triggered.
In the payment ecosystem this is called an authorization.
This operation is temporary, which means it can be updated or cancelled.
Clear card operation
Event name : clear_credit_card_operation
This is the process of finalizing an operation, when the merchant capture the funds.
In the payment ecosystem this is called a clearing.
This event is triggered when :
an authorization is updated, for instance the status is set to
done
or the amount is updated. An operation can be updated until it reaches the final status. You can identify the operation updated with the fieldid
.a new operation linked to an authorization is created. In fact, a single authorization can be divided into multiple operations when the fund requests occurs. The field
parent_operation_id
links the operation with the authorization.
Most payments follow this process, the operation is created with an authorization and then a clearing updates the operation, but depending upon the payment method issuer, the fund requests can occur in a single event. In this case only the clear_credit_card_operation is triggered.
Card operation event object
Webhook request example
POST https://your-webhook-url
Content-Length: 425
User-agent: manager.one
Date: Fri, 16 Apr 2021 13:23:24 GMT
Content-Type: application/json
Host: api-manager.one
Digest: SHA-256=uhq/549YGIpWZcbTZFdWZKkhgQdMxxBR6bilxXBnuBs=
Signature: keyId="secret", algorithm="hmac-sha256", headers="content-length user-agent content-type host (request-target) date digest", signature="pkLgUJmM5FixErazNavlwWizmDZdTDBcMZb9xY3ZUv8="
{
"event":"after_credit_card_operation",
"event_uuid":"F29908D0-F329-45B1-9939-FA7FDE3CEE4A",
"id":11,
"created_at":1675958350,
"executed_at":null,
"value_date":"2023-02-10",
"accounting_date":null,
"status":"rejected",
"amount":100,
"currency":"EUR",
"fx_amount":100,
"fx_currency":"EUR",
"fx_rate":1,
"fx_fees":0,
"credit_card_mcc":"6411",
"type":"debit",
"label":"AUTH, Paris, 75018, FRA",
"account_id":"1D76A945-CC04-4688-AF0A-C6F5515485A6",
"card_id":40,
"user_uuid":"66F1B52D-458D-4558-9B3E-65FBBB21888F",
"user_email":"buck.danny@manager.one",
"timeout":false,
"parent_operation_id":null,
"category":"credit_card",
"detail":{
"authorization":{
"card_acceptor":{
"address":null,
"city":"Paris",
"country_code":"FRA",
"name":"AUTH",
"postal_code":"75018"
},
"is_preauthorization":false,
"pos_terminal_id":"194E7D82",
"device":{
"location":null
},
"reject_reason":{
"value":"PAYMENT_LIMIT_EXCEED",
"label":"Le plafond de paiement mensuel de votre carte est d\\u00e9pass\\u00e9."
}
}
}
}
This is the object sent by our system when a card operation event occurs.
Parameter {card_id} is deprecated, use the parameter {card_uuid} instead.
All the events linked to an operation can be retrieved by calling operation endpoints.
Name | Type | Description |
---|---|---|
event | string | Card operation event name |
event_uuid | uuid | Event uuid |
id | integer | Operation id |
created_at | integer | Operation creation date |
executed_at | integer | Operation update date |
status | string | Operation status |
amount | integer | Operation amount |
currency | string | Operation currency (account curreny) |
fx_amount | float | Operation original amount |
fx_currency | string | Operation original currency |
fx_rate | float | Operation conversion rate |
fx_fees | float | Operation fees |
credit_card_mcc | string | Operation card mcc |
type | string | Operation type |
label | string | Operation label |
card_id |
integer | Card id |
card_uuid | string | Unique identifier of the card |
account_id | uuid | Operation account uuid |
user_email | string | Operation user email |
parent_operation_id | integer | Parent operation id |
detail | OperationDetail | Details of the operation |
detail.cancellation_reason | string | Only if the operation status is cancelled , indicates the cancellation reason of the operation. |
detail.authorization | Authorization | Informations about authorization event |
detail.authorization.reject_reason | RejectReason | Reason for rejection of a card transaction |
timeout | boolean | Indicates if the authorization has timeout |
Card operation event name
Property | Value | Description |
---|---|---|
event | after_credit_card_operation | Card operation authorization event |
event | clear_credit_card_operation | Card operation clearing event |
Operation document events
Operation documents are documents attached by a user or a service on an operation to justify the expense.
Be aware that if someone replaces the file of an operation document, it doesn't update the document.
The previous operation document will be deleted and a new one will be created.
Therefore, you will receive two webhooks events, an operation document deleted and an operation document uploaded event.
We support 3 types of operation document events :
Operation document uploaded
Event name : operation_document_uploaded
This event is triggered just after a document upload by a user or a service.
Operation document updated
Event name : operation_document_updated
This event is triggered just after a document update by a user or a service. Operation document update can be either an update of the document name, score but also validation or invalidation of the document justifying the expense.
Operation document deleted
Event name : operation_document_deleted
This event is triggered just after a document is deleted by a user or a service.
Operation document event object
Webhook request example
POST https://your-webhook-url
Content-Length: 425
User-agent: manager.one
Date: Fri, 16 Apr 2021 13:23:24 GMT
Content-Type: application/json
Host: api-manager.one
Digest: SHA-256=uhq/549YGIpWZcbTZFdWZKkhgQdMxxBR6bilxXBnuBs=
Signature: keyId="secret", algorithm="hmac-sha256", headers="content-length user-agent content-type host (request-target) date digest", signature="pkLgUJmM5FixErazNavlwWizmDZdTDBcMZb9xY3ZUv8="
{
"event":"operation_document_uploaded",
"event_uuid":"1650DECD-9F72-4873-AB39-01939C820F41",
"operation_document":{
"id":6,
"updated_at":1650984823,
"name":"justificatif.pdf",
"filename":"justificatif.pdf",
"mime_type":"application/pdf",
"size":34390,
"url":"https://api.staging.manager.one/operations/CAA974F3-FB15-4847-AE0A-BB62D43F651A/documents/6",
"score":null,
"valid":false,
"user": {
"uuid":"E118EF5B-7B0F-43FF-B5FB-8F470F879AC2",
"gender_label":"Monsieur",
"first_name":"Jerome",
"last_name":"Lelouche",
"email":"jerome.lelouhe@manager.one",
"phone":"+33623456789",
"partner_id":null
},
"operation_id":3,
"account_id":"a81fda14-9475-484a-b7a8-7b3ec24e0470"
}
}
This is the object sent by our system when a document of an operation is created, updated or deleted.
Name | Type | Description |
---|---|---|
event | string | Operation document event name |
event_uuid | uuid | Event uuid |
operation_document | OperationDocumentWebhook Object | Operation document webhook object |
Operation document webhook object
Name | Type | Description |
---|---|---|
id | integer | Id |
updated_at | integer | Update date |
name | string | Name |
filename | string | Filename |
mime_type | string | Mime type |
size | integer | Size |
url | string | Download url |
score | integer | Score |
valid | boolean | Validity |
user | User Object | The user who last modified the document |
operation_id | integer | Operation Id to which the document is attached |
account_id | uuid | Account Id to which the document is attached |
Operation document event name
Property | Value | Description |
---|---|---|
event | operation_document_uploaded | Operation document upload event |
event | operation_document_updated | Operation document update event |
event | operation_document_deleted | Operation document delete event |
Incoming transfer event
Whenever we are receiving an incoming bank transfer, we will be firing a webhook event.
Be aware that this event will only be fired when we are getting confirmation that the transfer actually happened.
Webhook request example
POST https://your-webhook-url
Content-Length: 425
User-agent: manager.one
Date: Fri, 16 Apr 2021 13:23:24 GMT
Content-Type: application/json
Host: api-manager.one
Digest: SHA-256=uhq/549YGIpWZcbTZFdWZKkhgQdMxxBR6bilxXBnuBs=
Signature: keyId="secret", algorithm="hmac-sha256", headers="content-length user-agent content-type host (request-target) date digest", signature="pkLgUJmM5FixErazNavlwWizmDZdTDBcMZb9xY3ZUv8="
{
"id":36,
"created_at":1652173602,
"executed_at":1652173602,
"value_date":"2022-05-10",
"accounting_date":"2022-05-10",
"mid":null,
"status":"done",
"label":"Operation fees",
"type":"debit",
"category":"fees",
"category_label":"Frais Bancaires",
"afb_code":33,
"amount":0.01,
"currency":"EUR",
"employee_number":null,
"beneficiary":null,
"comment":null,
"documents":[
{
"id":10,
"updated_at":1275429716,
"name":"avatar",
"filename":"avatar",
"mime_type":"image/png",
"size":null,
"url":"http://staging.manager.one/operations/92A3F34C-4FF5-4F2F-BF2C-A9F3FDF2FD8F/documents/10",
"score":null,
"valid":fa