NAV
Staging Environment

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 :

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:

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.

alt text

Then, he chooses the bank account to connect with your service.

alt text

And he authorizes your service.

alt text

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

Connect

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_afterparameter

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
email 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

Operation object

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 :

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

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
  }
}



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

Operation Category object

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

Operation Category object

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

Operation Category object

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 deprecated 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:

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 deprecated 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 deprecated
(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
email 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 deprecated 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
email 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

Beneficiary

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

Beneficiary

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
email 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

Beneficiary

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 deprecated 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 deprecated 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} deprecated

Parameter {id} is deprecated, use the parameter {uuid} instead.

GET /cards/{uuid}

URL path parameters

Field Type Required Description
id deprecated 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 deprecated

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 deprecated 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 deprecated

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 deprecated 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:

  1. A notifiable event occurs in our system.

  2. We check if a webhook subscribed to this event exists for your service.

  3. We send a POST HTTP request, containing a webhook event, to your specific webhook URL

  4. 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 :


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 deprecated 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