# Create terms

`POST /v2/terms`

Endpoints: `https://{tenant}.fuse.server.test.neobits.ai/v2/terms`, `https://{tenant}.fuse.server.prod.neobits.ai/v2/terms`
OpenAPI document: https://docs.neobits.ai/openapi/fuse.json

Authentication: `bearer` (Bearer token authentication using OAuth 2.0 client credentials flow.)

Saves the interest rates and repayment durations Fuse uses for your estimates, from `startDate`. Terms starting after the active terms began end those terms at that date; a future `startDate` schedules them. Requires `terms:write`. Returns 409 when `startDate` overlaps other terms, or when scheduled terms exist that must be deleted first.

## Request body

Required: yes

Content type: `application/json`

Schema (JSON Schema):

```json
{"title":"CreateTermsRequestBody","type":"object","required":["terms","startDate"],"properties":{"terms":{"title":"FuseTermsConfig","type":"object","required":["chargeCard","creditCard","otherDebts","repaymentLoan","movables","mortgages","studentLoans"],"properties":{"chargeCard":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"creditCard":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"otherDebts":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"repaymentLoan":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"movables":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"mortgages":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"studentLoans":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}}},"example":{"chargeCard":{"rate":0.18,"duration":60},"creditCard":{"rate":0.18,"duration":60},"otherDebts":{"rate":0.18,"duration":60},"repaymentLoan":{"rate":0.15,"duration":60},"movables":{"rate":0.0629,"duration":96},"mortgages":{"rate":0.05,"duration":300},"studentLoans":{"rate":0.0395,"duration":240}}},"startDate":{"type":"string","format":"date-time","description":"When these terms take effect.","example":"2027-01-01T00:00:00.000Z"}}}
```

Example:

```json
{
  "terms": {
    "chargeCard": {
      "rate": 0.18,
      "duration": 60
    },
    "creditCard": {
      "rate": 0.18,
      "duration": 60
    },
    "otherDebts": {
      "rate": 0.18,
      "duration": 60
    },
    "repaymentLoan": {
      "rate": 0.15,
      "duration": 60
    },
    "movables": {
      "rate": 0.0629,
      "duration": 96
    },
    "mortgages": {
      "rate": 0.05,
      "duration": 300
    },
    "studentLoans": {
      "rate": 0.0395,
      "duration": 240
    }
  },
  "startDate": "2027-01-01T00:00:00.000Z"
}
```

## Example request

```bash
curl --request POST \
  --url https://your-tenant.fuse.server.test.neobits.ai/v2/terms \
  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"terms":{"chargeCard":{"rate":0.18,"duration":60},"creditCard":{"rate":0.18,"duration":60},"otherDebts":{"rate":0.18,"duration":60},"repaymentLoan":{"rate":0.15,"duration":60},"movables":{"rate":0.0629,"duration":96},"mortgages":{"rate":0.05,"duration":300},"studentLoans":{"rate":0.0395,"duration":240}},"startDate":"2027-01-01T00:00:00.000Z"}'
```

## Responses

### 201 Created

| Header | Description |
| --- | --- |
| `Content-Type` | The content type of the response. |
| `X-Request-ID` | UUID generated on each request. Provide this id to customer support if an error occurs. |

Content type: `application/json`

Schema (JSON Schema):

```json
{"title":"FuseTerm","type":"object","required":["id","terms","startDate","endDate","status","createdAt","updatedAt"],"properties":{"id":{"type":"string","format":"uuid","example":"0195fc07-17e7-71e7-b127-70c0a81db35a"},"terms":{"title":"FuseTermsConfig","type":"object","required":["chargeCard","creditCard","otherDebts","repaymentLoan","movables","mortgages","studentLoans"],"properties":{"chargeCard":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"creditCard":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"otherDebts":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"repaymentLoan":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"movables":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"mortgages":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}},"studentLoans":{"title":"FuseTermItem","type":"object","required":["rate","duration"],"properties":{"rate":{"type":"number","exclusiveMinimum":0,"maximum":1,"description":"Annual interest rate as a fraction, so `0.05` is 5%.","example":0.05},"duration":{"type":"number","exclusiveMinimum":0,"description":"Repayment duration in months.","example":300}}}},"example":{"chargeCard":{"rate":0.18,"duration":60},"creditCard":{"rate":0.18,"duration":60},"otherDebts":{"rate":0.18,"duration":60},"repaymentLoan":{"rate":0.15,"duration":60},"movables":{"rate":0.0629,"duration":96},"mortgages":{"rate":0.05,"duration":300},"studentLoans":{"rate":0.0395,"duration":240}}},"startDate":{"type":"string","format":"date-time","description":"When these terms take effect.","example":"2027-01-01T00:00:00.000Z"},"endDate":{"type":["string","null"],"format":"date-time","description":"When these terms stop applying. Null while nothing replaces them.","example":null},"status":{"type":"string","enum":["ACTIVE","SUPERSEDED","SCHEDULED"],"description":"`ACTIVE` terms apply now, `SCHEDULED` terms start in the future and `SUPERSEDED` terms have ended.","example":"SCHEDULED"},"createdAt":{"type":"string","format":"date-time","example":"2026-11-05T10:00:00.000Z"},"updatedAt":{"type":"string","format":"date-time","example":"2026-11-05T10:00:00.000Z"}}}
```

Example:

```json
{
  "id": "0195fc07-17e7-71e7-b127-70c0a81db35a",
  "terms": {
    "chargeCard": {
      "rate": 0.18,
      "duration": 60
    },
    "creditCard": {
      "rate": 0.18,
      "duration": 60
    },
    "otherDebts": {
      "rate": 0.18,
      "duration": 60
    },
    "repaymentLoan": {
      "rate": 0.15,
      "duration": 60
    },
    "movables": {
      "rate": 0.0629,
      "duration": 96
    },
    "mortgages": {
      "rate": 0.05,
      "duration": 300
    },
    "studentLoans": {
      "rate": 0.0395,
      "duration": 240
    }
  },
  "startDate": "2027-01-01T00:00:00.000Z",
  "endDate": null,
  "status": "SCHEDULED",
  "createdAt": "2026-11-05T10:00:00.000Z",
  "updatedAt": "2026-11-05T10:00:00.000Z"
}
```

## Error responses

Error bodies follow the format in the [error reference](https://docs.neobits.ai/api-reference/errors.md), which lists every error code.

| Status | Meaning | Example body |
| --- | --- | --- |
| 400 | Bad Request | `{"timestamp":"2019-09-16T22:14:45.624Z","moreInfo":"https://docs.neobits.ai/","errors":[{"name":"BadRequest","code":"400-001","message":"Field 'ssn' is required"}]}` |
| 401 | Unauthorized | `{"timestamp":"2019-09-16T22:14:45.624Z","moreInfo":"https://docs.neobits.ai/","errors":[{"name":"Unauthorized","code":"401-000","message":"Client is not authenticated"}]}` |
| 403 | Forbidden | `{"timestamp":"2019-09-16T22:14:45.624Z","moreInfo":"https://docs.neobits.ai/","errors":[{"name":"Forbidden","code":"403-000","message":"Client does not have access to this resource"}]}` |
| 409 | Conflict | `{"timestamp":"2019-09-16T22:14:45.624Z","moreInfo":"https://docs.neobits.ai/","errors":[{"name":"Conflict","code":"409-000","message":"A resource with this identifier already exists"}]}` |
| 429 | Too Many Requests. When the rate limit rejects a request, the response carries `Retry-After` and only the `errors` field: no `timestamp`, `moreInfo` or `X-Request-ID`, as the request never reached the API. | `{"errors":[{"name":"TooManyRequests","code":"429-000","message":"Too many requests. Please try again later."}]}` |
| 500 | Internal Server Error | `{"timestamp":"2019-09-16T22:14:45.624Z","moreInfo":"https://docs.neobits.ai/","errors":[{"name":"InternalServerError","code":"500-000","message":"An unexpected internal error occurred"}]}` |
| 503 | Service Unavailable | `{"timestamp":"2019-09-16T22:14:45.624Z","moreInfo":"https://docs.neobits.ai/","errors":[{"name":"ServiceUnavailable","code":"503-000","message":"An error occurred while interacting with a third party service"}]}` |
| 504 | Gateway Timeout | `{"timestamp":"2019-09-16T22:14:45.624Z","moreInfo":"https://docs.neobits.ai/","errors":[{"name":"GatewayTimeout","code":"504-000","message":"The request timed out"}]}` |